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. Typed Lua

    https://the-ravi-programming-language.readthedocs.io/en/latest/ravi-overview.html https://github.com ...

  2. 解读AngularJS的setupModuleLoader函数

    http://www.cnblogs.com/whitewolf/p/angular-module-declare-and-get.html 看了上面这篇文章,自己读了一下代码,以下是个人理解,如有请 ...

  3. 实现:git本地创建多个分支互不干扰

    git本地创建多个分支互不干扰 在项目开发过程中,经常会遇到下面这种情况: 业务情景:在做某个需求a时,先需要修改紧急bug b:发版时发的是远程dev的代码 方式一(推荐): (1)本地已有分支de ...

  4. python连接websocket wss

    def websocket_wss(): try: wss = create_connection(wss_url, timeout=10) if wss.status == 101: wss.sen ...

  5. ES 实现实时从Mysql数据库中读取热词,停用词

    IK分词器虽然自带词库 但是在实际开发应用中对于词库的灵活度的要求是远远不够的,IK分词器虽然配置文件中能添加扩展词库,但是需要重启ES 这章就当写一篇扩展了 其实IK本身是支持热更新词库的,但是需要 ...

  6. Spring系列之初识Spring Spring概述

    初始Spring 啥是Spring? 下面这个就是Spring Spring当然不是上面那个Spring,Spring之所以命名为Spring是因为这个开源的轻量级的开源框架的出现给软件行业带来了春天 ...

  7. spring官网在线学习文档翻译

    Core Technologies (核心技术) Version 5.0.8.RELEASE 版本5.0.8RELEASE This part of the reference documentati ...

  8. [LeetCode]739. 每日温度(单调栈)

    题目 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temperatures ...

  9. Vue企业级优雅实战04-组件开发01-SVG图标组件

    (后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy- ...

  10. Linux幽灵漏洞修复

    1. 漏洞说明 1.1 漏洞原理 glibc是GNU发布的libc库,即c运行库,在glibc库中的__nss_hostname_digits_dots()函数存在一个缓冲区溢出的漏洞,这个漏洞可以经 ...