神经网络智能包
nni-yds的Python项目详细描述
NNI(神经网络智能)是一个帮助用户运行自动机器学习(AutoML)实验的工具包。 该工具分派并运行由优化算法生成的试用作业,以便在不同的环境(如本地计算机、远程服务器和云)中搜索最佳的神经体系结构和/或超参数。
谁应该考虑使用NNI
- 那些想在本地机器上的训练代码(模型)中尝试不同的automl算法的人。
- 那些希望在不同环境中运行automl试用作业以加快搜索速度的人(例如远程服务器和云)。
- 希望实现自己的automl算法并将其与其他算法进行比较的研究人员和数据科学家。
- 希望在其平台中支持automl的ml平台所有者。
安装并验证
通过pip安装
- 现阶段只支持Linux,测试支持Ubuntu16.04及以上版本。只需在具有
python >= 3.5
的环境中运行以下pip install
。
python3 -m pip install --user --upgrade nni
注意:如果您在Docker容器中(作为根用户),请从安装命令中删除--user
。
通过源代码安装
- 我们目前只支持Linux(Ubuntu16.04或更高版本)。
- 在具有
python >= 3.5
、git
和wget
的环境中运行以下命令。
git clone -b v0.3.4 https://github.com/Microsoft/nni.git cd nni source install.sh
验证安装
下面的例子是一个基于tensorflow的实验。在运行之前,请确保已安装tensorflow。
- 通过克隆源代码下载示例。
git clone -b v0.3.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
,您可以查看实验和所有提交的试用作业的详细信息,如下所示。Here是更多的web ui页面。
文档
如何
- Install NNI
- Use command line tool nnictl
- Use NNIBoard
- How to define search space
- How to define a trial
- Config an experiment
- How to use annotation
教程
- Run an experiment on local (with multiple GPUs)?
- Run an experiment on multiple machines?
- Run an experiment on OpenPAI?
- Try different tuners and assessors
- Implement a customized tuner
- Implement a customized assessor
- Use Genetic Algorithm to find good model architectures for Reading Comprehension task
贡献
这个项目欢迎您的贡献和建议,我们使用GitHub issues来跟踪请求和错误。
使用good first issue标签的问题很简单,很容易启动,我们建议您从新的贡献者开始。
要设置NNI开发环境,请参阅说明:Set up NNI developer environment
在开始编码之前,请检查并熟悉NNI代码贡献指南:Contributing
我们正在构建How to Debug的说明,也欢迎您对此领域提出问题或建议。
许可证
整个代码库位于MIT license