快捷方式

⚠️ 注意:有限维护

此项目不再积极维护。现有版本仍然可用,但没有计划的更新、错误修复、新功能或安全补丁。用户应注意,漏洞可能不会得到解决。

AMD 支持

TorchServe 可以在 ROCm 支持 的任何操作系统和设备组合上运行。

支持的 ROCm 版本

当前稳定的 major.patch 版本以及上一个 path 版本都将得到支持。例如,版本 N.2N.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_DEVICESHIP_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/

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源