⚠️ 注意:有限維護
此專案不再積極維護。現有版本仍然可用,但沒有計劃的更新、錯誤修復、新功能或安全補丁。使用者應注意,漏洞可能不會得到解決。
AMD 支援¶
TorchServe 可以在 ROCm 支援 的任何作業系統和裝置組合上執行。
支援的 ROCm 版本¶
當前穩定的 major.patch 版本以及上一個 path 版本都將得到支援。例如,版本 N.2 和 N.1,其中 N 是當前主要版本。
安裝¶
確保你的系統上安裝了 python >= 3.8。
克隆倉庫
git clone git@github.com:pytorch/serve.git
進入克隆的資料夾
cd serve
為 python 建立一個虛擬環境
python -m venv venv
啟用虛擬環境。如果你使用其他 shell (fish, csh, powershell),請使用
/venv/bin/中相應的選項。source venv/bin/activate
安裝支援 ROCm 所需的依賴項。
python ./ts_scripts/install_dependencies.py --rocm=rocm61 python ./ts_scripts/install_from_src.py
在 python 虛擬環境中啟用 amd-smi
sudo chown -R $USER:$USER /opt/rocm/share/amd_smi/ pip install -e /opt/rocm/share/amd_smi/
使用 HIP_VISIBLE_DEVICES 選擇加速器¶
如果你在執行 TorchServe 的系統上有多個加速器,可以透過設定環境變數 HIP_VISIBLE_DEVICES 來選擇哪些加速器對 TorchServe 可見,將其設定為一個由逗號分隔的、從 0 開始索引的整陣列成的字串,表示加速器的 ID。
如果你有 8 個加速器,但只希望 TorchServe 看到最後四個,則執行 export HIP_VISIBLE_DEVICES=4,5,6,7。
ℹ️ **不設定**
HIP_VISIBLE_DEVICES將導致 TorchServe 使用其執行系統上所有可用的加速器。
⚠️ 如果將
HIP_VISIBLE_DEVICES設定為空字串(例如export HIP_VISIBLE_DEVICES=或export HIP_VISIBLE_DEVICES=""),可能會遇到問題;如果想移除其效果,請使用unset HIP_VISIBLE_DEVICES。
⚠️ 同時設定
CUDA_VISIBLE_DEVICES和HIP_VISIBLE_DEVICES可能會導致意外行為,應避免這樣做。將來這樣做可能會引發異常。
Docker¶
開發中
Dockerfile.rocm 為 TorchServe 提供了初步的 ROCm 支援。
構建和執行 dev-image
docker build --file docker/Dockerfile.rocm --target dev-image -t torch-serve-dev-image-rocm --build-arg USE_ROCM_VERSION=rocm62 --build-arg BUILD_FROM_SRC=true .
docker run -it --rm --device=/dev/kfd --device=/dev/dri torch-serve-dev-image-rocm bash
示例用法¶
安裝了支援 ROCm 所需依賴項的 TorchServe 後,你就可以準備服務你的模型了。
如需一個簡單示例,請參考 serve/examples/image_classifier/mnist/。