大家好!今天我想聊聊我在Windows 11系统上安装和使用DiffSynth-Studio的经历。我的电脑用的是5090显卡,所以特别关注了CUDA的支持。希望我的经验能给你们一些参考,尤其是花了很多钱买了50系列显卡的朋友!
环境设置
创建Conda环境
为了让依赖互不干扰,我先创建了一个独立的Conda环境,名字叫"AI"。操作很简单,直接上命令:
ini
conda create -n AI python=3.12
我的环境装在e:\anaconda3\envs\AI
,用的是Python 3.12.9。创建的时候,Conda会自动拉一些基础包,比如pip
、setuptools
之类的,总共大概36.4 MB。系统会问你确认安装,敲个y
就行了。搞定后,用conda activate AI
激活环境,马上就能用。
DiffSynth-Studio安装
导航到项目目录
安装之前,先确保"AI"环境已经激活:
conda activate AI
然后切换到DiffSynth-Studio的项目文件夹。我的在E:\AI\DiffSynth-Studio
,你们可以根据自己的路径改一下:
bash
e:
cd AI\DiffSynth-Studio
安装项目
到了项目目录后,我用下面这条命令把DiffSynth-Studio装上了:
erlang
pip install -e .
这个-e
是可编辑模式,装完能直接改代码调试,挺方便的。安装过程会自动下载一堆依赖,比如torch
、torchvision
什么的。装完后,我用dir
一看,多了个diffsynth.egg-info
文件夹,说明没问题。
小提醒:装的时候可能会跳个警告,提可编辑安装的未来变化,建议看看官方文档,免得以后踩坑。
初次使用尝试
启动Python,导入模块
装好后,我直接在项目目录下开了Python:
python
然后导入了几个核心模块:
python
import torch
from diffsynth import ModelManager, SDImagePipeline, download_models
下载模型
接下来要下模型,我跑了这个命令:
python
download_models(["AingDiffusion_v12"])
模型会存到E:\AI\DiffSynth-Studio\models\stable_diffusion
,文件名是aingdiffusion_v12.safetensors
,大概1.99 GB,下载还挺快的。
加载模型(第一次翻车)
我试着加载模型,想用GPU跑:
python
model_manager = ModelManager(torch_dtype=torch.float16, device="cuda")
model_manager.load_models(["models/stable_diffusion/aingdiffusion_v12.safetensors"])
结果报错了:
vbnet
AssertionError: Torch not compiled with CUDA enabled
一看就知道,默认装的PyTorch没带CUDA支持,GPU完全用不上。
解决CUDA问题
装支持CUDA的PyTorch
为了用上5090显卡,我决定装个支持CUDA的PyTorch。这次我选了nightly版,命令是:
css
pip3 install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128 -I
这条命令装的是支持CUDA 12.8的版本,装完后GPU就能跑了。装之前,记得确认下显卡驱动和CUDA版本对得上,我的5090跟12.8没问题。
装完后,我又进了Python,导入了torch
,这次没报错,说明CUDA搞定了。
成功用起来
加载模型(成功)
有了CUDA支持,我重新加载模型:
python
model_manager = ModelManager(torch_dtype=torch.float16, device="cuda")
model_manager.load_models(["models/stable_diffusion/aingdiffusion_v12.safetensors"])
这次顺利通过,控制台还显示了加载的模型名,太爽了!
生成图像
然后我建了个图像生成管道:
python
pipe = SDImagePipeline.from_model_manager(model_manager)
为了让结果能复现,我设了个随机种子:
python
torch.manual_seed(0)
接着就生成图像了:
python
image = pipe(
prompt="masterpiece, best quality, a girl with long silver hair",
negative_prompt="worst quality, low quality, monochrome, zombie, interlocked fingers, Aissist, cleavage, nsfw",
height=512, width=512, num_inference_steps=80,
)
80步推理,5090显卡跑下来也就4秒左右,效率真高!最后把图像存下来:
python
image.save("image.jpg")
打开一看,效果还不错,银发少女很有感觉!
总结与建议
-
环境管理
用Conda弄个独立环境,省得依赖打架,干净又省心。
-
安装DiffSynth-Studio
可编辑模式装上,调试改代码都方便,推荐试试。
-
CUDA支持
默认PyTorch没CUDA,得自己装个支持的版本。我用的是nightly版,也可以用稳定版,命令在这:
perlpip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
记得核对显卡和CUDA版本,别装错了。
-
实际使用
模型下载和加载很简单,装好管道就能生成图像。5090显卡加速效果很明显,生成速度快得飞起。
总之,这次折腾下来,感觉DiffSynth-Studio还是挺好用的。希望我的经验能帮到你们,有啥问题欢迎随时聊!