Windows 上的 TorchServe¶
本文档内容¶
先决条件¶
目前,它仅在 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
附加到其中
安装 nodejs
下载 nodejs
安装后,确保 PATH 环境变量中存在 nodejs 和 npm 节点模块二进制文件。
如果您的“Anaconda Powershell Prompt”(APP) 无法检测到 npm 或 nodejs 命令,您可能需要重新启动 Windows
从二进制文件安装¶
注意:目前,Windows 的 wheels 在 PyPi 上不可用。但是,如果您有预构建的 torchserve wheel for windows,也可以使用以下步骤。
以管理员用户身份启动“Anaconda Powershell Prompt”(APP),即右键单击 APP 并运行以下命令
git clone https://github.com/pytorch/serve.git
cd serve
python .\ts_scripts\install_dependencies.py
对于本地 wheel 文件
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 和 2019
注意:确保在安装上述 Visual C++ 组件后重新启动系统
确保
nvidia-smi.exe
在Path
环境变量中可用。通常,它应该在<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.git
pip install click
cd serve
对于生产用途,请使用以下命令:¶
python .\ts_scripts\install_dependencies.py --environment=prod
python .\ts_scripts\install_from_src.py
对于开发目的,请使用以下命令:¶
如果您计划使用 TorchServe 进行开发并更改一些源代码,以下命令将有所帮助。install_dependencies 脚本安装了一些开发和测试所需的额外依赖项。
python .\ts_scripts\install_dependencies.py --environment=dev
python .\ts_scripts\install_from_src.py
故障排除¶
如果您是从源代码构建,那么您可能需要更改推理、管理和指标 api 的端口号,如
frontend/server/src/test/resources/config.properties
、frontend/server/src/test/resources/snapshot/*
中的所有文件和frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java
中指定的那样如果
curl
命令执行失败,请在 APP(anaconda powershell 提示符)上运行以下命令Remove-item alias:curl
参考此SO 答案了解详细信息。