隨著 AIGC 模型越來越強大,并取得了更驚人的結果,任意運行 AIGC 模型, 比如 Stable Diffusion,對于開發人員來說仍然面臨一些挑戰。首先,GPU 的安裝設置需要我們處理復雜的配置和兼容性問題,這可能既耗時又令人沮喪。此外,如果運行 Stable Diffusion 代碼前需要經過復雜的軟件安裝和環境配置步驟,這也會帶來額外的困難。因為開發者們經常被干凈直觀的 API 所吸引,這使我們能夠輕松地與模型交互并簡化我們的工作流程。最后,在沒有復雜代碼編寫以及編譯的情況下,如何快速完成硬件加速仍然是一個開發者們優先關心的事項,因為開發者們總是尋求高效而直接的解決方案來充分利用 AIGC 算法的潛力。
圖1.我們需要更改的代碼行數以獲得英特爾的硬件加速
在這篇文章中,我們將探索使用 Optimum Intel (OpenVINO)在 Stable Diffusion V2.1上實現 AI 硬件加速的最快方法(使用最少的代碼行和依賴項安裝)。我們還將指導您完成在本地機器上運行 Stable Diffusion 的安裝和使用過程,并通過 OpenVINO2023.0版本進行優化和加速。只需幾行 Python 代碼,您就可以在幾秒鐘內生成帶有文本的圖像。此外,OpenVINO簡化了在不同硬件平臺(包括英特爾 Desktop CPU、iGPU、dGPU 和 Xeon CPU)上加速工作的過程,使您的工作在部署時更加靈活。
01安裝
使用如下一行代碼安裝
pip install -q "optimum-intel[openvino,diffusers]"@git+https://github.com/huggingface/optimum-intel.git
向右滑動查看完整代碼
02下載預轉換過的
Stable Diffusion 2.1 IR 模型
Stable Diffusion 將6個元素結合在一起,一個帶有標記器的文本編碼器模型,一個帶調度器的 UNet 模型,以及一個帶有解碼器和編碼器模型的自動編碼器。
這里使用的基礎模型是 "stabilityai/stable-diffusion-2-1-base"。該模型被轉換為 OpenVINO格式,用于使用Optimum Intel [OpenVINO] 在 CPU 或英特爾 GPU 上加速推理。模型權重以 FP16 精度存儲,這將模型的大小減少了一半。你可以發現這個 Notebook 中使用的模型名稱是"helenai/stabilityai-stable-diffusion-2-1-base-ov"。讓我們下載帶有以下代碼的預轉換模型 Srable Diffusion 2.1 Intermediate Representation Format (IR)。
from optimum.intel.openvino import OVStableDiffusionPipeline # download the pre-converted SD v2.1 model from Helena's HF repo name = "helenai/stabilityai-stable-diffusion-2-1-base-ov" pipe = OVStableDiffusionPipeline.from_pretrained(name, compile=False) pipe.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1)
向右滑動查看完整代碼
03保存預先訓練好的模型,
選擇推理設備并編譯
我們已經下載了預先訓練和轉換的 IR 格式 Stable Diffusion 模型。讓我們保存模型,并使用以下代碼編譯它進行 AI 推理
pipe.save_pretrained("./openvino_ir") pipe.to("GPU.1") pipe.compile()
向右滑動查看完整代碼
04發揮你的創意,輸入文本,
享受生成的美圖吧
現在是時候發揮創意了!輸入創意提示,并使用以下內容欣賞生成的圖像。
# Generate an image. prompt = "red car in snowy forest, epic vista, beautiful landscape, 4k, 8k" output = pipe(prompt, num_inference_steps=17, output_type="pil").images[0] output.save("image.png") output
向右滑動查看完整代碼
以下動圖展示了圖片生成的各步驟的效果。
審核編輯:湯梓紅
-
英特爾
+關注
關注
61文章
9964瀏覽量
171775 -
gpu
+關注
關注
28文章
4740瀏覽量
128949 -
AI
+關注
關注
87文章
30896瀏覽量
269087 -
python
+關注
關注
56文章
4797瀏覽量
84689 -
AIGC
+關注
關注
1文章
362瀏覽量
1543
原文標題:幾行代碼加速 Stable Diffusion,使用 OpenVINO? 輕松文生圖 | 開發者實戰
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論