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. PHP to .NET Compiler

    官网 https://github.com/peachpiecompiler/peachpie 非官方简介 https://blog.csdn.net/sD7O95O/article/details/ ...

  2. 跟我一起学.NetCore之中间件(Middleware)应用和自定义

    前言 Asp.NetCore中的请求管道是通过一系列的中间件组成的,使得请求会根据需求进行对应的过滤和加工处理.在平时开发中会时常引用别人定义好的中间件,只需简单进行app.Usexxx就能完成中间件 ...

  3. Java Jar源码反编译工具那家强

    本文介绍下Java Jar常见的反编译工具,并给出使用感受. 反编译JAR能干什么: 排查问题.分析商业软件代码逻辑,学习优秀的源码思路. JD-GUI 下载地址:http://java-decomp ...

  4. YoloV4当中的Mosaic数据增强方法(附代码详细讲解)码农的后花园

    上一期中讲解了图像分类和目标检测中的数据增强的区别和联系,这期讲解数据增强的进阶版- yolov4中的Mosaic数据增强方法以及CutMix. 前言 Yolov4的mosaic数据增强参考了CutM ...

  5. WebLogic12C安装配置文档

    jdk版本:1.8; jdk安装路径不准有空格 JDK安装: jdk版本:1.8; jdk安装路径不准有空格 WebLogic安装: 解压安装包 解压JAR 找到fmw_12.2.1.3.0_wls\ ...

  6. 20190926-02Redis五大数据类型之Set 000 028

  7. Redis Sentinel结构 及相关文档

    Redis Sentinel是一个用来监控redis集群中节点的状态,不用来存储数据.当集群中的某个节点有故障时,可以自动的进行故障转移的操作.通常为了保证sentinel的高可用,sentinel也 ...

  8. 借助rownum中求Oracle表中前三名(三甲:状元榜眼探花)的方法(总计三种方法,以讲述rownum的使用为主)

    要求前三名,MySQL中有order by排序,limit限制数量,结果很容易得到,而且limit的执行顺序也在order by之后,写出的sql高效易懂而不易出错. 但在oracle中,由于没有li ...

  9. SpringBoot2 引入 Aop

    一步小心就掉进坑里面了:SpringBoot2 引入 Aop 不生效 SpringBoot2.1.3版本 首先,引入依赖 <!--面向切面--> <dependency> &l ...

  10. 详细教程丨使用Prometheus和Thanos进行高可用K8S监控

    本文转自Rancher Labs 介 绍 Prometheus高可用的必要性 在过去的几年里,Kubernetes的采用量增长了数倍.很明显,Kubernetes是容器编排的不二选择.与此同时,Pro ...