神经网络智能包

nni的Python项目详细描述



mit licensedbuild statusissuesbugspull requestsversion="https://gitter.im/microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr badge&utm_content=badge" rel="nofollow">加入聊天,网址:https://gitter.im/microsoft/nnidocumentation status

NNI(神经网络智能)是一个帮助用户运行自动机器学习(AutoML)实验的工具包。 该工具分派并运行由优化算法生成的试用作业,以便在不同的环境(如本地计算机、远程服务器和云)中搜索最佳的神经架构和/或超参数。

nniv0.9已经发布!

<表><正文>支持的框架调整算法培训服务< < > > >
  • 火把
  • 张量流
  • 路缘石
  • MXnet
  • 咖啡2
  • cntk(python语言)
  • theano
调谐器 评估员
  • 中位停车位
  • 曲线拟合
< ><表>

谁应该考虑使用NNI
  • 那些想在本地机器上的训练代码(模型)中尝试不同的automl算法的人。
  • 希望在不同环境中运行automl试用作业以加快搜索速度(例如远程服务器和云)。
  • 希望实现自己的automl算法并与其他算法进行比较的研究人员和数据科学家。
  • 希望在其平台中支持AutoML的ML平台所有者。

相关项目

以开放性和先进技术为目标,微软研究院(MSR)也发布了一些其他开源项目。

  • openpai:一个开放源码平台,提供完整的人工智能模型培训和资源管理功能,易于扩展和支持各种规模的本地、云和混合环境。
  • frameworkcontroller是一个开源的通用kubernetes pod控制器,它通过一个控制器编排kubernetes上的各种应用程序。
  • mmdnn:一个全面的跨框架解决方案,用于转换、可视化和诊断深层神经网络模型。mm dnn中的"mm"代表模型管理,"dnn"是deep神经网络的缩写。
  • sptag:空间分区树和图(sptag)是一个用于大规模矢量近似近邻搜索场景的开源库。

我们鼓励研究人员和学生利用这些项目加速人工智能的开发和研究。

安装并验证

通过PIP安装

  • 现阶段我们支持Linux、MacOS和Windows(本地、远程和PAI模式),测试并支持Ubuntu16.04或更高版本、MacOS 10.14.1和Windows10.1809。只需在python>;=3.5的环境中运行以下pip install

Linux和MacOS

python3 -m pip install --upgrade nni

窗口

python -m pip install --upgrade nni
注:

  • --如果要在主目录中安装NNI,则可以添加用户,该目录不需要任何特殊权限。
  • 目前Windows上的NNI支持本地、远程和PAI模式。强烈建议在Windows上安装NNI。
  • 如果有任何错误,如分段错误,请参阅常见问题

通过源代码安装

  • 我们在当前阶段支持Linux(Ubuntu16.04或更高版本)、MacOS(10.14.1)和Windows(10.1809)。

Linux和MacOS

  • python>;=3.5gitwget的环境中运行以下命令
    git clone -b v0.9 https://github.com/Microsoft/nni.git
    cd nni
    source install.sh

窗口

  • python>;=3.5gitpowershell
  • 的环境中运行以下命令
  git clone -b v0.9 https://github.com/Microsoft/nni.git
  cd nni
  powershell -ExecutionPolicy Bypass -file install.ps1

有关NNI的系统要求,请参阅安装NNI

对于Windows上的NNI,请参阅Windows上的NNI

验证安装

下面的例子是一个基于tensorflow的实验。运行前,请确保已安装了TensorFlow。

  • 通过克隆源代码下载示例。
    git clone -b v0.9 https://github.com/Microsoft/nni.git

Linux和MacOS

  • 运行mnist示例。
    nnictl create --config nni/examples/trials/mnist/config.yml

窗口

  • 运行mnist示例。
    nnictl create --config nni\examples\trials\mnist\config_windows.yml
  • 等待消息info:已成功启动实验!在命令行中。此消息表示您的实验已成功启动。您可以使用web ui url
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
-----------------------------------------------------------------------
<表>drawingdrawing

文档

如何

教程

贡献

本项目欢迎您的贡献和建议,我们使用github问题来跟踪请求和错误。

"好的第一期"标签的问题很简单,也很容易启动,我们建议您从新的贡献者开始。

要设置NNI开发的环境,请参阅说明:设置NNI开发环境

在开始编码之前,请检查并熟悉NNI代码贡献指南:贡献

我们正在编写如何调试的说明,也欢迎您就此提出问题或建议。

许可证

整个代码库位于麻省理工学院许可证下

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android HttpClient cookies   如何使用Java在远程系统上运行SSH命令?   java从字符串数组中的字符串末尾删除“,”   在One plus 3t手机上,当应用程序被终止或从最近的应用程序中刷出时,java Android FCM推送通知不起作用   java如何使垂直滚动条始终位于jtable的末尾   在java中解析迄今为止“未知”的字符串   javascript在Java中获取Nashorn JsonObject   java windows 10和ubuntu可以使用相同的JDK吗?   java在不同的文件中记录不同的日志。但所有日志都放在同一个文件中   具有特定jdk的java Gradle构建项目   xml Java web服务生成错误响应   javascript Jaggery文件更改不显示   java输出二进制搜索树数组   将BufferedReader解析为JSON对象时,java在位置处意外标记文件结尾