ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

NNI 在 Windows 上的完整安装指南:环境准备、源码编译与 MNIST 实验验证

NNI 在 Windows 上的完整安装指南:环境准备、源码编译与 MNIST 实验验证 NNI 在 Windows 上的完整安装指南环境准备、源码编译与 MNIST 实验验证【免费下载链接】nniAn open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.项目地址: https://gitcode.com/gh_mirrors/nn/nni本指南以 NNINeural Network Intelligence微软开源 AutoML 工具包在 Windows 平台上的安装为主线覆盖前置环境搭建、pip 一键安装与源码编译两种方式、以及通过 MNIST 示例验证安装是否成功的完整流程。读完本文你将能够在 Windows 上独立完成 NNI 的安装、启动首个调参实验并掌握常见安装故障的排查方法。文档与代码示例均取自当前仓库 docs/_removed/InstallationWin.rst 及其对应的 示例配置、安装脚本 等真实文件。前置条件先把 Windows 环境备齐在 Windows 上安装 NNI 之前需要先满足以下几项环境要求原文档要求并结合当前仓库 setup.py 确认Python 3 的 64 位版本。原文档要求 Python 3.6 及以上当前仓库 setup.py 中python_requires 3.7建议直接使用较新的 Python 3.7 64 位环境。强烈推荐使用 Anaconda 或 Miniconda 管理多个 Python 环境这不仅能隔离依赖还能规避下文 FAQ 中提到的 SciPy DLL 缺失问题。Microsoft C Build Tools。如果是全新安装的 Python 环境需要安装微软 C 构建工具否则编译scikit-learn等 NNI 依赖时会失败。安装后建议先升级构建相关的基础包pip install cython wheelgit。用于克隆源码、获取示例与验证安装。Microsoft Visual C 14.0 编译器。安装部分 Python 扩展如simplejson以及nni[BOHB]的扩展依赖时需要详见下文 FAQ。安装 NNIpip 一键安装 vs 源码编译大多数情况下通过 pip 安装是最快、最省事的方式如果你需要体验最新代码或做定制开发则可以从源码安装。仓库 dependencies/setup.txt 对构建工具链给出了明确的版本约束pip 23、setuptools 63、wheel 0.38源码安装前先按此锁定版本可避免构建兼容性问题。方式一从 pip 包安装推荐在命令行中执行python -m pip install --upgrade nni--upgrade参数确保在已安装旧版本时自动升级到最新版本。方式二从源码安装如果你关注特殊版本或最新代码可以克隆源码后以开发模式安装git clone https://gitcode.com/gh_mirrors/nn/nni cd nni python -m pip install -U -r dependencies/setup.txt python -m pip install -r dependencies/develop.txt python setup.py develop这条命令链的每一步都有明确的职责dependencies/setup.txt用于锁定pip/setuptools/wheel的构建工具版本dependencies/develop.txt安装开发依赖包括cython、pytest、flake8、sphinx等完整列表见 dependencies/develop.txtpython setup.py develop以可编辑development模式安装 NNI。从 setup.py 的Develop类实现可以看出它会在安装时自动构建 TypeScript 模块setup_ts.build并自动决定是否启用--user安装检测到 conda 或虚拟环境时不会加--user。安装完成后NNI 的核心依赖会自动就绪包括numpy、scikit-learn、scipy、pandas、pyyaml、requests、schema、websockets等完整清单见 dependencies/required.txt。此外 setup.py 还通过extras_require提供了可选算法依赖例如pip install nni[BOHB]会额外安装ConfigSpace与statsmodelspip install nni[SMAC]会安装ConfigSpaceNNI与smac4nni详见 dependencies/required_extra.txt。安装完成后命令行工具nnictl会通过 setup.py 中声明的console_scripts入口点nnictl nni.tools.nnictl.nnictl:parse_args注册到系统中可直接在命令行调用。验证安装运行 MNIST 调参实验安装完成后最直接的验证方式是克隆示例代码并启动一个 MNIST 超参调优实验。git clone https://gitcode.com/gh_mirrors/nn/nni nnictl create --config nni\examples\trials\mnist-pytorch\config_windows.yml这里使用的是仓库中现成的 Windows 专用配置 examples/trials/mnist-pytorch/config_windows.yml其内容如下searchSpaceFile: search_space.json trialCommand: python mnist.py trialGpuNumber: 0 trialConcurrency: 1 tuner: name: TPE classArgs: optimize_mode: maximize trainingService: platform: local关键细节Windows 默认安装的 Python 可执行文件是python.exe而非python3.exe因此实验 YAML 中的trialCommand必须写python。这一点在跨平台的 config.yml 中也有明确注释# NOTE: change python3 to python if you are using Windows。如果使用 PyTorch 以外的框架可以在examples\trials下选择对应示例但同样需要把每个示例 YAML 中的python3改为python。实验启动后命令行应依次出现如下日志其中INFO: Successfully started 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 -----------------------------------------------------------------------从日志可以看出NNI 会先启动 Restful 服务端、写入本地配置再拉起实验进程并最终给出实验 ID 与 Web UI 访问地址。启动后你可以用下列nnictl命令管理实验这些命令在 nni/tools/nnictl/nnictl_utils.py 中均有对应实现如trial_ls、trial_kill、log_stdout、log_stderr、monitor_experiment等命令说明nnictl experiment show显示实验信息nnictl trial ls列出所有 trial 任务nnictl top监控正在运行的实验状态nnictl log stderr查看 stderr 日志nnictl log stdout查看 stdout 日志nnictl stop停止一个实验nnictl trial kill按 ID 终止一个 trial 任务nnictl --help获取 nnictl 帮助信息在浏览器中打开日志给出的Web UI url例如http://127.0.0.1:8080即可看到实验总览页点击具体 trial 可以进入详情页查看每个 trial 的超参、中间指标与最终结果对示例试验脚本 examples/trials/mnist-pytorch/mnist.py 而言其内部通过nni.get_next_parameter()获取 tuner 给出的超参训练过程中用nni.report_intermediate_result(test_acc)上报中间精度结束时用nni.report_final_result(test_acc)上报最终结果——这些正是 Web UI 中曲线与参数表格的数据来源也是理解整个调参闭环的关键入口。Windows 系统要求Windows 10.1809 是官方充分测试并推荐的版本。由于潜在的代码演进NNI 的最低系统要求可能随时间变化下表为原文档给出的推荐与最低配置项目推荐配置最低配置操作系统Windows 10 1809 及以上—CPUIntel® Core™ i5 或 AMD Phenom™ II X3 或更高Intel® Core™ i3 或 AMD Phenom™ X3 8650GPUNVIDIA® GeForce® GTX 660 或更高NVIDIA® GeForce® GTX 460内存6 GB RAM4 GB RAM存储30 GB 可用硬盘空间—网络宽带互联网连接—分辨率1024 x 768 最低显示分辨率—Windows 常见安装与运行问题FAQ安装 NNI 时 simplejson 编译失败错误信息形如building simplejson._speedups extension error: [WinError 3] The system cannot find the path specified原因与解决办法确保已安装 C 14.0 编译器即 Microsoft C Build Tools 中的 MSVC 工具链。命令行或 PowerShell 中 trial 报缺少 DLL错误信息形如ImportError: DLL load failed原因与解决办法此错误通常由缺少LIBIFCOREMD.DLL和LIBMMD.DLL、且 SciPy 安装失败导致。使用带 Python64 位的 Anaconda 或 Miniconda 可以解决——这也是前置条件中强烈推荐 conda 的原因。Web UI 上 trial 运行失败请先查看 trial 的stderr日志文件获取详细信息。两种常见情况忘记把实验 YAML 中的trialCommand由python3改为pythonWindows 没有python3.exe忘记安装实验依赖如 TensorFlow、Keras、PyTorch 等框架。在 Windows 上无法使用 BOHB运行pip install nni[BOHB]安装 BOHB 依赖时必须确保已安装 C 14.0 编译器否则statsmodels、ConfigSpace等原生扩展无法编译。Windows 上不支持的 tunerSMAC 当前在 Windows 上不受支持具体原因与社区的对应讨论一致SMAC3 相关的平台兼容性问题。如需使用建议在 Linux 环境运行。将 Windows 机器作为远程 worker参考仓库中的远程模式文档 docs/_removed/TrainingService/RemoteMachineMode.rst它详细说明了如何在多台机器含 Windows 节点上搭建训练服务。安装时出现 Segfaultcore dumped参考 FAQ 中的相关条目排查通常是构建工具链或原生依赖兼容性问题可结合错误上下文定位。延伸阅读安装验证完成后可以继续深入以下主题以下链接均为当前仓库内的真实文档已转换为仓库根目录相对路径NNI 项目总览Web UI 使用指南 与 Web UI 更多页面说明本地模式如何在单机多 GPU 上运行实验OpenPAI 平台模式Kubernetes Kubeflow 模式Kubernetes FrameworkController 模式在 Linux/macOS 上的安装流程与 Windows 大体一致区别仅在于使用python3、示例配置为config.yml等可参考 docs/_removed/InstallationLinux.rst 获取对应平台的命令。【免费下载链接】nniAn open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.项目地址: https://gitcode.com/gh_mirrors/nn/nni创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表