一个仓库跑通文生图、图生视频与3D资产:Stability AI generative-models 完整本地教程
【免费下载链接】generative-modelsGenerative Models by Stability AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-models
generative-models 是 Stability AI 的官方生成模型仓库:SDXL 文生图、SVD 图生视频、SV3D 多视角3D、SV4D 4D资产生成,全部可以在本地跑起来。这篇教程带你从零走通「选模型 → 下权重 → 跑 demo → 验结果」的完整闭环。
1. 先认识这个仓库:你拿到的是什么
上手前花两分钟看目录,比背命令更重要。这个仓库的核心思路是配置驱动:模型、采样器、损失函数都是独立模块,靠 YAML 配置拼起来。
| 目录 | 作用 |
|---|---|
| sgm/ | 核心代码:DiffusionEngine、采样器、引导器、编码器 |
| configs/ | 推理与训练配置,比如 configs/inference/sd_xl_base.yaml |
| scripts/demo/ | Streamlit / Gradio 网页 demo,适合随手试 |
| scripts/sampling/ | 独立采样脚本,一条命令出结果 |
checkpoints/ | 自建目录,所有模型权重统一放这里 |
一个实用认知:权重不在仓库里。仓库本身只有代码和配置,几 GB 的模型文件需要单独下载放进checkpoints/。想清楚这一点,后面所有步骤就顺了。
2. 想生成什么?先按场景对号入座
这个仓库支持的模型很多,但新手只需按「想要的效果」来选,不用记型号。
| 你的目标 | 对应模型 | 输入 | 输出 |
|---|---|---|---|
| 文字生成图片 | SDXL base(可选 refiner 精修)或 SDXL-Turbo | 一句提示词 | 图片 |
| 静图变成视频 | SVD / SVD-XT | 一张图 | 14 / 25 帧视频 |
| 静图转3D环绕视频 | SV3D_u / SV3D_p | 一张图(白底单物体最佳) | 21 帧环绕视频 |
| 视频转4D新视角 | SV4D / SV4D 2.0 | 一段短视频 | 多角度新视角视频 |
| 训练自己的模型 | sgm+ 训练配置 | 数据集 | 微调/新模型 |
新手建议按 SDXL → SVD/SV3D → SV4D 的顺序来:前两者输入简单、出图快,第三个才涉及视频输入和多视角合成。
3. 下载路径:三条路,推荐一条
模型权重托管在 Hugging Face 官方页面(搜索stabilityai即可找到 SDXL、SVD、SV3D、SV4D 各家的模型页)。三条路:
- 网页手动下载:登录、接受协议、点 Files、逐个下载。直观但慢,断了就重头来,不推荐大文件。
huggingface-cli命令行下载(推荐):支持断点续传、可以只挑需要的文件。- 网页 + 脚本混用:小文件手动下,大文件走命令行。
推荐路径就是第 2 条,两步装好工具:
pip install huggingface_hub huggingface-cli download stabilityai/sv4d2.0 sv4d2.safetensors --local-dir checkpoints上面这条命令的含义:把 SV4D 2.0 的权重文件下载、直接落到checkpoints/目录。把仓库名和文件名换成你自己的目标模型即可,例如 SVD、SV3D 的对应 safetensors。
4. 最小环境:四步命令搭好地基
环境不用追求全家桶,能跑推理的最小组合如下:
git clone https://gitcode.com/GitHub_Trending/ge/generative-models cd generative-models python3.10 -m venv .generativemodels source .generativemodels/bin/activate接着装依赖(注意 CUDA 版本要与显卡驱动匹配,官方验证的是 cu118):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip3 install -r requirements/pt2.txt pip3 install .三点提醒:
- Python 建议 3.10。官方只在此版本下完整验证过,其他版本可能出现依赖冲突。
- 最后一条
pip3 install .是把 sgm/ 安装为可导入的包,推理和训练都需要。 sdata(数据管道)只在训练时才需要装,纯推理直接跳过。
5. 实操一:让 SDXL 在自己电脑上出第一张图
目标:文字 → 图片。这是最常用的场景,也配有网页界面,出错时好排查。
- 下权重:从 Hugging Face 的
stable-diffusion-xl-base-1.0模型页下载权重,放进checkpoints/。refiner 可选,想要更精细的细节再下。 - 跑 demo:
streamlit run scripts/demo/sampling.py浏览器打开后输入提示词、设置步数和引导系数,出图。
- 想要更快:可以改用 SDXL-Turbo。权重放入
checkpoints/后运行streamlit run scripts/demo/turbo.py,它靠对抗蒸馏把采样步数压到极少,出图几乎是即时的,适合反复调 prompt。
后台机制不用深究:demo 内部读取 configs/inference/sd_xl_base.yaml 这类配置来实例化模型,改采样步数、调度器等,都是在配置层面操作,不动代码。
6. 实操二:一张静图生成环绕视频
目标:图片 → 视频。这一步只需一个脚本:scripts/sampling/simple_video_sample.py。
先下载 SV3D_u 权重到checkpoints/sv3d_u.safetensors,然后:
python scripts/sampling/simple_video_sample.py \ --input_path assets/test_image.png --version sv3d_u输入直接可以换成仓库里自带的示例图:
几个高频参数:
--version sv3d_p:换用 SV3D_p,可指定相机路径(--elevations_deg、--azimuths_deg),做动态轨道视频- 输入是白底单物体图时效果最稳;普通照片可用
--remove_bg=True先抠背景 - SVD 系列同理:下好
svd/svd_xt权重后,同一脚本传--version svd或svd_xt,分别得到 14 帧和 25 帧视频
想交互体验,可以起网页版:python -m scripts.demo.gradio_app(SVD)或streamlit run scripts/demo/video_sampling.py。
7. 验证结果:三个确认点
下载完权重、跑完 demo 后,别直接开用,花一分钟确认三件事:
- 权重完整性。README 中给出了各 SDXL 权重的 sha256 哈希(完整文件哈希 + 张量数据哈希两份),用
sha256sum对本地文件算一遍比对即可。哈希不一致 = 下载坏了,重新下。 - 输出是否落地。采样脚本默认把结果写到
outputs/(或用--output_folder指定)。检查视频文件的帧数是否符合预期:SVD 14 帧、SVD-XT 25 帧、SV3D 21 帧。 - 观感检查。抽几帧看有没有闪烁、畸变。模型本身的水平可以参考官方的人评对比:SDXL 1.0 在偏好率上明显领先前代,这也是选它做起点的原因。
8. 避坑清单:网络、显存与版本冲突
按出现频率从高到低排:
下载慢 / 中断国内网络访问 Hugging Face 不稳定时,先设置镜像再跑 cli 命令:
export HF_ENDPOINT=https://hf-mirror.comcli 天然支持断点续传,中断后原命令重跑即可,不用删半成品。
显存不够(OOM)视频类模型是显存大户。两个旋钮:--encoding_t=1和--decoding_t=1(逐帧编解码),或降分辨率--img_size=512。显存再紧张,就先跑 SV3D 这种单图输入,别直接上 SV4D。
版本冲突
- Python 不是 3.10:依赖版本冲突高发,重建虚拟环境
- CUDA 对不上:装 torch 时的 cu118 索引要与驱动匹配,驱动太旧就换对应版本
- refiner 不是文生图模型:SDXL refiner 只能做图生图精修,单独拿它当 base 用会直接跑偏
9. 下一步:试 4D,或开始训练
跑通前两个场景后,可以往前一步走 SV4D 2.0:把 21 帧输入视频转成多角度新视角的 4D 内容。下好sv4d2.safetensors后一条命令即可:
python scripts/sampling/simple_video_sample_4d2.py \ --input_path assets/sv4d_videos/camel.gif --output_folder outputs输入可以是 gif/mp4 视频、帧图片文件夹或文件名匹配模式;步数默认 50,嫌慢可以调小num_steps。
再往后就是训练:sgm是完整的训练框架,configs/example_training/ 里有从 MNIST 到 ImageNet 的现成配置,最小入口是python main.py --base configs/example_training/toy/mnist_cond.yaml。
一句话总结:一个仓库、一个checkpoints/目录,SDXL 出图、SVD/SV3D 出视频、SV4D 出4D——路径已经跑通,下一步就是挑一个自己的输入素材,生成第一份属于自己的结果。
【免费下载链接】generative-modelsGenerative Models by Stability AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-models
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考