AI开发平台MODELARTS-SDXL WebUI基于Devserver适配PyTorch NPU推理指导(6.3.902):Step4 运行并验证SDXL模型

时间:2024-09-24 10:50:13

Step4 运行并验证SDXL模型

  1. 首先在容器中运行命令。
    cd /home/ma-user/stable-diffusion-webui
    source /usr/local/Ascend/ascend-toolkit/set_env.sh
  2. 在/home/ma-user目录下已经存在launch.py脚本文件,启动launch.py命令如下。
    python3 launch.py --skip-torch-cuda-test --port 8183 --enable-insecure-extension-access --listen --log-startup --disable-safe-unpickle --skip-prepare-environment --api
    启动成功后,打印如下信息。
    图2 启动成功
  3. 使用http://{宿主机ip}:8183 可以访问前端页面,通过输入文字生成图片。
    图3 文生图

    注意开启fa优化按钮。

    图4 开启fa优化按钮

    如果使用涉黄文字,输出的图片会返回黑图,用于验证safety-checker功能。同时,服务端会打印如下信息。

    图5 服务端返回信息
  4. 带controlnet运行,默认使用canny。
    图6 带controlnet运行

    可以观察到输出的图片与canny输入图片很相近,坐姿和样子比较符合,如下图所示。

    图7 文生图
  5. 使用后台API调用文生图接口。
    curl -kv -X POST localhost:8183/sdapi/v1/txt2img -H "Content-Type: application/json" -d '{"prompt":"a dog"}'

    客户端返回图像的base64编码,将base64编码再转换为图片,转换代码如下。

    from PIL import Image
    from io import BytesIO
    import base64
      
    def base64_to_image(base64_str):
        image = base64.b64decode(base64_str, altchars=None, validate=False)
        image = BytesIO(image)
        image = Image.open(image)
        image.save("./out_put_image.png")
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1530.html