自动机器学习(AutoML)的工具包 NNI

MIT
Python TypeScript
跨平台
微软
2019-05-12
红薯

NNI (Neural Network Intelligence) 是自动机器学习(AutoML)的工具包。 它通过多种调优的算法来搜索最好的神经网络结构和(或)超参,并支持单机、本地多机、云等不同的运行环境。

支持的框架 调优算法 训练服务
  • PyTorch
  • TensorFlow
  • Keras
  • MXNet
  • Caffe2
  • CNTK (Python 语言)
  • Chainer
  • Theano
Tuner(调参器) Assessor(评估器)

使用场景

  • 在本机尝试使用不同的自动机器学习(AutoML)算法来训练模型。
  • 在分布式环境中加速自动机器学习(如:远程 GPU 工作站和云服务器)。
  • 定制自动机器学习算法,或比较不同的自动机器学习算法。
  • 在机器学习平台中支持自动机器学习。

相关项目

以开发和先进技术为目标,Microsoft Research (MSR) 发布了一些开源项目。

  • OpenPAI:作为开源平台,提供了完整的 AI 模型训练和资源管理能力,能轻松扩展,并支持各种规模的私有部署、云和混合环境。
  • FrameworkController:开源的通用 Kubernetes Pod 控制器,通过单个控制器来编排 Kubernetes 上所有类型的应用。
  • MMdnn:一个完整、跨框架的解决方案,能够转换、可视化、诊断深度神经网络模型。 MMdnn 中的 "MM" 表示model management(模型管理),而 "dnn" 是 deep neural network(深度神经网络)的缩写。 我们鼓励研究人员和学生利用这些项目来加速 AI 开发和研究。

安装和验证

通过 pip 命令安装

  • 当前支持 Linux 和 MacOS。测试并支持的版本包括:Ubuntu 16.04 及更高版本,MacOS 10.14.1。 在 python >= 3.5的环境中,只需要运行 pip install 即可完成安装。
    python3 -m pip install --upgrade nni

注意:

  • 如果需要将 NNI 安装到自己的 home 目录中,可使用 --user,这样也不需要任何特殊权限。
  • 如果遇到如Segmentation fault 这样的任何错误请参考常见问题

通过源代码安装

  • 当前支持 Linux(Ubuntu 16.04 及更高版本) 和 MacOS(10.14.1)。
  • 在 python >= 3.5 的环境中运行命令: git 和 wget,确保安装了这两个组件。
    git clone -b v0.6 https://github.com/Microsoft/nni.git
    cd nni  
    source install.sh   

参考安装 NNI 了解系统需求。

验证安装

以下示例 Experiment 依赖于 TensorFlow 。 在运行前确保安装了 TensorFlow

  • 通过克隆源代码下载示例。
    git clone -b v0.6 https://github.com/Microsoft/nni.git
  • 运行 mnist 示例。
    nnictl create --config nni/examples/trials/mnist/config.yml
  • 在命令行中等待输出 INFO: Successfully started experiment!。 此消息表明 Experiment 已成功启动。 通过命令行输出的 Web UI url 来访问 Experiment 的界面。

    INFO: Starting restful server...
    INFO: Successfully started Restful server!
    INFO: Setting local config...
    INFO: Successfully set local config!
    INFO: Starting experiment...
    INFO: Successfully started experiment!
    -----------------------------------------------------------------------
    The experiment id is egchD4qy
    The Web UI urls are: http://223.255.255.1:8080   http://127.0.0.1:8080
    -----------------------------------------------------------------------
    
    You can use these commands to get more information about the experiment
    -----------------------------------------------------------------------
             commands                       description
    
    1. nnictl experiment show        show the information of experiments
    2. nnictl trial ls               list all of trial jobs
    3. nnictl top                    monitor the status of running experiments
    4. nnictl log stderr             show stderr log content
    5. nnictl log stdout             show stdout log content
    6. nnictl stop                   stop an experiment
    7. nnictl trial kill             kill a trial job by id
    8. nnictl --help                 get help information about nnictl
    -----------------------------------------------------------------------
    
    
    
  • 在浏览器中打开 Web UI url,可看到下图的 Experiment 详细信息,以及所有的 Trial 任务。 查看这里的更多页面示例。

drawing drawing
的码云指数为
超过 的项目
加载中

评论(1)

宇辰OSC
宇辰OSC
@xiaoshiyue

暂无资讯

暂无问答

才云技术博客:云原生自动机器学习系统 Katib 的设计与实现

两年前,才云、谷歌、红帽等企业推出开源项目 Kubeflow,为企业基于容器和 Kubernetes 打造分布式机器学习平台,实现业务层面的分布式改造提供了机遇。作为该项目全球前三的贡献者,才云科技...

09/17 17:26
7
0
2018年度自动机器学习框架盘点

自动机器学习在过去的一年里呈爆发式的增长态势,一个又一个新的自动化学习框架的诞生让人眼花缭乱,目不暇接 为了方便持续关注该领域的动态,我在这里将目前发现和关注的框架再汇总一下,算...

04/27 11:32
66
0
NGN学习笔记8——NGN的安全问题

1.NGN安全的分层模型 2.NGN的安全要素(基于X.805) 可控性(访问控制)——只有授权的个人和设备才能访问网络资源(信息、服务、应用) 认证——证实通信实体的有效身份 不可否认性——通信参...

2010/05/31 10:39
391
0
Emacs Lisp 15 分钟入门

Emacs Lisp,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能。它的直译器是以C语言来实作的。它受到Maclisp的影响很大,但是跟C...

2016/04/14 16:26
54
1
Coding and Paper Letter(二十一)

资源整理。 1 Coding: 1.R语言包psychmeta,用于心理学方面的的Meta分析。 psychmeta 2.开源项目trug ggplot2, 2018年1月,Tampa的R用户会议关于ggplot2语法的ppt。 trug ggplot2 3.开源项...

2018/09/16 19:28
26
0
软交换协议比较和发展趋势 (SIP-T和SIP-I的比较)

BICC是直接面向电话业务的应用提出的,来自传统的电信阵营,具有更加严谨的体系架构,因此它能为在软交换中实施现有电路交换电话网络中的业务提供很好的透明性。相比之下,SIP的体系架构则不...

2010/09/24 16:29
1K
0
SIP和ISUP协议互通的研究

SIP和ISUP协议互通的研究 凌 颖, 钮颖彬, 李 青 (中国电信集团上海研究与开发中心, 上海 200122)   摘 要:本文是基于软交换(SoftSwitch)技术的发展而提出的,从网络融合的角度分析...

2015/03/03 11:15
77
0
构建自己的AlphaGo

新的旅程 目的 我们的终极目标非常简单:那就是做一个自己的AlphaGo! 为了让我们的工作更简单些,我们把对弈的对象改成五子棋。由于五子棋的问题空间小上一些(五子棋棋盘15x15,围棋19x19...

2017/10/19 15:24
116
0
Wireshark使用教程

.doc备份,无图

2014/09/06 21:34
291
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部