在《AI作畫,OpenVINO?助你在英特爾GPU上隨心創(chuàng)作》中,我們介紹了OpenVINO Notebook運(yùn)行環(huán)境搭建,并利用OpenVINO?優(yōu)化和加速Stable Diffusion模型的推理,在英特爾?獨(dú)立顯卡上能夠根據(jù)我們輸入的指令(prompt),快速生成我們喜愛的AI畫作。
今天,我們對(duì)這一應(yīng)用場(chǎng)景再次升級(jí),除了能夠作畫,利用OpenVINO對(duì)Stable Diffusion v2模型的支持及優(yōu)化,我們還能夠在在英特爾?獨(dú)立顯卡上快速生成帶有無限縮放效果的視頻,使得AI作畫的效果更具動(dòng)感,其效果也更加震撼。話不多說,接下來還是讓我們來劃劃重點(diǎn),看看具體是怎么實(shí)現(xiàn)的吧。
英特爾銳炫? 顯卡基于Xe-HPG 微架構(gòu),Xe HPG GPU 中的每個(gè) Xe 內(nèi)核都配置了一組 256 位矢量引擎,旨在加速傳統(tǒng)圖形和計(jì)算工作負(fù)載,以及新的 1024 位矩陣引擎或 Xe 矩陣擴(kuò)展,旨在加速人工智能工作負(fù)載。
本次無限縮放Stable Diffusion v2視頻生成的全部代碼請(qǐng)戳這里openvino_notebooks/236-stable-diffusion-v2-infinite-zoom.ipynb at main · openvinotoolkit/openvino_notebooks · GitHub 。OpenVINO Notebooks運(yùn)行環(huán)境的安裝請(qǐng)您參考我們的上一篇《AI作畫竟如此簡(jiǎn)單!蝰蛇峽谷OpenVINO?開發(fā)者實(shí)戰(zhàn)》。
此次我們應(yīng)用的深度學(xué)習(xí)模型是Stable Diffusion v2模型,相比它的上一代v1模型,它具有一系列新特性,包括配備了一個(gè)新的魯棒編碼器OpenCLIP,由LAION創(chuàng)建,并得到了Stability AI的幫助,與V1版本相比,此版本顯著增強(qiáng)了生成的照片。另外,v2模型在之前的模型基礎(chǔ)上增加了一個(gè)更新的修復(fù)模塊(inpainting)。這種文本引導(dǎo)的修復(fù)使切換圖像中的部分比以前更容易。也正是基于這一新特性,我們可以利用stabilityai/stable-diffusion-2-inpainting模型,生成帶有無限縮放效果的視頻。
在圖像編輯中,Inpainting是一個(gè)恢復(fù)圖片缺失部分的過程。最常用于重建舊的退化圖像,從照片中去除裂紋、劃痕、灰塵斑點(diǎn)或紅眼。但憑借AI和Stable Diffusion模型的力量,Inpainting可以實(shí)現(xiàn)更多的功能。例如,它可以用來在現(xiàn)有圖片的任何部分渲染全新的東西,而不僅僅是恢復(fù)圖像中缺失的部分。只要發(fā)揮你的想象力,你可以做出更多炫酷效果的作品來。
下面的工作流程圖解釋了用于Inpainting的Stable Diffusion inpainting流水線是如何工作的:
?在此次的代碼示例中,我們將完成以下幾個(gè)步驟:
- 將PyTorch 模型轉(zhuǎn)換為ONNX格式。
- 利用Model Optimizer 工具,將ONNX 模型轉(zhuǎn)換為OpenVINO IR 格式。
- 運(yùn)行Stable Diffusion v2 inpainting 流水線,生成無限縮放效果視頻。
現(xiàn)在,讓我們來重點(diǎn)來看看如何配置推理流水線的代碼。
這里主要分以下三個(gè)步驟:
- 在推理的硬件設(shè)備上加載模型Load models on device
- 配置分詞器和調(diào)度器Configure tokenizer and scheduler
- 創(chuàng)建OvStableDiffusionInpaintingPipeline 類的示例
我們?cè)?/span>配備英特爾銳炫?獨(dú)立顯卡A770m的蝰蛇峽谷上加載模型并運(yùn)行推理,因此推理設(shè)備我們選擇“GPU”。默認(rèn)情況下,它使用“ AUTO”,并會(huì)自動(dòng)切換至檢測(cè)到的 GPU。代碼如下:
from?openvino.runtime?import?Core
core?=?Core()
tokenizer?=?CLIPTokenizer.from_pretrained('openai/clip-vit-large-patch14')
text_enc_inpaint?=?core.compile_model(TEXT_ENCODER_OV_PATH_INPAINT,?"GPU")
unet_model_inpaint?=?core.compile_model(UNET_OV_PATH_INPAINT,?" GPU ")
vae_decoder_inpaint?=?core.compile_model(VAE_DECODER_OV_PATH_INPAINT,?"GPU")
vae_encoder_inpaint?=?core.compile_model(VAE_ENCODER_OV_PATH_INPAINT,?"GPU")
ov_pipe_inpaint?=?OVStableDiffusionInpaintingPipeline(
????tokenizer=tokenizer,
????text_encoder=text_enc_inpaint,
????unet=unet_model_inpaint,
????vae_encoder=vae_encoder_inpaint,
????vae_decoder=vae_decoder_inpaint,
????scheduler=scheduler_inpaint,
)
接下來,我們輸入文本提示,運(yùn)行視頻生成的代碼吧。
import?ipywidgets?as?widgets
zoom_prompt?=?widgets.Textarea(value="valley?in?the?Alps?at?sunset,?epic?vista,?beautiful?landscape,?4k,?8k",?description='positive?prompt',?layout=widgets.Layout(width="auto"))
zoom_negative_prompt?=?widgets.Textarea(value="lurry,?bad?art,?blurred,?text,?watermark",?description='negative?prompt',?layout=widgets.Layout(width="auto"))
zoom_num_steps?=?widgets.IntSlider(min=1,?max=50,?value=20,?description='steps:')
zoom_num_frames?=?widgets.IntSlider(min=1,?max=50,?value=3,?description='frames:')
mask_width?=?widgets.IntSlider(min=32,?max=256,?value=128,?description='edge?size:')
zoom_seed?=?widgets.IntSlider(min=0,?max=10000000,?description='seed:?',?value=9999)
zoom_in?=?widgets.Checkbox(
????value=False,
????description='zoom?in',
????disabled=False
)
widgets.VBox([zoom_prompt,?zoom_negative_prompt,?zoom_seed,?zoom_num_steps,?zoom_num_frames,?mask_width,?zoom_in])
?
在這一步中,我把步驟設(shè)置為 20。理想情況下,我將使用 50,以提供最好看的結(jié)果。另外,這里還可以自行設(shè)置生成的圖畫數(shù)量,所有生成的圖畫將組合起來構(gòu)成最后的無限縮放效果視頻。當(dāng)然,我們同樣還生成了 GIF 文件,以便大家多種形式可視化展示生成結(jié)果。
最終結(jié)果。
AI作畫升級(jí),OpenVINO? 和英特爾獨(dú)立顯卡助你快速生
結(jié)論
當(dāng)下,如果您想了解“Stable Diffusion”的工作原理,以及英特爾硬件的加速方式,OpenVINO Notebooks 無疑是首選。如果您有任何疑問或想要展示您的一些最佳成果,請(qǐng)?jiān)谶@里或通過我們的 GitHub 討論板發(fā)表評(píng)論! 祝您編碼快樂。文章來源:http://www.zghlxwxcb.cn/news/detail-435193.html
openvinotoolkit/openvino_notebooks · Discussions · GitHub
#iamintel文章來源地址http://www.zghlxwxcb.cn/news/detail-435193.html
到了這里,關(guān)于AI作畫升級(jí),OpenVINO? 和英特爾獨(dú)立顯卡助你快速生成視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!