PyTorch Serve 在 Windows 上 ¶
本文档内容¶
预备知识¶
目前,它只在Windows Server 2019上进行了认证,但在Windows 10上应该可以正常工作。
请确保您是管理员用户或具有管理员权限。
给出的指令将使用Anaconda PowerShell终端安装torchserve。
按照这里给出的说明安装Anaconda
按照这里给出的说明安装Git
安装 openjdk17
下载 openjdk17
解压并编辑/添加环境变量,例如 PATH 和 JAVA_HOME。
使用命令行
unzip jdk-17.0.3_windows-x64_bin.zip或使用 GUI 界面编辑系统或用户配置环境变量
PATH的值,并在其后附加路径<your-openjdk17-path>\bin
安装 node.js
下载 nodejs
安装完成后,请确保 nodejs 和 npm 节点模块二进制文件存在于 PATH 环境变量中。
如果你的“Anaconda Powershell Prompt”(APP)无法检测npm或nodejs命令,你可能需要重新启动Windows。
从二进制安装¶
注意目前,Windows 版本的 PyTorch 轮子在 PyPi 上不可用。但是,如果您已经预构建了 Windows 版本的 torchserve 轮子,也可以按照以下步骤进行安装。
在“Anaconda Powershell Prompt”(APP)中以管理员身份启动,例如右键点击APP并运行以下命令。
git clone https://github.com/pytorch/serve.gitcd servepython .\ts_scripts\install_dependencies.py本地轮文件
pip install <your-torchserve-wheel-file-name>.whl
对于 PyPi 包(目前暂无)
pip install torchserve torch-model-archiver
开始torchserve
torchserve.exe --start --model-store <path-to-model-store>对于下一步,请参阅服务模型
从源代码安装¶
确保系统或用户配置环境变量名称
JAVA_HOME的值为<your-openjdk17-path>路径已存在。安装 Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019
注意,请在安装上述 Visual C++ 组件后重启系统。
确保环境变量
Path中包含“nvidia-smi.exe”。通常,它应该位于<your_install_drive>\Program Files\NVIDIA Corporation\NVSMI目录下,例如C:\Program Files\NVIDIA Corporation\NVSMI。将此路径添加到Path环境变量。在“Anaconda Powershell Prompt”(APP)中以管理员身份启动,例如右键点击APP并运行以下命令。
git clone https://github.com/pytorch/serve.gitpip install clickcd serve
对于生产使用,请使用以下命令:¶
python .\ts_scripts\install_dependencies.py --environment=prodpython .\ts_scripts\install_from_src.py
为了开发目的,请使用以下命令:¶
如果你计划使用TorchServe进行开发并更改一些源代码,以下命令将有所帮助。 安装依赖项脚本会安装一些额外的依赖项,这些依赖项是开发和测试所需的。
python .\ts_scripts\install_dependencies.py --environment=devpython .\ts_scripts\install_from_src.py
调试¶
如果您正在从源代码构建,则可能需要根据
frontend/server/src/test/resources/config.properties中指定的端口号更改推理、管理和指标API的所有文件在frontend/server/src/test/resources/snapshot/*和frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java如果
curl命令执行失败,则在应用程序(Anaconda Powershell 提示符)中运行以下命令Remove-item alias:curl详情请参阅此 Stack Overflow 答案。