
dustynv/stable-diffusion!生成示例
本Docker镜像基于Stable Diffusion实现,支持通过文本生成图像(txt2img)或通过图像生成图像(img2img)。集成了CompVis的stable-diffusion代码(/opt/stable-diffusion)和basujindal的内存优化版本(/opt/stable-diffusion/optimizedSD),已在stable-diffusion-1.4模型上测试通过。适用于Jetson设备,提供命令行方式的图像生成功能。
如需带Web界面的更快实现,可参考
stable-diffusion-webui容器。
stable-diffusion-1.4模型(可从Hugging Face获取)L4T >=34.1.0,即JetPack 5.1+)适用于在Jetson嵌入式设备上进行AI图像生成的场景,包括:
首先下载stable-diffusion-1.4模型文件(sd-v1-4.ckpt):
bashwget [***] -O /data/models/stable-diffusion/sd-v1-4.ckpt
默认生成6张512x512图像,使用50步优化:
bashcd /opt/stable-diffusion && python3 scripts/txt2img.py --plms \ --ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \ --outdir /data/images/stable-diffusion \ --prompt "a photograph of an astronaut riding a horse"
生成1张512x512图像,使用25步优化:
bashcd /opt/stable-diffusion && python3 scripts/txt2img.py --plms \ --n_samples 1 --n_iter 1 --ddim_steps 25 \ --ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \ --outdir /data/images/stable-diffusion \ --prompt "two robots walking in the woods"
主要参数说明:
--W/--H:图像宽度/高度(默认512x512)--seed:随机种子(默认42,不同种子生成不同结果)--n_samples:每轮生成图像数量--n_iter:生成轮数--ddim_steps:优化步数(影响质量和速度)使用内存优化版本脚本:
bashcd /opt/stable-diffusion && python3 optimizedSD/optimized_txt2img.py \ --sampler plms --seed 42 \ --n_samples 1 --n_iter 1 --ddim_steps 25 \ --ckpt /data/models/stable-diffusion/sd-v1-4.ckpt \ --outdir /data/images/stable-diffusion \ --prompt "a photograph of an astronaut riding a horse"
完整流程可通过脚本执行:stable-diffusion/test.sh
stable-diffusion | |
|---|---|
| 构建状态 |  |
| 依赖项 | build-essential、cuda、cudnn、python、numpy、cmake、onnx、pytorch:2.2、torchvision、huggingface_hub、rust、transformers |
| 依赖容器 | l4t-diffusion |
| Dockerfile | Dockerfile |
| 镜像标签 | dustynv/stable-diffusion:r35.2.1 (2023-12-14, 6.1GB)dustynv/stable-diffusion:r35.3.1 (2023-12-12, 6.1GB)dustynv/stable-diffusion:r35.4.1 (2023-12-15, 6.1GB) |
| 注意事项 | JetPack 4上不支持 |
| 仓库/标签 | 日期 | 架构 | 大小 |
|---|---|---|---|
dustynv/stable-diffusion:r35.2.1 | 2023-12-14 | arm64 | 6.1GB |
dustynv/stable-diffusion:r35.3.1 | 2023-12-12 | arm64 | 6.1GB |
dustynv/stable-diffusion:r35.4.1 | 2023-12-15 | arm64 | 6.1GB |
容器镜像与其他次要版本的JetPack/L4T兼容:
• L4T R32.7容器可在其他L4T R32.7版本(JetPack 4.6+)上运行
• L4T R35.x容器可在其他L4T R35.x版本(JetPack 5.1+)上运行
可使用jetson-containers run和autotag启动容器,或手动构造docker run命令:
bash# 自动拉取或构建兼容的容器镜像 jetson-containers run $(autotag stable-diffusion) # 或显式指定上述镜像之一 jetson-containers run dustynv/stable-diffusion:r35.4.1 # 或使用'docker run'(指定镜像和挂载等) sudo docker run --runtime nvidia -it --rm --network=host dustynv/stable-diffusion:r35.4.1
jetson-containers run将参数转发给docker run,并添加一些默认值(如--runtime nvidia、挂载/data缓存、检测设备)
autotag查找与JetPack/L4T版本兼容的容器镜像——本地镜像、从仓库拉取或构建镜像。
使用-v或--volume标志将本地目录挂载到容器中:
bashjetson-containers run -v /本地路径:/容器内路径 $(autotag stable-diffusion)
bashjetson-containers run $(autotag stable-diffusion) my_app --abc xyz
可传递任何docker run支持的选项,执行前会打印完整命令。
如果使用上述autotag,需要时会自动构建容器。要手动构建,先完成系统设置,然后运行:
bashjetson-containers build stable-diffusion
构建过程中会集成上述依赖项并进行测试。使用--help查看构建选项。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务