单机多卡部署Stable Diffusion: 注意 diffusers版本

部署运行你感兴趣的模型镜像
# 替换为你模型文件夹的本地路径
    MODEL_PATH = "/data1/fyu/models/stable-diffusion-v1-5"

    # 加载本地模型并自动分配到多张GPU
    pipe = StableDiffusionPipeline.from_pretrained(
        MODEL_PATH,
        torch_dtype=torch.float16,
        revision="fp16",
        device_map="balanced" # 自动切分模型到多GPU
    )

    # 设置提示词
    prompt = "A futuristic city with flying cars, concept art, sunset, 4k"

    # 生成图像
    image = pipe(prompt, guidance_scale=7.5, num_inference_steps=30).images[0]

    # 保存图像
    image.save("output.png")
    print("成功生成图像:output.png")

原环境的 diffusers版本为 0.24.0,报错信息如下

 diffusers升级为 0.34.0后,成功运行

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

深度学习领域中,以 PyTorch 为例,单机部署大模型的方法和注意事项如下: ### 方法 - **设置可见 GPU**:改变系统变量使得仅目标显可见,可通过在程序开头设置 `os.environ["CUDA_VISIBLE_DEVICES"] = '0,1,2,3'` ,也可以使用 `export CUDA_VISIBLE_DEVICES=0`(这里是要使用的 GPU 编号,正常从 0 开始),或者采用 `CUDA_VISIBLE_DEVICES=0,1,2,3 python xxx.py` 来设置该程序可见的 GPU [^3]。 - **使用 PyTorch 的并行 GPU 接口**:在生成网络对象之前执行 `torch.cuda.set_device(0)` ,然后使用 `torch.nn.DataParallel` 接口,例如 `net = torch.nn.DataParallel(model, device_ids=[0])` ,即定义 cuda 的可见设备,然后将用于并行训练的设备 ID 传递进去 [^3]。 - **修改模型训练方法**:以 YOLOv 为例,修改其 `train` 方法,在 `DP mode` 下,当 `cuda` 可用、`rank == -1` 且 `torch.cuda.device_count() > 1` 时,使用 `model = torch.nn.DataParallel(model)` [^3]。 ### 注意事项 - **GPU 编号**:要确保设置的 GPU 编号正确,并且这些 GPU 是可用的,一般编号从 0 开始 [^3]。 - **网络互通**:单机虽然不存在部署网络互通问题,但要保证各个 GPU 之间通信正常,确保数据能在个 GPU 之间正确传输 [^3]。 - **代码适配**:要对代码进行相应的修改,确保能正确使用个 GPU 进行并行计算,如上述提到的对模型训练方法的修改 [^3]。 ```python import os import torch # 设置可见 GPU os.environ["CUDA_VISIBLE_DEVICES"] = '0,1' # 假设已经定义了模型 model = ... # 使用并行 GPU 接口 if torch.cuda.device_count() > 1: torch.cuda.set_device(0) model = torch.nn.DataParallel(model, device_ids=[0, 1]) # 后续训练代码 ... ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45655219

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值