0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用OpenVINO在Stable Diffusion V2.1上實現(xiàn)AI硬件加速的方法

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-07-21 11:47 ? 次閱讀

文章作者:武卓博士英特爾 AI 布道師

隨著 AIGC 模型越來越強大,并取得了更驚人的結(jié)果,任意運行 AIGC 模型, 比如 Stable Diffusion,對于開發(fā)人員來說仍然面臨一些挑戰(zhàn)。首先,GPU 的安裝設(shè)置需要我們處理復(fù)雜的配置和兼容性問題,這可能既耗時又令人沮喪。此外,如果運行 Stable Diffusion 代碼前需要經(jīng)過復(fù)雜的軟件安裝和環(huán)境配置步驟,這也會帶來額外的困難。因為開發(fā)者們經(jīng)常被干凈直觀的 API 所吸引,這使我們能夠輕松地與模型交互并簡化我們的工作流程。最后,在沒有復(fù)雜代碼編寫以及編譯的情況下,如何快速完成硬件加速仍然是一個開發(fā)者們優(yōu)先關(guān)心的事項,因為開發(fā)者們總是尋求高效而直接的解決方案來充分利用 AIGC 算法的潛力。

d8e8f842-26ec-11ee-962d-dac502259ad0.png

圖1.我們需要更改的代碼行數(shù)以獲得英特爾的硬件加速

在這篇文章中,我們將探索使用 Optimum Intel (OpenVINO)在 Stable Diffusion V2.1上實現(xiàn) AI 硬件加速的最快方法(使用最少的代碼行和依賴項安裝)。我們還將指導(dǎo)您完成在本地機器上運行 Stable Diffusion 的安裝和使用過程,并通過 OpenVINO2023.0版本進行優(yōu)化和加速。只需幾行 Python 代碼,您就可以在幾秒鐘內(nèi)生成帶有文本的圖像。此外,OpenVINO簡化了在不同硬件平臺(包括英特爾 Desktop CPU、iGPU、dGPU 和 Xeon CPU)上加速工作的過程,使您的工作在部署時更加靈活。

01安裝

使用如下一行代碼安裝

pip install -q "optimum-intel[openvino,diffusers]"@git+https://github.com/huggingface/optimum-intel.git

向右滑動查看完整代碼

02下載預(yù)轉(zhuǎn)換過的

Stable Diffusion 2.1 IR 模型

Stable Diffusion 將6個元素結(jié)合在一起,一個帶有標記器的文本編碼器模型,一個帶調(diào)度器的 UNet 模型,以及一個帶有解碼器和編碼器模型的自動編碼器。

這里使用的基礎(chǔ)模型是 "stabilityai/stable-diffusion-2-1-base"。該模型被轉(zhuǎn)換為 OpenVINO格式,用于使用Optimum Intel [OpenVINO] 在 CPU 或英特爾 GPU 上加速推理。模型權(quán)重以 FP16 精度存儲,這將模型的大小減少了一半。你可以發(fā)現(xiàn)這個 Notebook 中使用的模型名稱是"helenai/stabilityai-stable-diffusion-2-1-base-ov"。讓我們下載帶有以下代碼的預(yù)轉(zhuǎn)換模型 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保存預(yù)先訓(xùn)練好的模型,

選擇推理設(shè)備并編譯

我們已經(jīng)下載了預(yù)先訓(xùn)練和轉(zhuǎn)換的 IR 格式 Stable Diffusion 模型。讓我們保存模型,并使用以下代碼編譯它進行 AI 推理

pipe.save_pretrained("./openvino_ir")
pipe.to("GPU.1")
pipe.compile()

向右滑動查看完整代碼

04發(fā)揮你的創(chuàng)意,輸入文本,

享受生成的美圖吧

現(xiàn)在是時候發(fā)揮創(chuàng)意了!輸入創(chuàng)意提示,并使用以下內(nèi)容欣賞生成的圖像。

# 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

向右滑動查看完整代碼

以下動圖展示了圖片生成的各步驟的效果。

image.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    60

    文章

    9748

    瀏覽量

    170647
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128144
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    28877

    瀏覽量

    266225
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
  • AIGC
    +關(guān)注

    關(guān)注

    1

    文章

    332

    瀏覽量

    1372

原文標題:幾行代碼加速 Stable Diffusion,使用 OpenVINO? 輕松文生圖 | 開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    。 使用 MCUBoot 驗證兩個應(yīng)用程序時,運行時間大約需要五秒鐘。 README.md 的 \"安全 \"一欄中寫道 與軟件實現(xiàn)相比,硬件加速加密技術(shù)將啟動時間縮短了四倍多
    發(fā)表于 05-29 08:17

    SComAssistant V2.1

    SComAssistant V2.1是一個串口調(diào)試軟件。
    發(fā)表于 03-15 12:19 ?250次下載
    SComAssistant <b class='flag-5'>V2.1</b>

    串口通信助手v2.1

    串口通信助手v2.1,MATLAB源代碼,感興趣的小伙伴們可以看看。
    發(fā)表于 07-25 10:45 ?10次下載

    ST-Link V2.1 制作使用

    ,都是可以用的, 但有官方維護持續(xù)更新的才是有靈魂的, ST-Link V2.1是ST官方推出的新的固件, 需要在特定硬件下才能實現(xiàn), 下面我們就來簡紹一下ST-Link V2.1。2
    發(fā)表于 12-22 19:47 ?26次下載
    ST-Link <b class='flag-5'>V2.1</b> 制作使用

    OBTCAN-IP核用戶手冊(V2.1)

    OBTCAN-IP核用戶手冊(V2.1)
    發(fā)表于 06-08 15:29 ?6次下載
    OBTCAN-IP核用戶手冊(<b class='flag-5'>V2.1</b>)

    Stability AI開源圖像生成模型Stable Diffusion

    Stable Diffusion 的很多用戶已經(jīng)公開發(fā)布了生成圖像的樣例,Stability AI 的首席開發(fā)者 Katherine Crowson 推特
    的頭像 發(fā)表于 09-21 15:37 ?2819次閱讀

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8目標檢測模型

    AI 愛克斯開發(fā)板OpenVINO 加速 YOLOv8 分類模型》介紹了
    的頭像 發(fā)表于 05-12 09:08 ?1151次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>愛克斯開發(fā)板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>加速</b>YOLOv8目標檢測模型

    使用OpenVINO?算力魔方加速stable diffusion模型

    Stable Diffusion 是 stability.ai 開源的 AI 圖像生成模型,實現(xiàn)輸入文字,生成圖像的功能。
    的頭像 發(fā)表于 05-12 09:10 ?1284次閱讀
    使用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>在</b>算力魔方<b class='flag-5'>上</b><b class='flag-5'>加速</b><b class='flag-5'>stable</b> <b class='flag-5'>diffusion</b>模型

    AI愛克斯開發(fā)板使用OpenVINO加速YOLOv8目標檢測模型

    AI愛克斯開發(fā)板OpenVINO加速YOLOv8分類模型》介紹了
    的頭像 發(fā)表于 05-26 11:03 ?1077次閱讀
    <b class='flag-5'>AI</b>愛克斯開發(fā)板<b class='flag-5'>上</b>使用<b class='flag-5'>OpenVINO</b><b class='flag-5'>加速</b>YOLOv8目標檢測模型

    優(yōu)化 Stable Diffusion GKE 的啟動體驗

    Diffusion 等應(yīng)運而生。Stable Diffusion 是一個文字生成圖像的 Diffusion 模型,它能夠根據(jù)給定任何文本輸入生成逼真的圖像。我們
    的頭像 發(fā)表于 06-03 08:35 ?752次閱讀

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8-seg實例分割模型

    AI 愛克斯開發(fā)板OpenVINO 加速 YOLOv8 目標檢測模型》介紹了
    的頭像 發(fā)表于 06-05 11:52 ?856次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>愛克斯開發(fā)板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>加速</b>YOLOv8-seg實例分割模型

    iPhone兩秒出圖,目前已知的最快移動端Stable Diffusion模型來了

    近日,Snap 研究院推出最新高性能 Stable Diffusion 模型,通過對網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練流程、損失函數(shù)全方位進行優(yōu)化, iPhone 14 Pro
    的頭像 發(fā)表于 06-12 15:25 ?675次閱讀
    iPhone兩秒出圖,目前已知的最快移動端<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>模型來了

    AI愛克斯開發(fā)板OpenVINO?加速YOLOv8-seg實例分割模型

    AI 愛克斯開發(fā)板OpenVINO 加速 YOLOv8 目標檢測模型》介紹了
    的頭像 發(fā)表于 06-30 10:43 ?770次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>愛克斯開發(fā)板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>加速</b>YOLOv8-seg實例分割模型

    OpenVINO賦能BLIP實現(xiàn)視覺語言AI邊緣部署

    ,使用 OpenVINO 輕松文生圖》中,我們介紹了利用 OpenVINO 運行 Stable Diffusion 模型,快速實現(xiàn)文生圖應(yīng)用
    的頭像 發(fā)表于 09-01 10:26 ?2319次閱讀

    OpenVIN賦能BLIP實現(xiàn)視覺語言AI邊緣部署

    ,使用 OpenVINO 輕松文生圖》中,我們介紹了利用OpenVINO 運行Stable Diffusion模型,快速實現(xiàn)文生圖應(yīng)用。讓人
    的頭像 發(fā)表于 09-04 10:54 ?1w次閱讀
    OpenVIN賦能BLIP<b class='flag-5'>實現(xiàn)</b>視覺語言<b class='flag-5'>AI</b>邊緣部署