Stable Diffusion文生圖之PixArt-sigma篇: 今天給大家?guī)?lái)的是Stable Diffusion文生圖之PixArt-sigma篇。PixArt-sigma 是華為發(fā)布的一種 Diffusion Transformer(DiT)……
哈嘍!伙伴們,我是小智,你們的AI向?qū)?。歡迎來(lái)到每日的AI學(xué)習(xí)時(shí)間。今天,我們將一起深入AI的奇妙世界,探索“Stable Diffusion文生圖之PixArt-sigma篇”,并學(xué)會(huì)本篇文章中所講的全部知識(shí)點(diǎn)。還是那句話“不必遠(yuǎn)征未知,只需喚醒你的潛能!”跟著小智的步伐,我們終將學(xué)有所成,學(xué)以致用,并發(fā)現(xiàn)自身的更多可能性。話不多說(shuō),現(xiàn)在就讓我們開(kāi)始這場(chǎng)激發(fā)潛能的AI學(xué)習(xí)之旅吧。
Stable Diffusion文生圖之PixArt-sigma篇:
今天給大家?guī)?lái)的是Stable Diffusion文生圖之PixArt-sigma篇。PixArt-sigma 是華為發(fā)布的一種 Diffusion Transformer(DiT)模型,能夠直接生成 4K 分辨率的高質(zhì)量圖像。該模型在生成高保真圖像的同時(shí),與文本提示緊密對(duì)齊,超越了其前身 PixArt-alpha 模型。PixArt-sigma 可以直接生成 4K 的圖片,目前開(kāi)源的模型暫時(shí)還沒(méi)有模型能做到,這個(gè)能力對(duì)于從事電影和游戲等行業(yè)的設(shè)計(jì)師來(lái)說(shuō)是個(gè)巨大的福音。
一、前言
1.1 介紹
PixArt-Σ 通過(guò)將更高質(zhì)量的數(shù)據(jù)納入訓(xùn)練,并提出一種新穎的注意力模塊來(lái)壓縮 Key 值和 Value 值,實(shí)現(xiàn)了從“弱”基線到“強(qiáng)”模型的訓(xùn)練效率。該模型在生成高保真圖像的同時(shí),與文本提示緊密對(duì)齊,超越了其前身 PixArt-α 模型。PixArt-Σ 可以直接生成 4K 的圖片,目前開(kāi)源的模型暫時(shí)還沒(méi)有模型能做到,這個(gè)能力對(duì)于從事電影和游戲等行業(yè)的設(shè)計(jì)師來(lái)說(shuō)是個(gè)巨大的福音。關(guān)鍵是訓(xùn)練、推理、模型均會(huì)開(kāi)源(承諾 2024/4/1 前開(kāi)源完成)。
1.2 ?? Compare with PixArt-α
1.3 運(yùn)行環(huán)境介紹
Python:3.8 及以上版本
PyTorch:1.12 及以上版本,推薦 2.0 及以上版本
CUDA:建議使用 11.4 及以上版本(GPU 用戶需考慮此選項(xiàng))
二、環(huán)境搭建
2.1 下載代碼
git clone https://github.com/PixArt-alpha/PixArt-sigma.git
cd PixArt-sigma
2.2 構(gòu)建環(huán)境
conda create -n py310 python=3.10
source activate py310
2.3 安裝依賴(lài)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple –ignore-installed
2.4 大模型下載
2.4.1 模型下載方式介紹
? 下載方式一:使用 huggingface 下載
注意:需要魔法(注:本地可以用 https://hf-mirror.com/ 這個(gè)下載)
# SDXL-VAE, T5 checkpoints
git lfs install
git clone https://huggingface.co/PixArt-alpha/pixart_sigma_sdxlvae_T5_diffusers
output/pixart_sigma_sdxlvae_T5_diffusers
# PixArt-Sigma checkpoints
python tools/download.py
三、快速實(shí)戰(zhàn)
3.1 如何使用 Gradio 啟動(dòng)
啟動(dòng)模型后臺(tái)
cd PixArt-sigma
conda create -n py310 python=3.10
source activate py310
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple –ignore-installed
使用 Gradio 客戶端生成圖片
from gradio_client import Client
# 建立后臺(tái)服務(wù)器鏈接
client = Client(“http://0.0.0.0:6006″)# 查看請(qǐng)求參數(shù)
client.view_api(return_format=”dict”)# 傳參請(qǐng)求生成圖
out_data = client.predict(
“An adorable girl with curly hair, innocently laughing with a big smile, looking very happy Poster style –ar 9:16”,
“dpm-solver”,
14,
4.5,
0,
True
)# 生成圖片可視化
import matplotlib.pyplot as plt
from PIL import Image# 圖片地址
image_path = out_data[0]# 打開(kāi)并顯示圖片
img = Image.open(image_path)
plt.imshow(img)
plt.axis(‘off’) # 關(guān)閉坐標(biāo)軸
plt.show()
使用Gradio客戶端來(lái)與一個(gè)后臺(tái)服務(wù)器建立連接,并通過(guò)傳遞參數(shù)請(qǐng)求生成一張圖片。首先建立了與服務(wù)器的連接,然后查看了請(qǐng)求參數(shù)的格式。接著使用client.predict方法傳遞參數(shù)來(lái)生成一張圖片,參數(shù)包括描述圖片內(nèi)容的文本、模型名稱(chēng)、以及其他參數(shù)。生成的圖片保存在out_data中,然后通過(guò)Matplotlib和PIL庫(kù)來(lái)打開(kāi)和顯示這張圖片。 具體步驟包括:
1. 建立與服務(wù)器的連接。
2. 查看請(qǐng)求參數(shù)的格式。
3. 使用client.predict方法傳遞參數(shù)請(qǐng)求生成一張圖片。
4. 從生成的結(jié)果中獲取圖片地址。
5. 使用PIL庫(kù)打開(kāi)并顯示生成的圖片。
最后一段代碼使用Matplotlib顯示了生成的圖片,關(guān)閉了坐標(biāo)軸以便更清晰地展示圖片內(nèi)容。
3.2 如何使用 Integration 啟動(dòng)
[!IMPORTANT]
Upgrade your diffusers to make the PixArtSigmaPipeline available!
pip install git+https://github.com/huggingface/diffusers
For diffusers<0.28.0, check this script for help.
import torch
from diffusers import Transformer2DModel, PixArtSigmaPipelinedevice = torch.device(“cuda:0” if torch.cuda.is_available() else “cpu”)
weight_dtype = torch.float16transformer = Transformer2DModel.from_pretrained(
“PixArt-alpha/PixArt-Sigma-XL-2-1024-MS”,
subfolder=’transformer’,
torch_dtype=weight_dtype,
use_safetensors=True,
)pipe = PixArtSigmaPipeline.from_pretrained(
“PixArt-alpha/pixart_sigma_sdxlvae_T5_diffusers”,
transformer=transformer,
torch_dtype=weight_dtype,
use_safetensors=True,
)pipe.to(device)
3.3 PixArt Demo
# PixArt-Sigma 1024px
DEMO_PORT=12345 python app/app_pixart_sigma.py# PixArt-Sigma One step Sampler(DMD)
DEMO_PORT=12345 python app/app_pixart_dmd.py
3.4 Convert .pth checkpoint into diffusers version
Directly download from Hugging Face
or run with:
pip install git+https://github.com/huggingface/diffusers
python tools/convert_pixart_to_diffusers.py –orig_ckpt_path output/pretrained_models/PixArt-Sigma-XL-2-1024-MS.pth –dump_path output/pretrained_models/PixArt-Sigma-XL-2-1024-MS -only_transformer=True –image_size=1024 –version sigma
通過(guò)以上步驟,我們成功搭建了 PixArt-sigma 的運(yùn)行環(huán)境,并進(jìn)行了簡(jiǎn)單的實(shí)戰(zhàn)操作。希望這篇教程能幫助你快速上手 PixArt-sigma,生成高質(zhì)量的 4K 圖像。如果你有任何問(wèn)題,歡迎在評(píng)論區(qū)留言討論。
嘿,伙伴們,今天我們的AI探索之旅已經(jīng)圓滿結(jié)束。關(guān)于“Stable Diffusion文生圖之PixArt-sigma篇”的內(nèi)容已經(jīng)分享給大家了。感謝你們的陪伴,希望這次旅程讓你對(duì)AI能夠更了解、更喜歡。謹(jǐn)記,精準(zhǔn)提問(wèn)是解鎖AI潛能的鑰匙哦!如果有小伙伴想要了解學(xué)習(xí)更多的AI知識(shí),請(qǐng)關(guān)注我們的官網(wǎng)“AI智研社”,保證讓你收獲滿滿呦!



微信掃一掃
支付寶掃一掃