ANNdotNET简介 是一个在。net平台上进行深度学习的开源项目。NET Framework和。NET Core)。该项目位于http://github.com/bhrnjica/anndotnet,更多信息请访问https://bhrnjica.net/anndotnet。 该项目有两个版本:GUI和CMD工具。该项目的主要目的是构建深度学习模型,而不因调试源代码和安装/更新丢失的包和环境而分心。用户不必担心应用程序使用的是哪个版本的ML引擎。换句话说,ANNdotNET在以下几种情况下是理想的: 更关注网络开发和培训过程使用经典桌面方法,而不是专注于编码,更少的时间花在调试源代码,更多的关注不同的配置和参数变异,适合工程师/用户不熟悉编程语言的支持,如果这个问题需要编码更高级的自定义模型,或培训过程,ANNdotNET CMD为这种实现提供了高水平的API,所有的ml配置文件生成的GUI工具,可以处理的CMD工具,反之亦然。 有了ANNdotNET GUI工具,用户可以为训练准备数据,通过执行几个动作:数据清理,特征选择,类别编码,缺失值处理,并创建训练和验证数据集之前,开始建立深度神经网络。一旦数据准备好了,用户就可以创建机器学习配置(mlconfig)文件,以便开始构建和训练深度神经网络。用户可以使用应用程序中实现的GUI工具处理以前的所有操作。 为了持久化关于数据准备和转换操作的信息,应用程序使用annproject文件类型,它包含关于原始数据集的信息,元数据信息和关于mlconfig文件的信息。 机器学习配置存储在带有mlconfig文件扩展名的独立文件中。有关ANNdotNET文件的更多信息,读者可以打开这个链接。下面的图片显示了ANNdotNET如何处理annproject和相应的机器学习配置在annproject: 可以看到,annproject可以由任意数量的mlconfig组成,这是处理ML项目时的典型场景。除非应用程序处于培训或评估模式,否则用户可以在任何时候在mlconfig之间切换。 ANNdotNET毫升引擎 ANNdotNET介绍了ANNdotNET机器学习引擎(MLEngine),它负责培训和评估mlconfig文件中定义的模型。ML引擎依赖于微软的Cognitive Toolkit, CNTK开源库,它被证明是深度学习最好的开源库之一。ML引擎通过所有的应用,展示了CNTK的所有优秀特性,例如GPU支持训练和评估、不同类型的学习者,同时也扩展了CNTK特性,增加了更多的评估功能(RMSE、MSE、分类精度、判定系数等),扩展了小批量源、训练器和评估模型。 ML引擎还包含神经网络层的实现,这应该是高级CNTK API,与Keras和其他基于python的深度学习API中的层实现非常相似。有了这个实现,ANNdotNET实现了可视化神经网络设计器,称为ANNdotNET NNDesigner,它允许用户设计任意大小和任意类型的层的神经网络配置。在第一个版本中实现了以下层: 归一化层——在到达网络之前,采用数值特征并对其值进行归一化。更多信息可以在这里找到。具有激活功能的密集经典神经网络层LSTM - LSTM层可选择窥孔和自稳定。嵌入-嵌入层,滴-滴层。 在未来的版本中会添加更多的层类型。 通过使用预定义层,可以简化神经网络的设计。通过这种方式,我们可以实现几乎任何网络,我们通常是通过源代码实现的。 如何使用ANNdotNET NNDesigner MLConfig创建后,用户可以打开它并开始构建神经网络。NNDesigner被放置在网络设置选项卡页面中。下图显示了网络设置选项卡页。 NNetwork设计器包含组合框与支持的NN层,和两个动作按钮添加和删除层在网络/从。添加和删除图层就像在列表框中添加和删除项目一样简单。为了添加一个图层,从组合框中选择项目,然后按下add按钮。要将该图层从网络中删除,点击列表框中的图层,按下remove按钮,确认删除。为了成功创建网络,必须创建列表中的最后一层,其输出维度必须与th上所示的输出层相同e窗口左侧,否则一旦开始培训,就会出现此信息的警告信息。 一旦将层添加到列表中,就必须对其进行配置。层配置取决于它的类型。除降层和归一化层外,每个层的主要参数是输出维数和激活函数。下面的文字解释了所有支持层的参数: 规范化层-不需要任何参数。下图显示了NNDesigner中的标准化项。您只能插入一个归一化层,它被放置在第一个位置。 下降层-需要百分比下降值,这是整数值。下面的图片显示了在NNDesigner中拖放层的样子。这一层没有任何约束。 嵌入层—只需要配置输出维度。该层没有任何约束。下面的图片显示了它在NNDesigner中的样子: 密集层-需要配置输出维度和激活功能。该层没有任何约束。 LSTM层-需要:输出和细胞尺寸,激活函数,和两个布尔参数,以启用窥视孔和自稳定变化的层。下图显示了LSTM项在NNDesigner中的外观。 LSTM层有一些约束,这些约束已经在代码中实现了。如果网络中增加了两个LSTM层,那么网络就变成了堆叠的LSTM,应该区别对待它们。而且,所有LSTM层都作为堆栈插入,它们不能插入到列表的不同位置。堆叠的LSTM层的实现将在后面显示。 不同的网络配置 在本节中,将列出各种网络配置,以便展示使用NNDesigner创建非常复杂的神经网络配置是多么容易。网络示例在预先计算的示例中实现,这些示例与默认的ANNdotNET安装包一起提供。 前馈网络 这个例子展示了如何实现前馈网络,有一个隐藏层和一个输出层,输出层是NNDesinger的最后一层。该示例是ANNdotNET安装包的一部分。 使用归一化层进行前馈 这个例子展示了以归一化层为第一层的前馈网络。这个配置的例子可以在ANNdotNET的安装包中找到。 具有嵌入层的前馈网络 在本例中,使用嵌入层来减少输入层的尺寸。网络配置3个嵌入层,1个隐藏层和1个输出层。该示例是ANNdotNET安装包的一部分。 深层神经网络 这个例子展示了深度神经网络的三种层次:嵌入层、下降层和密集层。该项目是ANNdotNET安装包的一部分。 LSTM深度神经网络 这个例子展示了如何配置基于LSTM的网络。该网络由归一化层、嵌入层、drop层、稠密层和LSTM层组成。该项目是ANNdotNET安装包的一部分。 堆叠LSTM神经网络 这是堆叠的LSTM网络的例子,由多个连接到堆栈的LSTM层组成。示例是安装包的一部分。 完整的示例列表可以在ANNdotNET开始页面上看到。为了打开示例,用户只需单击链接。希望这个项目对许多ml场景有用。 本文转载于:http://www.diyabc.com/frontweb/news29934.html

ANNdotNET中的视觉神经网络设计器的更多相关文章

  1. VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。

    原文:VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net ...

  2. How to: Create a Business Model in the XPO Data Model Designer 如何:在 XPO 数据模型设计器中创建业务模型

    This topic provides step-by-step instructions on how to use the XPO Data Model Designer in XAF appli ...

  3. 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

    企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...

  4. ActiveReports 9 新功能:可视化查询设计器(VQD)介绍

    在最新发布的ActiveReports 9报表控件中添加了多项新功能,以帮助你在更短的时间里创建外观绚丽.功能强大的报表系统,本文将重点介绍可视化数据查询设计器,无需手动编写任何SQL语句,主要内容如 ...

  5. 通过用 .NET 生成自定义窗体设计器来定制应用程序

    通过用 .NET 生成自定义窗体设计器来定制应用程序 https://www.microsoft.com/china/MSDN/library/netFramework/netframework/Cu ...

  6. winform无法查看设计器

    在代码中右键无法查看设计器.将无效的引用去除,重新生成即可.

  7. EF基础知识小记三(设计器=>数据库)

    本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1.通过EF设计器创建一个简单模型 (1).右键目标项目添加新建项 (2).选择ADO.Net ...

  8. 【Android】4.1 UI设计器

    分类:C#.Android.VS2015:创建日期:2016-02-06 开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述:二是用C#代码 ...

  9. .NET创建宿主设计器--DesignHost、DesignSurface.

    一个窗口在运行时,是这样的: 但是,在设计时,却远比这复杂的多,它需要一个设计器对象:它仅存在于设计时,并连接到运行时存在的对象.   宿主容器 我们可以看到每个窗体和按钮均有与之相关的设计器.这两个 ...

随机推荐

  1. HTTP协议中的提交方式和解释POST、GET、HEAD、PUT等

    最基本的方法有4种,分别是GET,POST,PUT,DELETE HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作 GET一般用于获取/查询资源信息,而PO ...

  2. 《Offer一箩筐》求职之前你必须知道的 4 件事!!

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」. 如果觉得 「不错」 的朋友,欢迎 「关注 + 留言 + 分享」,文末有完整的获取链接,您的支持是我前进的最大的动力! Hi~ 这里是 ...

  3. kali linux 开启ssh服务

    kali linux 一般默认不开启ssh服务,可使用命令查看ssh服务是否开启 命令:service ssh status 如果显示ssh服务没有开启需要修改ssh配置文件将ssh服务开启,kali ...

  4. 【极致丝滑】彻底摆脱编辑器插件,利用postcss灵活可控地转换px至vw

    背景 旧的rem适配方案(无论是直接使用rem,还是配合flexiblejs等lib库进行视口缩放)已经疲态尽显,且随着安卓高清屏的不断出现,同时data-dpr仍有进一步增加的可能性,rem显得并不 ...

  5. Minimizing maximizer(POJ 1769)

    原题如下: Minimizing maximizer Time Limit: 5000MS   Memory Limit: 30000K Total Submissions: 5104   Accep ...

  6. Robotframework自动化5-基础关键字介绍2

    一:时间 1.获取当前时间 Get time   2.获取当月时间    ${yyyy} ${mm} ${day} Get Time year,month,day${time} Catenate SE ...

  7. archaius(4) 属性对象

    讲完上一节,我们就可以使用合理的配置管理器或者实现自己的配置管理来管理我们的配置项了.archaius还提供了一种新的配置使用的方式. 动态属性对象 动态属性对象针对每个配置项以对象方式进行操作,并且 ...

  8. Hive使用Calcite CBO优化流程及SQL优化实战

    目录 Hive SQL执行流程 Hive debug简单介绍 Hive SQL执行流程 Hive 使用Calcite优化 Hive Calcite优化流程 Hive Calcite使用细则 Hive向 ...

  9. linux内存分配与回收

    前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后, ...

  10. Spark Extracting,transforming,selecting features

    Spark(3) - Extracting, transforming, selecting features 官方文档链接:https://spark.apache.org/docs/2.2.0/m ...