
gansformer
用 Transformer 注意力机制生成全局协调的场景图像
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1344
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 支持 CUDA 的 NVIDIA GPU,并已安装 NVCC(CUDA 编译器)
- Python 环境(仓库同时提供 TensorFlow 主目录版与 pytorch_version 版)
- CUDA 与 PyTorch/TensorFlow 版本需匹配
- 生成示例需联网下载预训练模型(gdrive 快照)
安装与启动步骤
-
1克隆仓库
把 GANformer 源码拉到本地并进入项目根目录,根目录是 TensorFlow 版实现。
git clone https://github.com/dorarad/gansformer.git cd gansformer -
2配置 CUDA 环境变量
模型依赖 NVCC 即时编译自定义算子,需把 CUDA 的 bin 与 lib64 加入环境变量(示例为 cuda-10.0)。
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} -
3验证 NVCC 可用
运行仓库自带的测试文件,若同时打印 CPU 与 GPU 的 hello 说明 NVCC 工作正常。
nvcc test_nvcc.cu -o test_nvcc -run -
4安装依赖
若要使用 PyTorch 版,进入 pytorch_version 目录并安装其 requirements.txt 中的依赖。
cd pytorch_version pip install -r requirements.txt -
5生成图像
运行最小示例,自动下载预训练模型并在输出目录生成图片;PyTorch 版对应 pytorch_version/generate.py。
python generate.py --gpus 0 --model gdrive:bedrooms-snapshot.pkl --output-dir images --images-num 32
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--gpus | 否 | 指定使用的 GPU 编号 | 0 |
--model | 是 | 预训练模型快照路径或 gdrive 标识 | gdrive:bedrooms-snapshot.pkl |
--output-dir | 否 | 生成图像的保存目录 | images |
--images-num | 否 | 一次生成的图像数量 | 32 |
--truncation-psi | 否 | 控制生成图像质量与多样性的权衡 | 0.8 |
CUDA_HOME | 否 | PyTorch 版编译 CUDA 内核时指定匹配的 CUDA 路径 | /usr/local/cuda-10.1 |
如何确认成功
先看 nvcc 测试是否输出 GPU says hello;再运行 generate.py 后确认 images 目录出现生成的图像。
常见问题
Q:出现 “Failed to build CUDA kernels for upfirdn2d. Falling back
A:说明 CUDA 与 PyTorch 版本不匹配。请确认二者版本对应;若装了多个 CUDA,可用 export CUDA_HOME=/usr/local/cuda-10.1 指向匹配版本。
Q:如何从 TensorFlow 版切换到 PyTorch 版?
A:两个实现代码和文件结构接近、接口一致。进入 pytorch_version 目录,安装该目录下的 requirements.txt,再使用其中的 generate.py 即可。
Q:怎样调节生成图像的质量与多样性?
A:使用 --truncation-psi 参数控制二者的权衡,推荐在 0.6–1.0 范围内多试几个值。
Q:NVCC 是否安装正确怎么检查?
A:运行 nvcc test_nvcc.cu -o test_nvcc -run,若同时输出 CPU says hello. 和 GPU says hello. 即正常。
注意事项
- 预训练模型通过 gdrive 标识下载,执行生成脚本时需保持网络可用。
- PyTorch 版权重初始化已于 2022-02-21 更新到预期尺度,显著加快模型学习速度。
- 仓库要求 GPU 与 CUDA 环境,纯 CPU 环境无法按 README 的方式编译自定义算子。
- README 未给出 TensorFlow 主目录版的独立依赖文件,安装前请先核对自身 CUDA/TF 版本匹配情况。
核心亮点
- 引入双向注意力,能捕捉图像全局结构,生成布局更合理的多物体场景
- 在 CLEVR 等数据集上展示了优于传统 CNN 生成器的组合泛化能力
- 提供预训练模型和完整训练代码,便于复现和二次开发
不足之处
- 训练资源消耗较大,对显存要求高
- 文档/社区待观察
适用场景
- 合成场景图像生成,如室内布局、多物体组合
- 需要控制物体属性和空间关系的图像编辑
- 研究 Transformer 在生成模型中的应用
替代项目
TransGAN、ViT-VAE、GANsformer
同类项目推荐
StableDiffusion-CheatSheet
开源
离线速查 SD 风格提示词,画画时随手翻
A list of StableDiffusion styles and some notes for offline use. Pure HTML, CSS and ···
finegan
开源
无监督分层解耦,自动生成细粒度图像并发现子类别
FineGAN: Unsupervised Hierarchical Disentanglement for Fine-grained Object Generatio···
RPG-DiffusionMaster
开源
用多模态大模型把复杂提示词变成高质量图像,还能对话式编辑
[ICML 2024] Mastering Text-to-Image Diffusion: Recaptioning, Planning, and Generatin···
一键生成像素精灵,省去手绘时间,快速出图
Pixel Art Sprite Generator
pwa-asset-generator
开源
一张图自动生成全套 PWA 图标和启动屏,省时省力
Automates PWA asset generation and image declaration. Automatically generates icon a···
cyanic-sd-krita
开源
在 Krita 里直接跑 Stable Diffusion,画画时无缝生成
A Stable Diffusion plugin for Krita, compatible with A1111 and SD.Next
Stable-Diffusion-Unity-Integrati···
开源
在 Unity 里直接调用 Stable Diffusion 生成图片
Stable-Diffusion-Unity-Integration
Awesome-AI-Images-Prompts
开源
一站式获取各大AI生图模型的精选提示词,直接复制出图
2026年11月更新,精选适用于 GPT Image 2、2.5、Gemini Nano-banana Pro 2.1 Image Prompt···
novelai-2-local-prompt
开源
一键把 NovelAI 提示词转成 WebUI 格式,迁移无忧。
Script for Stable-Diffusion WebUI (AUTOMATIC1111) to convert the prompt format used ···