.. role:: raw-html(raw) :format: html 更改日志 ========== 发布 2.3 - 6/15/2021 ----------------------- 主要更新 ^^^^^^^^^^^^^ 神经网络架构搜索 """""""""""""""""""""""""" * Retiarii Framework (NNI NAS 2.0) Beta 版,具有新功能: * 支持新的高级 API:``Repeat`` 和 ``Cell`` (#3481) * 支持纯 Python 执行引擎(#3605) * 支持基于 policy 的 RL 策略 (#3650) * 支持嵌套的 ModuleList (#3652) * 完善文档 (#3785) **注意**:在未来的版本中,Retiarii 计划有更多令人兴奋的功能,请参考 `Retiarii 功能路线图 `__ 了解详情。 * 增加全新 NAS 算法:Blockwise DNAS FBNet (#3532,感谢外部贡献者 @alibaba-yiwuyao) 模型压缩 """"""""""""""""" * 支持自动压缩框架 (#3631) * 在 TensorFlow 中支持 slim Pruner (#3614) * 支持 LSQ Quantizer (#3503,感谢外部贡献者 @chenbohua3) * 完善迭代式 Pruner 的 API (#3507 #3688) 训练平台 & Rest """"""""""""""""""""""" * 支持第三方训练平台 (#3662 #3726) * 支持设置前缀 URL (#3625 #3674 #3672 #3643) * 改进 NNI 管理器日志 (#3624) * 移除 nnictl 上过时的 TensorBoard 代码 (#3613) 超参优化 """""""""""""""""""""""""""" * 增加全新 Tuner:DNGO (#3479 #3707) * 为 Tuner 增加基准测试 (#3644 #3720 #3689) Web 界面 """""""""""""""""""""""""""""""""""""""""""""""" * 改进在 Trial 详情页面的搜索框 (#3651 #3723 #3715) * 改进在 Trial 详情页面的自动刷新设置 (#3597) * 在本地模式下增加 Trial 输出按钮 (#3653 #3690) 示例 & 文档 """""""""""""""""""""""" * 将所有的 Trial 示例从配置v1转换为配置v2 (#3721 #3733 #3711 #3600) * 增加全新 Jupyter 笔记本示例 (#3599 #3700) 开发工作 """"""""""""" * 升级 Dockerfile 中的依赖 (#3713 #3722) * 用 PyYAML 替代 ``ruamel.yaml`` (#3702) * 为 AML、混合训练平台和实验配置V2添加 pipeline (#3477 #3648) * 在 README 中添加 pipeline 徽章 (#3589) * 更新问题报告模板 (#3501) Bug 修复 & 微小更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复 Windows 上的语法错误 (#3634) * 修复一个与日志有关的 Bug (#3705) * 修复 GPU 索引中的一个 Bug (#3721) * 修复 FrameworkController 中的一个 Bug (#3730) * 修复 ``export_data_url format`` 中的一个 Bug (#3665) * 以警告形式报告版本检查失败 (#3654) * 修复 nnictl 中的 Bug 和 lint (#3712) * 修复 Web 界面 ``optimize_mode`` 中的 Bug (#3731) * 修复在 AML v2 配置中的 ``useActiveGpu`` Bug (#3655) * 修复 Retiarii 配置中的 ``experiment_working_directory`` Bug (#3607) * 修复掩码冲突的 Bug (#3629,感谢外部贡献者 @Davidxswang) * 修复模型加速形状推理中的一个 Bug (#3588,感谢外部贡献者 @Davidxswang) * 修复 Windows 上多线程的一个 Bug (#3604,感谢外部贡献者 @Ivanfangsc) * 删除训练平台中冗余的代码 (#3526,感谢外部贡献者 @maxsuren) * 修复 DoReFa 压缩文档中的拼写错误 (#3693,感谢外部贡献者 @Erfandarzi) * 更新模型压缩中的注释串 (#3647,感谢外部贡献者 @ichejun) * 修复 Kubernetes 容器中的 Bug (#3719,感谢外部贡献者 @rmfan) 发布 2.2 - 4/26/2021 ----------------------- 主要更新 ^^^^^^^^^^^^^ 神经网络架构搜索 """""""""""""""""""""""""" * 改进 NAS 2.0 (Retiarii) 框架 (Alpha 发布) * 支持本地调试模式 (#3476) * 支持在 ``LayerChoice`` 中嵌套 ``ValueChoice`` (#3508) * 在 ``ValueChoice`` 中支持 字典\列表类型 (#3508) * 完善导出架构的格式 (#3464) * 重构 NAS 示例 (#3513) * 参考 `这里 `__ 获取 Retiarii 功能路线图 模型压缩 """"""""""""""""" * 支持加速混合精度量化模型(实验性) (#3488 #3512) * 支持量化算法的模型导出 (#3458 #3473) * 在 TensorFlow 的模型压缩中支持模型导出 (#3487) * 完善文档 (#3482) nnictl & nni.experiment """"""""""""""""""""""" * 增加对 Experiment 配置 V2 的原生支持 (#3466 #3540 #3552) * 在 Python API ``nni.experiment`` 中添加恢复和查看模式 (#3490 #3524 #3545) 训练平台 """""""""""""""" * 支持远程训练平台中共享存储的umount (#3456) * 支持 Windows 作为重用模式下的远程训练平台 (#3500) * 移除远程训练平台中重复的env文件夹 (#3472) * 为 GPU 指标收集器添加日志信息 (#3506) * 启用 FrameworkController 训练服务的 Pod Spec (#3379,感谢外部贡献者 @mbu93) Web 界面 """""""""" * 支持在 Web 界面上启动 TensorBoard (#3454 #3361 #3531) * 升级 echarts-for-react 到 v5 (#3457) * 为 dispatcher/nnimanager 日志 monaco 编辑器添加包装 (#3461) 修复的 Bug ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复 FLOPs counter 的 Bug (#3497) * 修复超参数添加/删除轴和表格添加/删除列按钮冲突的问题 (#3491) * 修复 monaco 编辑器搜索文本不能完全显示的问题 (#3492) * 修复 Cream NAS 的 Bug (#3498,感谢外部贡献者 @AliCloud-PAI) * 修复文档中的拼写错误 (#3448,感谢外部贡献者 @OliverShang) * 修复 NAS 1.0 中的拼写错误 (#3538,感谢外部贡献者 @ankitaggarwal23) 发布 2.1 - 3/10/2021 ----------------------- 主要更新 ^^^^^^^^^^^^^ 神经网络架构搜索 """""""""""""""""""""""""" * 改进 NAS 2.0 (Retiarii) 框架 (完善后的实验性) * 提高 PyTorch 模型的图形生成和代码生成的稳健性 (#3365) * 支持内联突变 API ``ValueChoice`` (#3349 #3382) * 改进模型评估器的设计和实施 (#3359 #3404) * 支持随机/网格/进化探索策略(即搜索算法) (#3377) * 参考 `这里 `__ 获取 Retiarii 功能路线图 训练平台 """""""""""""""" * 支持重用模式的共享存储 (#3354) * 支持 Windows 作为混合模式下的本地训练平台 (#3353) * 移除 PAIYarn 训练平台 (#3327) * 增加 "recently-idle" 调度算法 (#3375) * 移除 ``preCommand`` 并启用为远程训练平台 ``pythonPath`` (#3284 #3410) * 重构重用模式的临时文件夹 (#3374) nnictl & nni.experiment """"""""""""""""""""""" * 迁移 ``nnicli`` 到新的 Python API ``nni.experiment`` (#3334) * 重构 Python API (\ ``nni.experiment``\ ) 中指定 Tuner 的方式,与 ``nnictl`` 对齐 (#3419) Web 界面 """"""""""""""" * 支持在 Web 界面上显示混合模式下每个 Trial 的指定训练平台 (#3261 #3391) * 支持在实验管理页面中对过滤状态进行多重选择 (#3351) * 改进概览页面 (#3316 #3317 #3352) * 支持表中的复制 Trial ID (#3378) 文档 ^^^^^^^^^^^^^ * 改进模型压缩示例和文档 (#3326 #3371) * 增加 Python API 示例和文档 (#3396) * 增加安全文档 (#3358) * 在 README 中增加 "新功能" 部分 (#3395) * 改进贡献文档 (#3398,感谢外部贡献者 @Yongxuanzhang) 修复的 Bug ^^^^^^^^^^^^^^^^^^ * 修复 AML 输出路径和 Python 进程没有被杀死的问题 (#3321) * 修复 nnictl 无法恢复从 Python 启动 Experiment 的 Bug (#3309) * 修复网络态射示例的导入路径 (#3333) * 修复元组解包中的 Bug (#3340) * 修复任意代码执行的安全性 Bug (#3311,感谢外部贡献者 @huntr-helper) * 修复 Jupyter 笔记本中 ``NoneType`` 的问题 (#3337,感谢外部贡献者 @tczhangzhi) * 修复 Retiarii 中的 Bug (#3339 #3341 #3357,感谢外部贡献者 @tczhangzhi) * 修复 AdaptDL 模式中的 Bug (#3381,感谢外部贡献者 @ZeyaWang) * 修复 Assessor 拼写错误 (#3416,感谢外部贡献者 @ByronCHAO) * 修复 ruamel 导入的 Bug (#3430,感谢外部贡献者 @rushtehrani) 发布 2.0 - 1/14/2021 ----------------------- 超参优化更新 ^^^^^^^^^^^^^ 神经网络架构搜索 """""""""""""""""""""""""""""""""""""""""""""""""""" * 支持全新的 NAS 框架:Retiarii(实验性) * 功能路线图 `issue #3301 `__ * `相关的 issues 和 pull requests `__ * 文档 (#3221 #3282 #3287) * 支持全新的 NAS 算法:Cream (#2705) * 为 NLP 模型搜索增加新的 NAS 基准测试 (#3140) 训练平台 """""""""""""""" * 支持混合训练平台 (#3097 #3251 #3252) * 支持 AdlTrainingService,一个新的基于 Kubernetes 的训练平台 (#3022,感谢外部贡献者 Petuum @pw2393) 模型压缩 """"""""""""""""" * 为 fpgm 剪枝算法增加剪枝调度 (#3110) * 模型加速改进:支持 torch v1.7 (更新 graph_utils.py) (#3076) * 改进模型压缩工具:模型 flops 计数器 (#3048 #3265) Web 界面和 nnictl """""""""""""""""""" * 增加实验管理 Web 界面 (#3081 #3127) * 改进概览页布局 (#3046 #3123) * 支持在侧边栏查看日志和配置;为表格增加扩展图标 (#3069 #3103) 其它 """""" * 支持从 Python 代码发起 Experiment (#3111 #3210 #3263) * 重构内置/自定义 Tuner 的安装方法 (#3134) * 支持全新的实验配置 V2 版本 (#3138 #3248 #3251) * 重新组织源代码目录层次结构 (#2962 #2987 #3037) * 本地模式下取消 Trial 任务时,修改 SIGKILL 信号 为 SIGTERM 信号 (#3173) * 重构 hyperband (#3040) 文档 ^^^^^^^^^^^^^ * 将 Markdown 文档转换为 reStructuredText 文档,并引入 ``githublink`` (#3107) * 在文档中列出相关研究工作 (#3150) * 增加保存和加载量化模型的教程 (#3192) * 移除 paiYarn 文档并为远程模式下的 ``reuse`` 配置添加描述 (#3253) * 更新 EfficientNet 文档 (#3158,感谢waibu贡献者 @ahundt) 修复的 Bug ^^^^^^^^^^^^^^^^^^ * 修复 NO_MORE_TRIAL 状态下 exp-duration 停止间隔 (#3043) * 修复 NAS SPOS Trainer 的 Bug (#3051,感谢外部贡献者 @HeekangPark) * 修复 NAS DARTS 中 ``_compute_hessian`` 的 Bug (PyTorch 版本) (#3058,感谢外部贡献者 @hroken) * 修复 cdarts utils 中 conv1d 的 Bug (#3073,感谢外部贡献者 @athaker) * 修复恢复实验时对于未知 Trial 处理办法 (#3096) * 修复 Windows 下的 kill 命令 (#3106) * 修复懒惰日志问题 (#3108,感谢外部贡献者 @HarshCasper) * 修复 QAT Quantizer 中加载和保存检查点的问题 (#3124,感谢外部贡献者 @eedalong) * 修复量化 grad 函数计算失误 (#3160,感谢外部贡献者 @eedalong) * 修复量化算法中设备分配的 Bug (#3212,感谢外部贡献者 @eedalong) * 修复模型加速中的 Bug,并加强了 UT (#3279) * 和其他的 Bug (#3063 #3065 #3098 #3109 #3125 #3143 #3156 #3168 #3175 #3180 #3181 #3183 #3203 #3205 #3207 #3214 #3216 #3219 #3223 #3224 #3230 #3237 #3239 #3240 #3245 #3247 #3255 #3257 #3258 #3262 #3263 #3267 #3269 #3271 #3279 #3283 #3289 #3290 #3295) 发布 1.9 - 10/22/2020 ------------------------ 主要更新 ^^^^^^^^^^^^^ 神经网络架构搜索 """""""""""""""""""""""""""""""""""""""""""""""""""" * 在 NAS 中增加 regularized evolution 算法 (#2802) * 在搜索空间集合中增加 NASBench201 (#2766) 模型压缩 """"""""""""""""" * AMC Pruner 改进:支持 resnet,复现 AMC 论文中的实验(示例代码使用默认参数) (#2876 #2906) * 在一些 Pruner 中支持“约束感知”以提高模型压缩的效率 (#2657) * 在 TensorFlow 版本的模型压缩代码中支持 "tf.keras.Sequential" (#2887) * 在模型 FLOPS 计数器中支持自定义的 op (#2795) * 在 QAT quantizer 中增加量化的偏置 (#2914) 训练平台 """""""""""""""" * 支持在远程模式中使用 "preCommand" 配置 Python 环境 (#2875) * 在 Windows 下支持 AML 训练平台 (#2882) * 为远程训练平台添加 reuse 模式 (#2923) Web 界面和 nnictl """""""""""""""""""""""""""""""""""""""""""""""" * 重新设计 Web 界面的 "Overview" 页面 (#2914) * 升级 node, yarn 和 FabricUI,激活 Eslint (#2894 #2873 #2744) * 在超参调优图表和 "Trials detail" 页面的 Trial 表格中增加/删除列 (#2900) * 美化 Web 界面的 JSON 格式显示 (#2863) * 支持使用 nnictl 命令自动补全 (#2857) UT & IT ^^^^^^^ * 为 Experiment 导入导出数据增加集成测试 (#2878) * 为用户安装的内置 Tuner 增加集成测试 (#2859) * 为 nnictl 增加单元测试 (#2912) 文档 ^^^^^^^^^^^^^ * 重构了模型压缩的文档结构 (#2919) 修复的 Bug ^^^^^^^^^^^^^^^^^^ * 修复正确使用 naïve evolution Tuner,Trial 失败的 Bug (#2695) * 修复警告 "WARNING (nni.protocol) IPC pipeline not exists, maybe you are importing tuner/assessor from trial code?" (#2864) * 修复保存/加载 Experiment 搜索空间的问题 (#2886) * 修复 Experiment 导入数据的 Bug (#2878) * 修复远程模式下 annotation 出现的问题 (python 3.8 ast 更新的问题) (#2881) * 在 Web 界面上自定义 Trial 时,支持为类型是 "choice" 的超参数配置布尔值 (#3003) 发布 1.8 - 8/27/2020 ----------------------- 主要更新 ^^^^^^^^^^^^^ 训练平台 """""""""""""""""""""""""""""""" * 在 Web 界面直接访问 Trial 日志 (仅支持本地模式) (#2718) * 添加 OpenPAI Trial Job 详情链接 (#2703) * 在可重用的环境中支持 GPU 调度器 (#2627) (#2769) * 为 ``trial_runner`` 中的 ``web_channel`` 增加超时时间 (#2710) * 在 AzureML 模式下展示环境配置错误信息 (#2724) * 为在 OpenPAI 模式复制数据增加更多日志信息 (#2702) Web 界面,nnictl 和 nnicli """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" * 改进超参数并行坐标图的绘制 (#2691) (#2759) * 为 Trial Job 列表添加分页 (#2738) (#2773) * 使面板可以在鼠标点击其它区域时关闭 (#2734) * 从 Web 界面中去掉多阶段支持 (#2760) * 支持保存和加载 Experiment (#2750) * 在导出结果的命令中增加导出中间结果的选项 (#2706) * 增加了依据最高/最低指标列出 Trial 的 `命令 `__ (#2747) * 提升了 `nnicli `__ 的用户体验,并附上 `示例 `__ (#2713) 神经网络架构搜索 """""""""""""""""""""""""""""""""""" * `搜索空间集合:ENAS 和 DARTS `__ (#2589) * 用于在 NAS 基准测试中查询中间结果的 API (#2728) 模型压缩 """""""""""""""""""""""""""""""""" * 支持 TorchModuleGraph 的 List/Tuple Construct/Unpack 操作 (#2609) * 模型加速改进: 支持 DenseNet 和 InceptionV3 (#2719) * 支持多个连续 tuple 的 unpack 操作 (#2768) * `比较支持的 Pruner 的表现的文档 `__ (#2742) * 新的 Pruner:`Sensitivity pruner `__ (#2684) and `AMC pruner `__ (#2573) (#2786) * 支持 TensorFlow v2 的模型压缩 (#2755) 不兼容的改动 """"""""""""""""""""""""""""" * 默认 Experiment 目录从 ``$HOME/nni/experiments`` 更新至 ``$HOME/nni-experiments``。 如果希望查看通过之前的 NNI 版本创建的 Experiment,可以将这些 Experiment 目录从 ``$HOME/nni/experiments`` 手动移动至 ``$HOME/nni-experiments``。 (#2686) (#2753) * 不再支持 Python 3.5 和 scikit-learn 0.20 (#2778) (#2777) (2783) (#2787) (#2788) (#2790) 其它 """""" * 更新 Docker 镜像中的 Tensorflow 版本 (#2732) (#2735) (#2720) 示例 ^^^^^^^^ * 在 Assessor 示例中移除 gpuNum (#2641) 文档 ^^^^^^^^^^^^^ * 改进自定义 Tuner 的文档 (#2628) * 修复几处文档中的输入错误和语法错误 (#2637 #2638, 感谢 @tomzx) * 改进 AzureML 训练平台的文档 (#2631) * 改进中文翻译的 CI 流程 (#2654) * 改进 OpenPAI 训练平台的文档 (#2685) * 改进社区分享的文档 (#2640) * 增加对 Colab 进行支持的教程 (#2700) * 改进模型压缩的文档结构 (#2676) Bug 修复 ^^^^^^^^^^^^^^^^^^ * 修复训练平台的目录生成错误 (#2673) * 修复 Remote 训练平台使用 chmod 时的 Bug (#2689) * 通过内联导入 ``_graph_utils`` 修复依赖问题 (#2675) * 修复了 ``SimulatedAnnealingPruner`` 中的掩码问题 (#2736) * 修复了中间结果的图的缩放问题 (#2738) * 修复了在查询 NAS 基准测试时字典没有经过排序的问题 (#2728) * 修复了 Gradient Selector Dataloader Iterator 的导入问题 (#2690) * 修复了对在 Remote 训练平台下添加数十台机器的支持 (#2725) * 修复了 Web 界面的几个样式问题 (#2762 #2737) * 修复了对指标中不常见类型的支持,包括 NaN 和 Infinity (#2782) * 修复 nnictl experiment delete (#2791) 发布 1.7 - 7/8/2020 ---------------------- 主要功能 ^^^^^^^^^^^^^^ 训练平台 """""""""""""""""""""""""""""""" * 支持 AML (Azure Machine Learning) 作为训练平台。 * OpenPAI 任务可被重用。 当 Trial 完成时, OpenPAI 任务不会停止, 而是等待下一个 Trial。 * 增加 `PAI 模式的文档 `__ * `支持在向训练平台上传代码目录时使用 .nniignore 忽略代码目录中的文件和目录 `__. 神经网络架构搜索(NAS) """""""""""""""""""""""""""""""" * `为 NAS 基准测试 (NasBench101, NasBench201, NDS) 提供了友好的 API `__。 * `在 TensorFlow 2.X 支持 Classic NAS(即非权重共享模式) `__。 模型压缩 """""""""""""""""""""""""""""""""" * 改进模型加速:跟踪层之间的更多依赖关系,自动解决掩码冲突,支持剪枝 ResNet 的加速 * 增加新的 Pruner,包括三个模型剪枝算法: `NetAdapt Pruner `__\ , `SimulatedAnnealing Pruner `__\ , `AutoCompress Pruner `__\ , and `ADMM Pruner `__. * 增加 `模型灵敏度分析工具 `__ 来帮助用户发现各层对剪枝的敏感性。 * `用于模型压缩和 NAS 的简易 FLOPs 计算工具 `__. * 更新 Lottery Ticket Pruner 以导出中奖彩票 示例 """""""" * 在 NNI 上使用新的 `自定义 Tuner OpEvo `__ 自动优化张量算子。 内置 Tuner、Assessor、Advisor """""""""""""""""""""""""""""""""" * `允许自定义 Tuner、Assessor、Advisor 被安装为内置算法 `__. Web 界面 """""""""""""""""""""""""""""""""" * 支持更友好的嵌套搜索空间可视化。 * 在超参数图中展示 Trial 的字典的键 * 增强 Trial 持续时间展示 其它 """""" * 提供工具函数用于合并从 NNI 获取到的参数 * 支持在 OpenPAI 模式中设置 paiStorageConfigName 文档 ^^^^^^^^^^^^^ * 改进 `模型压缩文档 `__ * 改进 `NAS 基准测试的文档 `__ 和 `示例 `__ 。 * 改进 `AzureML 训练平台的文档 `__ * 主页迁移到 readthedoc。 修复的 Bug ^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复模型图中含有共享的 nn.Module 时的问题 * 修复 ``make build`` 时的 nodejs OOM * 修复 NASUI Bug * 修复持续时间和中间结果图片更新问题 * 修复小的 Web 界面表格样式问题 发布 1.6 - 5/26/2020 ----------------------- 主要功能 ^^^^^^^^^^^^^^ 新功能和改进 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 将 IPC 限制提高至 100W * 修改非本机训练平台中,将上传代码到存储的逻辑 * SDK 版本支持 ``__version__`` * 支持 Windows 下开发模式安装 Web 界面 ^^^^^^^^^^^^ * 显示 Trial 的错误消息 * 完善主页布局 * 重构概述页面的最佳 Trial 模块 * 从 Web 界面中去掉多阶段支持 * 在概述页面为 Trial 并发添加工具提示。 * 在超参图中显示最好的 Trial 超参优化更新 ^^^^^^^^^^^^^^^^^^^^^^ * 改进 PBT 的错误处理,并支持恢复 Experiment NAS 更新 ^^^^^^^^^^^ * NAS 支持 TensorFlow 2.0 (预览版) `TF2.0 NAS 示例 `__ * LayerChoice 使用 OrderedDict * 优化导出格式 * 应用固定架构后,将 LayerChoice 替换成选择的模块 模型压缩改进 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 模型压缩支持 PyTorch 1.4 训练平台改进 ^^^^^^^^^^^^^^^^^^^^^^^^ * 改进 OpenPAI YAML 的合并逻辑 * 支持 Windows 在远程模式中作为远程机器 `远程模式 `__ 修复的 Bug ^^^^^^^^^^^^^^^^ * 修复开发模式安装 * 当检查点没有 state_dict 时,SPOS 示例会崩溃 * 修复失败 Trial 造成的表格排序问题 * 支持多 Python 环境(如 conda,pyenv 等) 发布 1.5 - 4/13/2020 ----------------------- 新功能和文档 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 超参优化 ^^^^^^^^^^^^^^^^^^^^^^^^^^ * 全新 Tuner: `Population Based Training (PBT) `__ * Trial 现在可以返回无穷大和 NaN 结果 神经网络架构搜索 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 全新 NAS 算法:`TextNAS `__ * 在 Web 界面 支持 ENAS 和 DARTS的 `可视化 `__ 模型压缩 ^^^^^^^^^^^^^^^^^ * 全新 Pruner: `GradientRankFilterPruner `__ * 默认情况下,Compressor 会验证配置 * 重构:可将优化器作为 Pruner 的输入参数,从而更容易支持 DataParallel 和其它迭代剪枝方法。 这是迭代剪枝算法用法上的重大改动。 * 重构了模型压缩示例 * 改进 `模型压缩算法 `__ 训练平台 ^^^^^^^^^^^^^^^^ * Kubeflow 现已支持 pytorchjob crd v1 (感谢贡献者 @jiapinai) * 实验性地支持 `DLTS `__ 文档的整体改进 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 语法、拼写以及措辞上的修改 (感谢贡献者 @AHartNtkn) 修复的 Bug ^^^^^^^^^^^^^^^^^^^ * ENAS 不能使用多个 LSTM 层 (感谢贡献者 @marsggbo) * NNI 管理器的计时器无法取消订阅 (感谢贡献者 @guilhermehn) * NNI 管理器可能会耗尽内存 (感谢贡献者 @Sundrops) * 批处理 Tuner 不支持自定义 Trial (#2075) * Experiment 启动失败后,无法终止 (#2080) * 非数字的指标会破坏网页界面 (#2278) * lottery ticket Pruner 中的 Bug * 其它小问题 发布 1.4 - 2/19/2020 ----------------------- 主要功能 ^^^^^^^^^^^^^^ 神经网络架构搜索 ^^^^^^^^^^^^^^^^^^^^^^^^^^ * 支持 `C-DARTS `__ 算法并增加 `the 示例 `__ using it * 初步支持 `ProxylessNAS `__ 并增加 `示例 `__ * 为 NAS 框架增加单元测试 模型压缩 ^^^^^^^^^^^^^^^^^ * 为压缩模型增加 DataParallel,并提供 `示例 `__ * 支持模型压缩的 `加速 `__ (试用版) 训练平台 ^^^^^^^^^^^^^^^^ * 通过允许指定 OpenPAI 配置文件路径,来支持完整的 OpenPAI 配置 * 为新的 OpenPAI 模式(又称,paiK8S)增加示例配置 YAML 文件 * 支持删除远程模式下使用 sshkey 的 Experiment (感谢外部贡献者 @tyusr) Web 界面 ^^^^^^^^^^^^^^^^^^^^^^ * Web 界面重构:采用 fabric 框架 其它 ^^^^^^ * `查看早停 Experiment `__ * 支持取消 UNKNOWN 状态的 Trial。 * 支持最大 50MB 的搜索空间文件 (感谢外部贡献者 @Sundrops) 文档 ^^^^^^^^^^^^^ * 改进 NNI readthedocs 的 `索引目录结果 `__ of NNI readthedocs * 改进 `NAS 文档 `__ * 增加 `PAI 模式的文档 `__ * 为 `NAS `__ 和 `模型压缩 `__ 增加快速入门指南 * 改进 `EfficientNet 的文档 `__ Bug 修复 ^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复在指标数据和 JSON 格式中对 NaN 的支持 * 修复搜索空间 ``randint`` 类型的 out-of-range Bug * 修复模型压缩中导出 ONNX 模型时的错误张量设备的 Bug * 修复新 OpenPAI 模式(又称,paiK8S)下,错误处理 nnimanagerIP 的 Bug 发布 1.3 - 12/30/2019 ------------------------ 主要功能 ^^^^^^^^^^^^^^ 支持神经网络架构搜索算法 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 增加 `但路径一次性 `__ 算法和示例 模型压缩算法支持 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 增加 `知识蒸馏 `__ 算法和示例 * Pruners * `L2Filter Pruner `__ * `ActivationAPoZRankFilterPruner `__ * `ActivationMeanRankFilterPruner `__ * `BNN Quantizer `__ 训练平台 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * OpenPAI 的 NFS 支持 从 OpenPAI v0.11开始,HDFS 不再用作默认存储,可将 NFS、AzureBlob 或其他存储用作默认存储。 在本次版本中,NNI 扩展了对 OpenPAI 最近改动的支持,可与 OpenPAI v0.11 及后续版本的默认存储集成。 * Kubeflow 更新适配 适配 Kubeflow 0.7 对 tf-operator 的新支持。 工程(代码和生成自动化) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 启用 `ESLint `__ 静态代码分析 小改动和 Bug 修复 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 正确识别内置 Tuner 和定制 Tuner * Dispatcher 基类的日志 * 修复有时 Tuner、Assessor 的失败会终止 Experiment 的 Bug。 * 修复本机作为远程计算机的 `问题 `__ * SMAC Tuner 中 Trial 配置的去重 `ticket `__ 发布 1.2 - 12/02/2019 ------------------------ 主要功能 ^^^^^^^^^^^^^^ * `特征工程 `__ * 新增特征工程接口 * 新增特征选择算法:`Gradient feature selector `__ 和 `GBDT selector `__ * `特征工程示例 `__ * 神经网络结构搜索在 NNI 上的应用 * `全新 NAS 接口 `__ * NAS 算法:`ENAS `__\ , `DARTS `__\ , `P-DARTS `__ (PyTorch) * 经典模式下的 NAS(每次 Trial 独立运行) * 模型压缩 * `全新模型剪枝算法 `__: lottery ticket 修剪, L1Filter Pruner, Slim Pruner, FPGM Pruner * `全新模型量化算法 `__\ : QAT quantizer, DoReFa quantizer * 支持导出压缩后模型的 API。 * 训练平台 * 支持 OpenPAI 令牌身份验证 * 示例: * `使用 NNI 自动调优 rocksdb 配置示例 `__. * `支持 TensorFlow 2.0 的 MNIST Trial 示例 `__. * 改进 * 远程训练平台中不需要 GPU 的 Trial 任务改为使用随机调度,不再使用轮询调度。 * 添加 pylint 规则来检查拉取请求,新的拉取请求需要符合 `pylint 规则 `__。 * Web 门户和用户体验 * 支持用户添加自定义 Trial。 * 除了超参外,用户可放大缩小详细图形。 * 文档 * 改进了 NNI API 文档,增加了更多的 docstring。 Bug 修复 ^^^^^^^^^^^^^^ * 修复当失败的 Trial 没有指标时,表格的排序问题。 -Issue #1773 * 页面切换时,保留选择的(最大、最小)状态。 -PR#1710 * 使超参数图的默认指标 yAxis 更加精确。 -PR#1736 * 修复 GPU 脚本权限问题。 -Issue #1665 发布 1.1 - 10/23/2019 ------------------------ 主要功能 ^^^^^^^^^^^^^^ * Tuner 可使用专门的 GPU 资源(参考 `tutorial `__ 中的 ``gpuIndices`` 了解详情) * 支持配置 `log 目录 `__ * Tuner 可使用专门的 GPU 资源(参考 `tutorial `__ 中的 ``gpuIndices`` 了解详情) * 改进 WEB 界面 * Trial 详情页面可列出每个 Trial 的超参,以及开始结束时间(需要通过 "add column" 添加) * 优化大型 Experiment 的显示性能 * 更多示例 * `EfficientNet PyTorch 示例 `__ * `Cifar10 NAS 示例 `__ * `模型压缩工具包 - Alpha 阶段 `__:我们很高兴的宣布 NNI 的模型压缩工具包发布了。它还处于试验阶段,会根据使用反馈来改进。 诚挚邀请您使用、反馈,或更多贡献 诚挚邀请您使用、反馈,或更多贡献 修复的 Bug ^^^^^^^^^^^^^^^^^^^ * 当搜索空间结束后,多阶段任务会死锁 (issue #1204) * 没有日志时,``nnictl`` 会失败 (issue #1548) 发布1.0 - 9/2/2019 ---------------------- 主要功能 ^^^^^^^^^^^^^^ * Tuners 和 Assessors * 支持自动特征生成和选择 -Issue#877 -PR #1387 * 提供自动特征接口 * 基于 Beam 搜索的 Tuner * `增加 Pakdd 示例 `__ * 添加并行算法提高 TPE 在高并发下的性能。 -PR #1052 * 为 hyperband 支持多阶段 -PR #1257 * 训练平台 * 支持私有 Docker Registry -PR #755 * 改进 * 增加 RestFUL API 的 Python 包装,支持通过代码获取指标的值 PR #1318 * 新的 Python API : get_experiment_id(), get_trial_id() -PR #1353 -Issue #1331 & -Issue#1368 * 优化 NAS 搜索空间 -PR #1393 * 使用 _type 统一 NAS 搜索空间 -- "mutable_type"e * 更新随机搜索 Tuner * 将 gpuNum 设为可选 -Issue #1365 * 删除 OpenPAI 模式下的 outputDir 和 dataDir 配置 -Issue #1342 * 在 Kubeflow 模式下创建 Trial 时,codeDir 不再被拷贝到 logDir -Issue #1224 * Web 门户和用户体验 * 在 Web 界面的搜索过程中显示最好指标的曲线 -Issue #1218 * 在多阶段 Experiment 中,显示参数列表的当前值 -Issue1210 -PR #1348 * 在 AddColumn 中增加 "Intermediate count" 选项。 -Issue #1210 * 在 Web 界面中支持搜索参数的值 -Issue #1208 * 在默认指标图中,启用指标轴的自动缩放 -Issue #1360 * 在命令行中为 nnictl 命令增加详细文档的连接 -Issue #1260 * 用户体验改进:显示 Error 日志 -Issue #1173 * 文档 * 更新文档结构 -Issue #1231 * (已删除) 多阶段文档的改进 -Issue #1233 -PR #1242 * 添加配置示例 * `改进 WebUI 描述 `__ -PR #1419 Bug 修复 ^^^^^^^^^^^^^^ * (Bug 修复)修复 0.9 版本中的链接 -Issue #1236 * (Bug 修复)自动完成脚本 * (Bug 修复) 修复管道中仅检查脚本中最后一个命令退出代码的问题。 -PR #1417 * (Bug 修复) Tuner 的 quniform -Issue #1377 * (Bug fix) 'quniform' 在 GridSearch 和其它 Tuner 之间的含义不同。 * -Issue #1335 * (Bug 修复)"nnictl experiment list" 将 "RUNNING" 状态的 Experiment 显示为了 "INITIALIZED" -PR #1388 * (Bug 修复) 在 NNI dev 安装模式下无法安装 SMAC。 -Issue #1376 * (Bug 修复) 无法点击中间结果的过滤按钮 -Issue #1263 * (Bug 修复) API "/api/v1/nni/trial-jobs/xxx" 在多阶段 Experiment 无法显示 Trial 的所有参数 -Issue #1258 * (Bug 修复) 成功的 Trial 没有最终结果,但 Web 界面显示成了 ×××(FINAL) -Issue #1207 * (Bug 修复) nnictl stop -Issue #1298 * (Bug 修复) 修复安全警告 * (Bug 修复) 超参页面损坏 -Issue #1332 * (Bug 修复) 运行 flake8 测试来查找 Python 语法错误和未定义的名称 -PR #1217 发布 0.9 - 7/1/2019 ---------------------- 主要功能 ^^^^^^^^^^^^^^ * 生成 NAS 编程接口 * 为 NAS 接口增加 ``enas-mode`` and ``oneshot-mode``: `PR #1201 `__ * `有 Matern 核的高斯过程 Tuner `__ * (已删除) 支持多阶段 Experiment * 为多阶段 Experiment 增加新的训练平台:pai 模式从 v0.9 开始支持多阶段 Experiment。 * 为以下内置 Tuner 增加多阶段的功能: * TPE, Random Search, Anneal, Naïve Evolution, SMAC, Network Morphism, Metis Tuner。 * Web 界面 * 在 Web 界面中可比较 Trial。 详情参考 `查看 Trial 状态 `__ * 允许用户调节 Web 界面的刷新间隔。 详情参考 `查看 Summary 界面 `__ * 更友好的显示中间结果。 详情参考 `查看 Trial 状态 `__ * `命令行接口 `__ * ``nnictl experiment delete``:删除一个或多个 Experiment,包括其日志,结果,环境信息核缓存。 用于删除无用的 Experiment 结果,或节省磁盘空间。 * ``nnictl platform clean``:用于清理目标平台的磁盘空间。 所提供的 YAML 文件包括了目标平台的信息,与 NNI 配置文件的格式相同。 Bug 修复和其它更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 改进 Tuner 安装过程:增加 < `sklearn `__ 依赖。 * (Bug 修复) 连接 OpenPAI 失败的 HTTP 代码 - `Issue #1076 `__ * (Bug 修复) 为 OpenPAI 平台验证文件名 - `Issue #1164 `__ * (Bug 修复) 更新 Metis Tunerz 中的 GMM * (Bug 修复) Web 界面负数的刷新间隔时间 - `Issue #1182 `__ , `Issue #1185 `__ * (Bug 修复) 当只有一个超参时,Web 界面的超参无法正确显示 - `Issue #1192 `__ 发布 0.8 - 6/4/2019 ---------------------- 主要功能 ^^^^^^^^^^^^^^ * 在 Windows 上支持 NNI 的 OpenPAI 和远程模式 * NNI 可在 Windows 上使用 OpenPAI 模式 * NNI 可在 Windows 上使用 OpenPAI 模式 * GPU 的高级功能 * 在本机或远程模式上,可在同一个 GPU 上运行多个 Trial。 * 在已经运行非 NNI 任务的 GPU 上也能运行 Trial * 支持 Kubeflow v1beta2 操作符 * 支持 Kubeflow TFJob/PyTorchJob v1beta2 * `权重共享的 `__ 高级支持:为 NAS Tuner 提供权重共享,当前支持 NFS。 * 实现了 NAS 的编程接口,可通过 NNI Annotation 很容易的表达神经网络架构搜索空间 * 提供新命令 ``nnictl trial codegen`` 来调试 NAS 代码生成部分 * 提供 NAS 编程接口教程,NAS 在 MNIST 上的示例,用于 NAS 的可定制的随机 Tuner * 支持在恢复 Experiment 时,同时恢复 Tuner 和 Advisor 的状态 * 在恢复 Experiment 时,Tuner 和 Advisor 会导入已完成的 Trial 的数据。 * Web 界面 * 改进拷贝 Trial 参数的设计 * 在 hyper-parameter 图中支持 'randint' 类型 * 使用 ComponentUpdate 来避免不必要的刷新 Bug 修复和其它更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复 ``nnictl update`` 不一致的命令行风格 * SMAC Tuner 支持导入数据 * 支持 Experiment 状态从 ERROR 回到 RUNNING * 修复表格的 Bug * 优化嵌套搜索空间 * 优化 'randint' 类型,并支持下限 * `超参调优算法的对比 `__ * `NAS 算法对比 `__ * `NNI 在推荐上的应用 `__ 发布 0.7 - 4/29/2018 ----------------------- 主要功能 ^^^^^^^^^^^^^^ * `在 WIndows 上支持 NNI `__ * NNI 可在 Windows 上使用本机模式 * `全新 advisor: BOHB `__ * 支持新的 BOHB Advisor,这是一个健壮而有效的超参调优算法,囊括了贝叶斯优化和 Hyperband 的优点 * `支持通过 nnictl 来导入导出 Experiment 数据 `__ * 在 Experiment 执行完后,可生成分析结果报告 * 支持将先前的调优数据导入到 Tuner 和 Advisor 中 * `为 NNI Trial 任务指定 GPU 设备 `__ * 通过 gpuIndices 配置来为 Trial 任务指定GPU。如果 Experiment 配置文件中有 gpuIndices,则只有指定的 GPU 会被用于 NNI 的 Trial 任务。 * 改进 Web 界面 * 在 Web 界面上使用十进制格式的指标 * 添加多阶段训练相关的提示 * 可将超参复制为 Python dict 格式 * 可将提前终止的 Trial 数据传入 Tuner。 * 为 nnictl 提供更友好的错误消息 * 为 YAML 文件格式错误提供更有意义的错误信息 Bug 修复 ^^^^^^^^^^^^^^^^ * 运行 nnictl stop 的异步 Dispatcher 模式时,无法杀掉所有的 Python 线程 * nnictl --version 不能在 make dev-install 下使用 * OpenPAI 平台下所有的 Trial 任务状态都是 'WAITING' 发布 0.6 - 4/2/2019 ---------------------- 主要功能 ^^^^^^^^^^^^^^ * `版本检查 `__ * 检查 nniManager 和 trialKeeper 的版本是否一致 * `为早停的任务报告最终指标 `__ * 如果 includeIntermediateResults 为 true,最后一个 Assessor 的中间结果会被发送给 Tuner 作为最终结果。 includeIntermediateResults 的默认值为 false。 * `独立的 Tuner/Assessor `__ * 增加两个管道来分离 Tuner 和 Assessor 的消息 * 使日志集合功能可配置 * 为所有 Trial 增加中间结果的视图 Bug 修复 ^^^^^^^^^^^^^^^^ * `为 OpenPAI 增加 shmMB 配置 `__ * 修复在指标为 dict 时,无法显示任何结果的 Bug。 * 修复 hyperband 中浮点类型的计算问题 * 修复 SMAC Tuner 中搜索空间转换的错误 * 修复 Web 界面中解析 Experiment 的错误格式 * 修复 Metis Tuner 冷启动时的错误 发布 0.5.2 - 3/4/2019 ------------------------ 改进 ^^^^^^^^^^^^ * 提升 Curve fitting Assessor 的性能。 文档 ^^^^^^^^^^^^^ * 发布中文文档网站:https://nni.readthedocs.io/zh/latest/ * 调试和维护:https://nni.readthedocs.io/zh/latest/Tutorial/HowToDebug.html * Tuner、Assessor 参考:https://nni.readthedocs.io/zh/latest/sdk_reference.html#tuner Bug 修复和其它更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复了在某些极端条件下,不能正确存储任务的取消状态。 * 修复在使用 SMAC Tuner 时,解析搜索空间的错误。 * 修复 CIFAR-10 样例中的 broken pipe 问题。 * 为本地训练服务和 NNI 管理器添加单元测试。 * 为远程服务器、OpenPAI 和 Kubeflow 训练平台在 Azure 中增加集成测试。 * 在 OpenPAI 客户端中支持 Pylon 路径。 发布 0.5.1 - 1/31/2018 ------------------------- 改进 ^^^^^^^^^^^^ * 支持 `不同级别的日志 `__,使其更易于调试。 * 支持 `不同级别的日志 `__,使其更易于调试。 文档 ^^^^^^^^^^^^^ * 重新组织文档,新的主页位置:https://nni.readthedocs.io/zh/latest/ Bug 修复和其它更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 修复了 Python 虚拟环境中安装的 Bug,并重构了安装逻辑。 * 修复了在最新的 OpenPAI 下存取 HDFS 失败的问题。 * 修复了有时刷新 stdout 会造成 Experiment 崩溃的问题。 发布 0.5.0 - 01/14/2019 -------------------------- 主要功能 ^^^^^^^^^^^^^^ 支持新的 Tuner 和 Assessor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 支持 `Metis tuner `__ 对于\ **在线**\ 超参调优的场景,Metis 算法已经被证明非常有效。 * 支持 `ENAS customized tuner `__。由 GitHub 社区用户所贡献。它是神经网络的搜索算法,能够通过强化学习来学习神经网络架构,比 NAS 的性能更好。 * 支持 `Curve fitting assessor `__,通过曲线拟合的策略来实现提前终止 Trial。 * `权重共享的 `__ 高级支持:为 NAS Tuner 提供权重共享,当前支持 NFS。 改进训练平台 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * `FrameworkController 训练服务 `__:支持使用在 Kubernetes 上使用 FrameworkController 运行。 * FrameworkController 是 Kubernetes 上非常通用的控制器(Controller),能用来运行基于各种机器学习框架的分布式作业,如 TensorFlow,Pytorch, MXNet 等。 * NNI 为作业定义了统一而简单的规范。 * 如何使用 FrameworkController 的 MNIST 样例。 改进用户体验 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 为 OpenPAI, Kubeflow 和 FrameworkController 模式提供更好的日志支持。 * 改进后的日志架构能将尝试的 stdout/stderr 通过 HTTP POST 方式发送给 NNI 管理器。 NNI 管理器将 Trial 的 stdout/stderr 消息存储在本地日志文件中。 * 在 WEB 界面上显示 Trial 日志的链接。 * 支持将最终结果显示为键值对。 发布 0.4.1 - 12/14/2018 -------------------------- 主要功能 ^^^^^^^^^^^^^^ 支持新的 Tuner ^^^^^^^^^^^^^^^^^^ * 支持 `network morphism `__ Tuner 改进训练服务 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 将 `Kubeflow 训练平台 `__ 的依赖从 kubectl CLI 迁移到 `Kubernetes API `__ 客户端。 * Kubeflow 训练服务支持 `Pytorch-operator `__。 * 改进将本地代码文件上传到 OpenPAI HDFS 的性能。 * 修复 OpenPAI 在 WEB 界面的 Bug:当 OpenPAI 认证过期后,Web 界面无法更新 Trial 作业的状态。 改进 NNICTL ^^^^^^^^^^^^^^^^^^^ * 在 nnictl 和 WEB 界面中显示 NNI 的版本信息。 可使用 **nnictl -v** 来显示安装的 NNI 版本。 改进 WEB 界面 ^^^^^^^^^^^^^^^^^^ * 在 Experiment 运行中可修改并发数量 * 增加指向 NNI Github 的反馈链接,可直接创建问题 * 可根据指标,定制选择(最大或最小)的前 10 个 Trial。 * 为 dispatcher 和 nnimanager 提供下载日志的功能 * 为指标数值图提供自动缩放的数轴 * 改进 Annotation,支持在搜索空间中显示实际的选项 新样例 ^^^^^^^^^^^^ * `FashionMnist `__ 使用 network morphism Tuner * 改进 PyTorch 中的 `分布式 MNIST 示例 `__ 发布 0.4 - 12/6/2018 ----------------------- 主要功能 ^^^^^^^^^^^^^^ * `Kubeflow 训练平台 `__ * 支持 tf-operator * Kubeflow 上的 `分布式 Trial 示例 `__ * `Grid search tuner `__ * `Hyperband tuner `__ * 支持在 MAC 上运行 NNI 实验 * Web 界面 * 支持 hyperband 调参器 * 移除 tensorboard 按钮 * 显示实验的错误消息 * 显示搜索空间和尝试配置的行号 * 支持通过指定的尝试 id 来搜索 * 显示尝试的 hdfsLogPath * 下载实验参数 其它 ^^^^^^ * 异步调度 * 更新 Docker 文件,增加 pytorch 库 * 重构 'nnictl stop' 过程,发送 SIGTERM 给 NNI 管理器进程,而不是调用停止 Restful API. * OpenPAI 训练服务修复缺陷 * 在 NNI 管理器中为 OpenPAI 集群配置文件支持 IP 配置(nniManagerIp),来修复用户计算机没有 eth0 设备的问题。 * codeDir 中的文件数量上限改为1000,避免用户无意中填写了 root 目录。 * 移除 OpenPAI 作业的 stdout 日志中无用的 ‘metrics is empty’。 在新指标被记录时,仅输出有用的消息,来减少用户检查 OpenPAI Trial 输出时的困惑。 * 在尝试 keeper 的开始增加时间戳。 发布 0.3.0 - 11/2/2018 ------------------------- NNICTL 的新功能和更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 支持同时运行多个实验。 在 v0.3 以前,NNI 仅支持一次运行一个实验。 此版本开始,用户可以同时运行多个 Experiment。 每个实验都需要一个唯一的端口,第一个实验会像以前版本一样使用默认端口。 需要为其它实验指定唯一端口: .. code-block:: bash nnictl create --port 8081 --config * 支持更新最大尝试的数量。 使用 ``nnictl update --help`` 了解详情。 或参考 `NNICTL Spec `__ 查看完整帮助。 API 的新功能和更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * 不兼容的变化:nn.get_parameters() 改为 nni.get_next_parameter。 所有以前版本的样例将无法在 v0.3 上运行,需要重新克隆 NNI 代码库获取新样例。 如果在自己的代码中使用了 NNI,也需要相应的更新。 所有以前版本的样例将无法在 v0.3 上运行,需要重新克隆 NNI 代码库获取新样例。 如果在自己的代码中使用了 NNI,也需要相应的更新。 * 新 API **nni.get_sequence_id()**。 每个尝试任务都会被分配一个唯一的序列数字,可通过 nni.get_sequence_id() API 来获取。 .. code-block:: bash git clone -b v0.3 https://github.com/microsoft/nni.git * **nni.report_final_result(result)** API 对结果参数支持更多的数据类型。 可用类型: * int * float * 包含有 'default' 键值的 dict,'default' 的值必须为 int 或 float。 dict 可以包含任何其它键值对。 新的内置调参器 ^^^^^^^^^^^^^^^^^ **Batch Tuner(批处理调参器)** 会执行所有曹参组合,可被用来批量提交尝试任务。 新样例 ^^^^^^^^^^^^ * 公共的 NNI Docker 映像: .. code-block:: bash docker pull msranni/nni:latest * 新的 Trial 示例: `NNI Sklearn Example `__ * 全新比赛示例 `Kaggle Competition TGS Salt Example `__ 其它 ^^^^^^ * 界面重构,参考 `WebUI 文档 `__,了解如何使用新界面。 * 持续集成:NNI 已切换到 Azure pipelines。 发布 0.2.0 - 9/29/2018 ------------------------- 主要功能 ^^^^^^^^^^^^^^ * 支持 `OpenPAI `__ (又称 pai) 训练平台 (参考 `这里 `__ 来了解如何在 OpenPAI 下提交 NNI 任务) * 支持 pai 模式的训练服务。 NNI 尝试可发送至 OpenPAI 集群上运行 * NNI 尝试输出 (包括日志和模型文件) 会被复制到 OpenPAI 的 HDFS 中。 * 支持 `SMAC `__ tuner (参考 `这里 `__ 来了解如何使用 SMAC tuner) * `SMAC `__ 基于 Sequential Model-Based Optimization (SMBO). 它会利用使用过的突出的模型(高斯随机过程模型),并将随机森林引入到SMBO中,来处理分类参数。 * `通用 NAS 编程接口 `__ * 支持将 NNI 安装在 `conda `__ 和 Python 虚拟环境中。 * 其它 * 更新 ga squad 样例与相关文档 * 用户体验改善及缺陷修复 发布 0.1.0 - 9/10/2018 (首个版本) ------------------------------------------- 首次发布 Neural Network Intelligence (NNI)。 主要功能 ^^^^^^^^^^^^^^ * 安装和部署 * 支持 pip 和源代码安装 * 支持本机(包括多 GPU 卡)训练和远程多机训练模式 * 调参器,评估器和尝试 * 支持的自动机器学习算法包括: hyperopt_tpe, hyperopt_annealing, hyperopt_random, 和 evolution_tuner。 * 支持评估器(提前终止)算法包括:medianstop。 * 提供 Python API 来自定义调参器和评估器 * 提供 Python API 来包装尝试代码,以便能在 NNI 中运行 * 实验 * 提供命令行工具 'nnictl' 来管理实验 * 提供网页界面来查看并管理实验 * 持续集成 * 使用 Ubuntu 的 `travis-ci `__ 来支持持续集成 * 其它 * 支持简单的 GPU 任务调度