🚀 Stable Diffusion x2 潛在空間圖像放大模型卡片
本模型卡片聚焦於由 Katherine Crowson 與 Stability AI 合作開發的基於潛在擴散的圖像放大模型。該模型在 LAION - 2B 數據集的高分辨率子集上進行訓練。它是一個在與 Stable Diffusion 模型相同的潛在空間中運行的擴散模型,可解碼為全分辨率圖像。要將其與 Stable Diffusion 結合使用,你可以將 Stable Diffusion 生成的潛在空間圖像輸入到放大模型中,然後再使用標準的變分自編碼器(VAE)進行解碼。或者,你也可以將任何圖像編碼到潛在空間,使用放大模型處理後再進行解碼。
注意:
此放大模型專門為 Stable Diffusion 設計,因為它可以對 Stable Diffusion 的潛在去噪圖像嵌入進行放大。這使得文本到圖像 + 放大的流程非常快速,因為所有中間狀態都可以保留在 GPU 上。更多信息,請參閱下面的示例。該模型適用於所有 Stable Diffusion 檢查點。
原始輸出圖像 |
放大 2 倍後的輸出圖像 |
 |
 |
✨ 主要特性
- 專為 Stable Diffusion 設計:能夠對 Stable Diffusion 的潛在去噪圖像嵌入進行放大,實現快速的文本到圖像 + 放大流程。
- 高分辨率訓練:在 LAION - 2B 數據集的高分辨率子集上訓練,可生成高質量放大圖像。
- 適用於多檢查點:支持所有 Stable Diffusion 檢查點。
📦 安裝指南
pip install git+https://github.com/huggingface/diffusers.git
pip install transformers accelerate scipy safetensors
💻 使用示例
基礎用法
使用 ü§ó 的 Diffusers 庫 在任何 StableDiffusionUpscalePipeline
檢查點上運行潛在空間圖像放大模型,將輸出圖像的分辨率提高 2 倍。
from diffusers import StableDiffusionLatentUpscalePipeline, StableDiffusionPipeline
import torch
pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", torch_dtype=torch.float16)
pipeline.to("cuda")
upscaler = StableDiffusionLatentUpscalePipeline.from_pretrained("stabilityai/sd-x2-latent-upscaler", torch_dtype=torch.float16)
upscaler.to("cuda")
prompt = "a photo of an astronaut high resolution, unreal engine, ultra realistic"
generator = torch.manual_seed(33)
low_res_latents = pipeline(prompt, generator=generator, output_type="latent").images
upscaled_image = upscaler(
prompt=prompt,
image=low_res_latents,
num_inference_steps=20,
guidance_scale=0,
generator=generator,
).images[0]
upscaled_image.save("astronaut_1024.png")
with torch.no_grad():
image = pipeline.decode_latents(low_res_latents)
image = pipeline.numpy_to_pil(image)[0]
image.save("astronaut_512.png")
結果:
512 分辨率宇航員圖像

1024 分辨率宇航員圖像

注意事項:
- 儘管
xformers
不是必需依賴項,但我們強烈建議你安裝 xformers 以實現內存高效的注意力機制(更好的性能)。
- 如果你可用的 GPU 內存較低,請在將模型發送到
cuda
後添加 pipe.enable_attention_slicing()
以減少 VRAM 使用(代價是速度變慢)。
📚 詳細文檔
直接使用
該模型僅用於研究目的。可能的研究領域和任務包括:
- 安全部署有可能生成有害內容的模型。
- 探究和理解生成模型的侷限性和偏差。
- 生成藝術作品並應用於設計和其他藝術過程。
- 在教育或創意工具中的應用。
- 生成模型的研究。
排除的使用情況如下所述。
誤用、惡意使用和超出範圍的使用
注意:本節內容最初來自 DALLE - MINI 模型卡片,曾用於 Stable Diffusion v1,同樣適用於 Stable Diffusion v2。
該模型不應被用於故意創建或傳播會對人們造成敵對或疏離環境的圖像。這包括生成人們可預見會感到不安、痛苦或冒犯的圖像,或傳播歷史或當前刻板印象的內容。
超出範圍的使用
該模型並非用於生成對人物或事件的真實或準確呈現,因此使用該模型生成此類內容超出了其能力範圍。
誤用和惡意使用
使用該模型生成對個人殘忍的內容屬於對該模型的誤用。這包括但不限於:
- 生成貶低、非人化或以其他方式傷害人們或其環境、文化、宗教等的表現形式。
- 故意推廣或傳播歧視性內容或有害刻板印象。
- 在未經個人同意的情況下冒充他人。
- 未經可能看到該內容的人的同意分享性內容。
- 傳播錯誤和虛假信息。
- 呈現嚴重暴力和血腥的內容。
- 違反使用條款分享受版權保護或有使用許可的材料。
- 違反使用條款分享對受版權保護或有使用許可的材料進行修改後的內容。
侷限性和偏差
侷限性
- 模型無法實現完美的照片級真實感。
- 模型無法渲染清晰可讀的文本。
- 模型在涉及組合性的更復雜任務上表現不佳,例如渲染與“一個紅色立方體放在藍色球體上”對應的圖像。
- 面部和人物的生成可能不夠理想。
- 該模型主要使用英文標題進行訓練,在其他語言中的效果不佳。
- 模型的自動編碼部分存在信息損失。
- 該模型在大規模數據集 LAION - 5B 的一個子集上訓練,該數據集包含成人、暴力和性內容。為部分緩解這一問題,我們使用 LAION 的 NSFW 檢測器對數據集進行了過濾(見訓練部分)。
偏差
雖然圖像生成模型的能力令人印象深刻,但它們也可能強化或加劇社會偏差。Stable Diffusion vw 主要在 LAION - 2B(en) 的子集上訓練,該子集的圖像僅限於英文描述。使用其他語言的社區和文化的文本和圖像可能在訓練中考慮不足。這影響了模型的整體輸出,因為白人和西方文化通常被設定為默認。此外,該模型使用非英文提示生成內容的能力明顯不如使用英文提示。Stable Diffusion v2 在一定程度上反映並加劇了偏差,因此無論輸入或意圖如何,都建議觀眾謹慎使用。
🔧 技術細節
📄 許可證
本模型使用 CreativeML Open RAIL++ - M 許可證。