ANNdotNET中的视觉神经网络设计器
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中的视觉神经网络设计器的更多相关文章
- VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。
原文:VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net ...
- 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 ...
- 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器
企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...
- ActiveReports 9 新功能:可视化查询设计器(VQD)介绍
在最新发布的ActiveReports 9报表控件中添加了多项新功能,以帮助你在更短的时间里创建外观绚丽.功能强大的报表系统,本文将重点介绍可视化数据查询设计器,无需手动编写任何SQL语句,主要内容如 ...
- 通过用 .NET 生成自定义窗体设计器来定制应用程序
通过用 .NET 生成自定义窗体设计器来定制应用程序 https://www.microsoft.com/china/MSDN/library/netFramework/netframework/Cu ...
- winform无法查看设计器
在代码中右键无法查看设计器.将无效的引用去除,重新生成即可.
- EF基础知识小记三(设计器=>数据库)
本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作 1.通过EF设计器创建一个简单模型 (1).右键目标项目添加新建项 (2).选择ADO.Net ...
- 【Android】4.1 UI设计器
分类:C#.Android.VS2015:创建日期:2016-02-06 开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述:二是用C#代码 ...
- .NET创建宿主设计器--DesignHost、DesignSurface.
一个窗口在运行时,是这样的: 但是,在设计时,却远比这复杂的多,它需要一个设计器对象:它仅存在于设计时,并连接到运行时存在的对象. 宿主容器 我们可以看到每个窗体和按钮均有与之相关的设计器.这两个 ...
随机推荐
- Mac OSX上安装Nginx
1. 通过brew instal nginx安装 ==> Downloading https://homebrew.bintray.com/bottles/nginx-1.10.1.el_cap ...
- CTF资源
WINDOWS 逆向工程师技能表 https://www.sec-wiki.com/skill/6 Software-Security-Learning https://chybeta.github. ...
- if __name__ == ‘__main__‘
if __name__ == '__main__': def_test() 作为程序的入口,当函数被调用时会从此处开始运行 如被导入的模块内没写 if __name__ == '__main__',则 ...
- c++基础 写二进制文件
问题描述 有许多数据待拟合,需要从 root 中提取出来,写成文本文件数据量过大,想转成二进制文件. 解决 #include "TString.h" #include " ...
- 关于跨域策略文件crossdomain.xml文件
下载flexpaper源码修改后做成swf阅读器,要加入待阅读的swf文件,可以在flex里调用js的方法来获取swf文件的路径的方法,在js只专注获取路径就行,等着flex来调用:但这里会遇到一个问 ...
- JS基础回顾_函数
函数 不要使用C风格的大括号 // log function return1() { return { name: 'oceans', } } function return2() { return ...
- springBoot 使用webSocket
本文(2019年6月18日 飞快的蜗牛博客) 有许多人走着走着,就迷失了自己,所以不论发生了什么,有时候抱着自己去静下来想想,要好好的对待自己:"钱塘江上潮信来,今日方知我是我", ...
- 向你的C语言项目中加入多线程
C语言在标准库<pthread.h>中为程序员提供了多线程操作接口. 先从简单操作入手 int pthread_create(pthread_t *thread, pthread_attr ...
- 月薪20k的java面试题他来了
1.场景描述 最近有朋友私信,说网上的面试资料有点散,还有些过时的,问老王能否帮忙整理下,老王晚上刚好有空,就给梳理了下,分享给大家. 2.解决方案 2.1 说明 (1)面试的题目多数是从网上找的,老 ...
- 现有 Vue.js 项目快速实现多语言切换的一种思路
Web 项目多语言(i18n,即国际化)是比较常见的需求,常规的做法大概有以下几种: 每种语言单独开发页面,适用于 CMS 之类的网站 多语言文本和页面结构分离,运行时动态替换.适用于单页应用(SPA ...