AI开发平台MODELARTS-SD1.5&SDXL ComfyUI、WebUI、Diffusers套件适配PyTorch NPU的推理指导(6.3.909):步骤四:Diffusers部署

时间:2024-11-12 16:42:37

步骤四:Diffusers部署

安装依赖和模型包

  1. 安装pip依赖。
    pip install  accelerate transformers==4.41.2 diffusers==0.29.2
  2. 安装插件代码包。
    1. 将获取到的插件代码包AscendCloud-AIGC-6.3.909-xxx.zip文件上传到容器的/home/ma-user/temp目录下,并解压。
      cd /home/ma-user/temp
      unzip AscendCloud-AIGC-6.3.909-*.zip #解压
    2. 将AIGC包解压后,进入aigc_inference/torch_npu/diffusers/0_21_2/ascend_diffusers目录下,按照README.md安装。
      pip install -e .

      如果运行时出现Cannot find bin of op MatMulV2的报错,则在examples/sd_inference_example.py文件中注释以下代码。

      torch_npu.npu.set_compile_mode(jit_compile=False)

启动服务

  • 单卡SD1.5模型推理启动服务命令如下。
    python examples/sd_inference_example.py --prompt 'a dog' --num_inference_steps 50 --width 512 768 1024 --height 512 768 1024 --dynamo --dynamic
  • 单卡SDXL模型推理启动服务命令如下。
    python examples/sd_inference_example.py --sdxl --model_id stabilityai/stable-diffusion-xl-base-1.0 --prompt 'a dog' --num_inference_steps 50 --width 512 768 1024 --height 512 768 1024 --dynamo --dynamic
  • 多卡SD1.5模型推理启动服务命令如下。

    目前多卡推理仅支持SD1.5模型。

    多卡推理启动前需要切换torch_npu版本,下载torch_npu的whl包到temp目录下

    https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1.1-pytorch2.1.0/torch_npu-2.1.0.post5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

    cd temp
    pip install torch_npu-2.1.0.post5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
    多卡推理启动如下,ASCEND_RT_VISIBLE_DEVI CES 表示容器内的卡号。
    cd aigc_inference/torch_npu/diffusers/0_21_2/ascend_diffusers
    ASCEND_RT_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node 2 examples/sd_inference_example.py --dynamo --parallel
support.huaweicloud.com/bestpractice-modelarts/modelarts_aigc_sdinfer_9091.html