神经网络智能包
项目描述
NNI(神经网络智能)是帮助用户运行自动化机器学习(AutoML)实验的工具包。该工具调度并运行通过调整算法生成的试验作业,以在本地机器、远程服务器和云等不同环境中搜索最佳神经架构和/或超参数。
谁应该考虑使用 NNI
- 那些想在本地机器上的训练代码(模型)中尝试不同 AutoML 算法的人。
- 那些想要在不同环境中运行 AutoML 试用作业以加快搜索速度的人(例如远程服务器和云)。
- 希望实现自己的 AutoML 算法并将其与其他算法进行比较的研究人员和数据科学家。
- 希望在其平台中支持 AutoML 的 ML 平台所有者。
安装和验证
通过 pip 安装
- 我们目前支持 Linux 和 MacOS,Ubuntu 16.04 或更高版本,以及 MacOS 10.14.1 已经过测试和支持。只需
pip install
在具有python >= 3.5
.
python3 -m pip install --user --upgrade nni
注意:如果您在 docker 容器中(以 root 身份),请--user
从安装命令中删除。
通过源代码安装
- 我们现阶段支持 Linux(Ubuntu 16.04 或更高版本)、MacOS(10.14.1)。
- 在具有 和 的环境中运行
python >= 3.5
以下git
命令wget
。
git clone -b v0.4 https://github.com/Microsoft/nni.git
cd nni
source install.sh
NNI的系统要求请参考安装NNI
验证安装
以下示例是基于 TensorFlow 构建的实验。确保在运行之前安装了 TensorFlow 。
- 通过克隆源代码下载示例。
git clone -b v0.4 https://github.com/Microsoft/nni.git
- 运行 mnist 示例。
nnictl create --config nni/examples/trials/mnist/config.yml
- 等待
INFO: Successfully started experiment!
命令行中的消息。此消息表明您的实验已成功启动。您可以使用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 log stderr show stderr log content
4. nnictl log stdout show stdout log content
5. nnictl stop stop an experiment
6. nnictl trial kill kill a trial job by id
7. nnictl --help get help information about nnictl
-----------------------------------------------------------------------
- 在浏览器中打开
Web UI url
,您可以查看实验的详细信息以及所有提交的试用作业,如下图所示。这里有更多的 Web UI 页面。
文档
如何
教程
- 在本地(使用多个 GPU)上运行实验?
- 在多台机器上运行实验?
- 在 OpenPAI 上运行实验?
- 在 Kubeflow 上运行实验?
- 尝试不同的调谐器和评估器
- 实现定制的调谐器
- 实施定制的评估器
- 使用遗传算法为阅读理解任务找到好的模型架构
贡献
这个项目欢迎贡献和建议,我们使用GitHub 问题来跟踪请求和错误。
带有良好的第一个问题标签的问题是简单且易于启动的问题,我们建议新的贡献者开始。
搭建 NNI 开发环境,参考说明:搭建 NNI 开发者环境
在开始编码之前,请查看并熟悉 NNI 代码贡献指南:贡献
我们正在构建如何调试的说明,也欢迎您在这方面提出问题或建议。
执照
整个代码库都在MIT 许可下