官方文档:https://github.com/microsoft/nni
(本文介绍均基于windows系统,Linux和Mac请参考GitHub的官方文档)

一、介绍

NNI (Neural Network Intelligence) 是一个工具包,可有效的帮助用户设计并调优机器学习模型的神经网络架构,复杂系统的参数(如超参)等。 NNI 的特性包括:易于使用,可扩展,灵活,高效。

NNI的体系结构:

相关概念:
Experiment(实验):实验是一次找到模型的最佳超参组合,或最好的神经网络架构的任务。 它由 Trial 和自动机器学习算法所组成。

搜索空间:是模型调优的范围。 例如,超参的取值范围。

Configuration(配置):配置是来自搜索空间的一个参数实例,每个超参都会有一个特定的值。

Trial: Trial 是一次尝试,它会使用某组配置(例如,一组超参值,或者特定的神经网络架构)。 Trial 会基于提供的配置来运行。

Tuner: Tuner 是一个自动机器学习算法,会为下一个 Trial 生成新的配置。 新的 Trial 会使用这组配置来运行。

Assessor:Assessor 分析 Trial 的中间结果(例如,测试数据集上定期的精度),来确定 Trial 是否应该被提前终止。

训练平台:是 Trial 的执行环境。 根据 Experiment 的配置,可以是本机,远程服务器组,或其它大规模训练平台(如,OpenPAI,Kubernetes)。

Experiment 的运行过程为:Tuner 接收搜索空间并生成配置。 这些配置将被提交到训练平台,如本机,远程服务器组或训练集群。 执行的性能结果会被返回给 Tuner。 然后,再生成并提交新的配置。
每次 Experiment 执行时,用户只需要定义搜索空间,改动几行代码,就能利用 NNI 内置的 Tuner/Assessor 和训练服务来搜索最好的超参组合以及神经网络结构。 基本上分为三步:
第一步:定义搜索空间
第二步:改动模型代码
第三步:定义 Experiment 配置

二、安装

和AutoKeras相比,这个装起来太简单了!!感动到哭!
官方推荐anaconda,我用anaconda prompt执行命令:

python -m pip install --upgrade nni

安装完毕可以进行验证,验证试验依赖TensorFlow:

git clone -b v0.8 https://github.com/Microsoft/nni.git
nnictl create --config nni\examples\trials\mnist\config_windows.yml


出现以上信息就好了
ps
第一次运行的时候出了restful server start failed的错误,查了查也没查出来怎么回事,重新运行一遍就好了。

NNI学习(一)介绍与安装相关推荐

  1. sumo学习——sumo介绍及安装

    sumo介绍 "城市交通仿真"(SUMO)是一个开源.高度便携.微观和连续的交通仿真软件包,旨在处理大型网络.它允许包括行人在内的多式联运仿真,并配有一套用于场景创建的大型工具.它 ...

  2. mysql和python先学哪个_Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)

    本节内容 1.数据库介绍 2.mysql管理 3.mysql数据类型 4.常用mysql命令 创建数据库 外键 增删改查表 5.事务 6.索引 7.python 操作mysql 8.ORM sqlac ...

  3. MeayunDB学习笔记(一) MeayunDB介绍及安装

    系列目录 MeayunDB介绍-高性能分布式内存数据库 MeayunDB学习笔记(一)MeayunDB介绍及安装 MeayunDB学习笔记(二)批量导入数据 MeayunDB学习笔记(三)索引应用 一 ...

  4. MongoDB学习笔记(一) MongoDB介绍及安装

    系列目录 MongoDB学习笔记(一) MongoDB介绍及安装     MongoDB学习笔记(二) 通过samus驱动实现基本数据操作     MongoDB学习笔记(三) 在MVC模式下通过Jq ...

  5. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  6. Clojure学习笔记(一)——介绍、安装和语法

    Clojure学习笔记(一)--介绍.安装和语法 什么是Clojure Clojure是一种动态的.强类型的.寄居在JVM上的语言. Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变 ...

  7. 基础篇——ROS入门:学习资料、基本介绍、安装配置、文件系统、包创建

    简介 本篇文章主要介绍ROS入门基础,通过此篇文章,可以学习到安装配置.文件系统使用.ROS包创建和构建相关内容. ROS资源网站 ROS官网:http://wiki.ros.org/,可以这么说,市 ...

  8. Unity DOTS 学习笔记1 - ECS 0.50介绍和安装

    Unity DOTS 学习笔记1 - ECS 0.50介绍和安装 为什么学习这个技术 ECS的全称为Entity Component System,是最早由暴雪在GDC2017上提出的一个新的游戏设计 ...

  9. 第一章 Python Kivy 学习 -- Kivy介绍及环境安装

    系列文章目录 第一章 Python Kivy 学习 – Kivy介绍及环境安装 第二章 Python Kivy 学习 – Kivy项目开发原理(待编辑) 第三章 Python Kivy 学习 – Ki ...

最新文章

  1. delphi socket 流的使用_基于TCP协议的Socket编程和通信_单向通信
  2. golang 覆盖写入文件 简介
  3. 用Python对XML读取和处理
  4. 新CalendarFX视图:MonthGridView!
  5. h5页面嵌入android app时遇到的问题
  6. Python中FileIO
  7. Linxu 学习记录
  8. XML Web services 发现
  9. python2添加pip,无法在python2.6中使用PIP更新/添加任何包
  10. Rad Controls_Q2_2006 注册机
  11. c语言程序设计职工信息管理系统,C语言程序设计-职工信息管理系统.doc
  12. 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
  13. 台达变频器485通讯接线图_台达变频器RS485通讯设置
  14. java snakeyaml_java – 使用SnakeYAML的嵌套构造
  15. 人脸识别系统的活体检测技术
  16. svm算法 最通俗易懂讲解
  17. Unity场景素材导出为 FBX文件的方法
  18. CSS3 背景和边框
  19. webview和android做壳,Android Studio 制作一个 WebView 外壳
  20. IDEA创建web工程+tomcat配置

热门文章

  1. 由二叉树构造赫夫曼树
  2. scale与zoom的差异
  3. 实现微信支付(Native支付),使用WebSocket进行推送——3.创建支付订单,接收付款结果
  4. zTree的简单用法
  5. Unity 之 ShaderGraph Channel节点解析汇总
  6. 使用html+css实现一个静态页面(含源码)
  7. c语言编程订单统计,C语言课程设计订单管理系统.pdf
  8. 计算机与网络应用word解析,计算机二级word真题:《计算机与网络应用》教材的编排...
  9. 【python数据类型】
  10. 基于MATLAB的图像分割系统