NNI (Neural Network Intelligence) 是自动机器学习(AutoML)的工具包。 它通过多种调优的算法来搜索最好的神经网络结构和(或)超参,并支持单机、本地多机、云等不同的运行环境。
支持的框架 | 调优算法 | 训练服务 |
|
Tuner(调参器)
|
以开发和先进技术为目标,Microsoft Research (MSR) 发布了一些开源项目。
通过 pip 命令安装
python >= 3.5
的环境中,只需要运行 pip install
即可完成安装。python3 -m pip install --upgrade nni
注意:
--user
,这样也不需要任何特殊权限。Segmentation fault
这样的任何错误请参考常见问题。通过源代码安装
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
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 任务。 查看这里的更多页面示例。
Experiment 配置 创建 Experiment 所需要的配置文件。 本文介绍了配置文件的内容。 注解 此文档的字段使用 camelCase 法命名。 对于 Python 库 nni.experiment,需要转换成 snake_case 形式。 在此文档中,字段类型被格式化为 Python 类型提示。 因此,JSON 对象被称为 dict,数组被称为 list。 一些字段采用文件或目录的路
超参数优化专题之工具—microsoft/nni 这篇博客主要讲述模型的调参的一些基本知识,主要两个方面,调参的工具和相应的算法。 工具我比较推荐的是微软的nni框架,以及weight & bias 目前的调参算法有:TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner, GPTuner等 安装 Linux 和 macOS python3 -
本文参考: 【模型部署】NNI:剪枝和量化_Jackilina_Stone的博客-CSDN博客_nni剪枝 模型剪枝入门 — Neural Network Intelligence NNI:Neural Network Intelligence,是一个轻量但强大的自动机器学习工具包,能帮助用户自动进行特征工程、神经网络架构搜索、超参调优以及模型压缩。 一、安装NNI pip install nn
Python 有着海量的可用于数据分析、统计以及机器学习的库,这使得 Python 成为很多数据科学家所选择的语言。 下面我们列出了一些被广泛使用的机器学习及其他数据科学应用的 Python 包。 Scipy 技术栈 Scipy 技术栈由一大批在数据科学中被广泛使用的核心辅助包构成,可用于统计分析与数据可视化。由于其丰富的功能和简单易用的特性,这一技术栈已经被视作实现大多数数据科学应用的必备品了。
主要内容 前言 课程列表 推荐学习路线 数学基础初级 程序语言能力 机器学习课程初级 数学基础中级 机器学习课程中级 推荐书籍列表 机器学习专项领域学习 致谢 前言 我们要求把这些课程的所有Notes,Slides以及作者强烈推荐的论文看懂看明白,并完成所有的老师布置的习题,而推荐的书籍是不做要求的,如果有些书籍是需要看完的,我们会进行额外的说明。 课程列表 课程 机构 参考书 Notes等其他资
机器学习与人工智能学习笔记,包括机器学习、深度学习以及常用开源框架(Tensorflow、PyTorch)等。 机器学习算法 _图片来自scikit-learn_。 机器学习全景图 _图片来自http://www.shivonzilis.com/_。
机器学习与人工智能学习笔记,包括机器学习、深度学习以及常用开源框架(Tensorflow、PyTorch)等。
“三个臭皮匠顶个诸葛亮”。集成学习就是利用了这样的思想,通过把多分类器组合在一起的方式,构建出一个强分类器;这些被组合的分类器被称为基分类器。事实上,随机森林就属于集成学习的范畴。通常,集成学习具有更强的泛化能力,大量弱分类器的存在降低了分类错误率,也对于数据的噪声有很好的包容性。
从sklearn加载流行数字数据集。数据集模块,并将其分配给可变数字。 分割数字。将数据分为两组,分别命名为X_train和X_test。还有,分割数字。目标分为两组Y_训练和Y_测试。 提示:使用sklearn中的训练测试分割方法。模型选择;将随机_状态设置为30;并进行分层抽样。使用默认参数,从X_序列集和Y_序列标签构建SVM分类器。将模型命名为svm_clf。 在测试数据集上评估模型的准确
主要内容:机器学习,深度学习,机器学习与深度学习的区别,机器学习和深度学习的应用人工智能是近几年来最流行的趋势之一。机器学习和深度学习构成了人工智能。下面显示的维恩图解释了机器学习和深度学习的关系 - 机器学习 机器学习是让计算机按照设计和编程的算法行事的科学艺术。许多研究人员认为机器学习是实现人类AI的最佳方式。机器学习包括以下类型的模式 - 监督学习模式 无监督学习模式 深度学习 深度学习是机器学习的一个子领域,其中有关算法的灵感来自大脑的结构和功能,称为人工神经网络。
主要内容:数据量,硬件依赖,特色工程在本章中,我们将讨论机器和深度学习概念之间的主要区别。 数据量 机器学习使用不同数量的数据,主要用于少量数据。另一方面,如果数据量迅速增加,深度学习可以有效地工作。下图描绘了机器学习和深度学习在数据量方面的工作 - 硬件依赖 与传统的机器学习算法相反,深度学习算法设计为在很大程度上依赖于高端机器。深度学习算法执行大量矩阵乘法运算,这需要巨大的硬件支持。 特色工程 特征工程是将领域知识放入指定特征的