NNI学习(一)介绍与安装
官方文档: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学习(一)介绍与安装相关推荐
- sumo学习——sumo介绍及安装
sumo介绍 "城市交通仿真"(SUMO)是一个开源.高度便携.微观和连续的交通仿真软件包,旨在处理大型网络.它允许包括行人在内的多式联运仿真,并配有一套用于场景创建的大型工具.它 ...
- mysql和python先学哪个_Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)
本节内容 1.数据库介绍 2.mysql管理 3.mysql数据类型 4.常用mysql命令 创建数据库 外键 增删改查表 5.事务 6.索引 7.python 操作mysql 8.ORM sqlac ...
- MeayunDB学习笔记(一) MeayunDB介绍及安装
系列目录 MeayunDB介绍-高性能分布式内存数据库 MeayunDB学习笔记(一)MeayunDB介绍及安装 MeayunDB学习笔记(二)批量导入数据 MeayunDB学习笔记(三)索引应用 一 ...
- MongoDB学习笔记(一) MongoDB介绍及安装
系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) 通过samus驱动实现基本数据操作 MongoDB学习笔记(三) 在MVC模式下通过Jq ...
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
- Clojure学习笔记(一)——介绍、安装和语法
Clojure学习笔记(一)--介绍.安装和语法 什么是Clojure Clojure是一种动态的.强类型的.寄居在JVM上的语言. Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变 ...
- 基础篇——ROS入门:学习资料、基本介绍、安装配置、文件系统、包创建
简介 本篇文章主要介绍ROS入门基础,通过此篇文章,可以学习到安装配置.文件系统使用.ROS包创建和构建相关内容. ROS资源网站 ROS官网:http://wiki.ros.org/,可以这么说,市 ...
- Unity DOTS 学习笔记1 - ECS 0.50介绍和安装
Unity DOTS 学习笔记1 - ECS 0.50介绍和安装 为什么学习这个技术 ECS的全称为Entity Component System,是最早由暴雪在GDC2017上提出的一个新的游戏设计 ...
- 第一章 Python Kivy 学习 -- Kivy介绍及环境安装
系列文章目录 第一章 Python Kivy 学习 – Kivy介绍及环境安装 第二章 Python Kivy 学习 – Kivy项目开发原理(待编辑) 第三章 Python Kivy 学习 – Ki ...
最新文章
- delphi socket 流的使用_基于TCP协议的Socket编程和通信_单向通信
- golang 覆盖写入文件 简介
- 用Python对XML读取和处理
- 新CalendarFX视图:MonthGridView!
- h5页面嵌入android app时遇到的问题
- Python中FileIO
- Linxu 学习记录
- XML Web services 发现
- python2添加pip,无法在python2.6中使用PIP更新/添加任何包
- Rad Controls_Q2_2006 注册机
- c语言程序设计职工信息管理系统,C语言程序设计-职工信息管理系统.doc
- 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
- 台达变频器485通讯接线图_台达变频器RS485通讯设置
- java snakeyaml_java – 使用SnakeYAML的嵌套构造
- 人脸识别系统的活体检测技术
- svm算法 最通俗易懂讲解
- Unity场景素材导出为 FBX文件的方法
- CSS3 背景和边框
- webview和android做壳,Android Studio 制作一个 WebView 外壳
- IDEA创建web工程+tomcat配置