国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

定制屬于你自己的 Stable Diffusion

人工智能
在本文中,我想分享如何使用現(xiàn)代技術(shù)LoRA逐步微調(diào)Stable Diffusion模型的指南。整個(gè)練習(xí)在Kaggle筆記本上進(jìn)行,這樣每個(gè)人都可以在沒有適當(dāng)設(shè)備的情況下完成這個(gè)練習(xí)。

我們很幸運(yùn)生活在AI時(shí)代。人工智能迅速發(fā)展,現(xiàn)在變得更加易于獲取。大多數(shù)開源模型都經(jīng)過了充分的訓(xùn)練,擁有來自廣泛類別的合理數(shù)量的數(shù)據(jù),因此我們可以生成許多不同類別的圖像。如果模型從未學(xué)習(xí)過我們想要生成的特定主題怎么辦?例如,我想要生成我今天早上剛做的蛋糕的圖像。盡管模型可以生成無數(shù)種蛋糕圖像,但模型不知道如何生成我剛剛制作的蛋糕的圖像。

盡管從頭開始訓(xùn)練對(duì)個(gè)人來說幾乎是不可能的,但由于不斷發(fā)展的模型微調(diào)技術(shù),將新主題納入模型可以輕松實(shí)現(xiàn)。自2022年以來,Stable Diffusion作為最新趨勢(shì)的一代模型,為圖像生成開啟了一個(gè)全新的時(shí)代。在本文中,我想分享如何使用現(xiàn)代技術(shù)LoRA逐步微調(diào)Stable Diffusion模型的指南。整個(gè)練習(xí)在Kaggle筆記本上進(jìn)行,這樣每個(gè)人都可以在沒有適當(dāng)設(shè)備的情況下完成這個(gè)練習(xí)。

在我們開始實(shí)現(xiàn)之前,讓我們快速了解一下Stable Diffusion的概念和微調(diào)技術(shù)LoRA。如果你已經(jīng)熟悉背后的知識(shí),請(qǐng)隨時(shí)跳到實(shí)施部分。

Stable Diffusion

圖1. Stable Diffusion中的反向擴(kuò)散

Stable Diffusion是一種可以從文本和圖像生成逼真照片的生成性AI模型。擴(kuò)散模型在潛在空間而不是圖像空間中施展魔法,這使得圖像生成對(duì)公眾來說更加可行,因?yàn)樗璧挠?jì)算能力更低。人們甚至可以在CPU機(jī)器上的小憩期間生成一個(gè)不存在的圖像。

有許多在線的穩(wěn)定擴(kuò)散平臺(tái)供公眾和開發(fā)者使用,如HuggingFace1和Stable Diffusion Online2。我們可以在沒有機(jī)器學(xué)習(xí)知識(shí)的情況下生成圖像。

LoRA(低秩適應(yīng))

圖2. Stable Diffusion網(wǎng)絡(luò)

LoRA是一種微調(diào)方法,它在穩(wěn)定擴(kuò)散網(wǎng)絡(luò)的交叉注意力層中添加了額外的權(quán)重。交叉注意力層在圖2中由黃色塊表示。交叉注意力層融合了圖像ZT和文本τθ的中間信息。向交叉注意力層添加權(quán)重?cái)U(kuò)展了文本提示和圖像之間的相關(guān)性。這就是LoRA如何向穩(wěn)定擴(kuò)散模型引入新知識(shí)。

修改后的權(quán)重被分解為更小的(低秩)矩陣。這些較小的矩陣攜帶的參數(shù)更少,并單獨(dú)存儲(chǔ)。這就是為什么LoRA權(quán)重文件的尺寸可控,但必須與底層的Stable Diffusion模型一起使用。

LoRA的權(quán)重大小通常在2到200 MB之間。這是共享和管理模型的優(yōu)勢(shì)之一。與其以幾GB的整個(gè)模型共享,更有效的方法是以更小的尺寸共享LoRA權(quán)重。

環(huán)境

這個(gè)練習(xí)是在Kaggle筆記本中進(jìn)行的,環(huán)境設(shè)置如下:

  • NVIDIA Tesla P100 (RAM=16G)
  • diffusers-0.30.0.dev0
  • Pytorch 2.1.2
  • Python 3.10

Kaggle筆記本已經(jīng)安裝了Python和PyTorch。我們需要安裝的唯一庫(kù)是來自HuggingFace的Diffusers。我們可以使用以下命令從源安裝Diffusers。從源安裝確保了庫(kù)的最新版本。路徑/kaggle/working是Kaggle運(yùn)行時(shí)的默認(rèn)工作空間。人們可以調(diào)整路徑以適應(yīng)自己的開發(fā)環(huán)境。

%cd /kaggle/working/
!pip install accelerate
!git clone https://github.com/huggingface/diffusers%cd /kaggle/working/diffusers
!pip install /kaggle/working/diffusers/. -q
%cd /kaggle/working/diffusers/examples/text_to_image
!pip install -r /kaggle/working/diffusers/examples/text_to_image/requirements.txt -q
!pip install --upgrade peft transformers xformers bitsandbytes -q

實(shí)驗(yàn)在這個(gè)練習(xí)中,我想向模型介紹蠟筆小新雕像。讓我們?cè)谝韵赂鞴?jié)中經(jīng)歷步驟。

第1步:數(shù)據(jù)收集

圖3. 訓(xùn)練樣本

首先,我們需要收集一些主題的圖像。在這個(gè)練習(xí)中,我們收集了25張蠟筆小新雕像的照片作為我們的訓(xùn)練數(shù)據(jù)。一些樣本可以在圖3中找到。以下是我遵循的數(shù)據(jù)收集推薦提示:

  • 統(tǒng)一圖像大小:例如,512x512。
  • 高圖像質(zhì)量:圖片以12M分辨率拍攝。
  • 保持主題在圖像中心。

此外,訓(xùn)練集中盡可能多地覆蓋多樣性也很重要,以便模型學(xué)習(xí)一般特征,如角色的眼睛、發(fā)型和身材。換句話說,我們希望模型學(xué)習(xí)什么是蠟筆小新雕像,而不是特定著裝風(fēng)格(例如紅襯衫和黃色短褲)和姿勢(shì)(例如站立)。

我已經(jīng)在5、15、25的培訓(xùn)規(guī)模上進(jìn)行了實(shí)驗(yàn)。盡管每一輪之間只有10張圖像的差異,但模型的泛化程度有了顯著提高。

第2步:基線評(píng)估

from diffusers import AutoPipelineForText2Image
pipeline = AutoPipelineForText2Image.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to("cuda")
prompt = "A crayon shin-chan figurine."
image = pipeline(prompt, num_inference_steps=100).images[0]
image.save("baseline.png")

在開始訓(xùn)練之前,我們想檢查一下預(yù)訓(xùn)練模型是否已經(jīng)知道我們想要微調(diào)的特定雕像,使用上述Python腳本。

  • AutoPipelineForText2Image類用于加載Stable Diffusion預(yù)訓(xùn)練模型stable-diffusion-v1–5。
  • 接下來,我們將文本提示設(shè)置為“A crayon shin-chan figurine”。我保持文本提示簡(jiǎn)潔,以便文本信息對(duì)模型來說直接了當(dāng)。
  • 將提示和推理次數(shù)傳遞給AutoPipelineForText2Image的實(shí)例并進(jìn)行生成過程。

圖4. 基線評(píng)估結(jié)果

腳本多次運(yùn)行,圖4中展示了三個(gè)生成的圖像。結(jié)果顯示,預(yù)訓(xùn)練模型知道可能是一個(gè)人角色的雕像,但不知道前綴‘crayon shin-chan’具體指的是哪個(gè)角色。生成圖像中的限制驗(yàn)證了我們微調(diào)工作的努力,因?yàn)槲覀兊某h是用一個(gè)未見過的主體來微調(diào)模型。

第3步:微調(diào)

圖5. 蠟筆

定義一個(gè)新的標(biāo)識(shí)符

除了收集一些訓(xùn)練圖像外,我們還需要為這個(gè)主題選擇一個(gè)新的名稱。每當(dāng)新名稱出現(xiàn)在文本提示中時(shí),修改后的模型就會(huì)理解它指的是新的主題,并相應(yīng)地生成內(nèi)容。

我們?yōu)槭裁葱枰粋€(gè)新的名稱?原始名稱Crayon Shin-Chan不是更具代表性嗎?我們這樣做的想法是,我們需要一個(gè)獨(dú)特的名稱,不要與已經(jīng)訓(xùn)練的其他現(xiàn)有名稱混在一起。在我們的例子中,內(nèi)部的蠟筆暗示了與我們用于繪畫的蠟筆的潛在聯(lián)系。如果關(guān)聯(lián)的文本提示包含Crayon Shin-Chan,生成的圖像可能包括與蠟筆相關(guān)的內(nèi)容。

建議使用隨機(jī)名稱作為新標(biāo)識(shí)符。我為這個(gè)練習(xí)選擇了aawxbc這個(gè)名字,它幾乎不會(huì)與任何現(xiàn)有名稱重疊。其他人也可以為新主題使用任何其他獨(dú)特的名稱。

訓(xùn)練

圖6. 模型生成的類別圖像

在Kaggle筆記本中,除了工作區(qū):/kaggle/working/,另一個(gè)常用的目錄是/kaggle/input/,我們?cè)谶@里存儲(chǔ)工作的輸入,如檢查點(diǎn)和訓(xùn)練圖像。以下是基于腳本train_dreambooth_lora.py的完整訓(xùn)練命令。

!accelerate config default
!mkdir /kaggle/working/figurine

!accelerate launch --mixed_precision="fp16"  /kaggle/working/diffusers/examples/dreambooth/train_dreambooth_lora.py 
--mixed_precision="fp16" 
--pretrained_model_name_or_path="runwayml/stable-diffusion-v1-5" 
--instance_data_dir="/kaggle/input/aawxbc" 
--instance_prompt="a photo of aawxbc figurine" 
--class_data_dir="/kaggle/working/figurine" 
--class_prompt="a photo of figurine" 
--with_prior_preservation 
--prior_loss_weight=1.0 
--use_8bit_adam 
--lr_scheduler="constant" 
--gradient_checkpointing 
--enable_xformers_memory_efficient_attention 
--num_train_epochs=50 
--output_dir="/kaggle/working/dreambooth-lora"

讓我們經(jīng)歷一些關(guān)鍵配置:

  • mixed_precision [可選]:選擇平臺(tái)支持的精度。選項(xiàng)有fp32、fp16和bf16。
  • class_prompt [可選]:存儲(chǔ)類別數(shù)據(jù)的提示和文件夾。在這個(gè)實(shí)驗(yàn)中,類別名稱是figurine,因?yàn)槲覀兿M麛U(kuò)散模型學(xué)習(xí)一種新的雕像類型。
  • class_data_dir [可選]:存儲(chǔ)模型生成的類別圖像的目錄。在我們的例子中,模型生成了一般的雕像圖像并將其保存在這個(gè)目錄下。
  • instance_prompt [必須]:我們?yōu)樾轮黝}定義了一個(gè)文本提示。格式是{新名稱} {類別名稱},例如aawxbc figurine、uvhhhl cat等。
  • instance_data_dir [必須]:存儲(chǔ)訓(xùn)練樣本的目錄。在這個(gè)練習(xí)中,我們將前面提到的25個(gè)樣本上傳到這個(gè)目錄。
  • num_train_epochs [可選]:訓(xùn)練的輪數(shù)。

通過遵循上述步驟,包括數(shù)據(jù)收集、安裝庫(kù)和完成訓(xùn)練,我們現(xiàn)在可以在由output_dir定義的目錄中找到LoRA權(quán)重pytorch_lora_weights.safetensors。權(quán)重文件的大小為3.2 MB,相當(dāng)容易管理。

第4步:推理—生成新圖像

from diffusers import AutoPipelineForText2Image
pipeline = AutoPipelineForText2Image.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to("cuda")
pipeline.load_lora_weights("/kaggle/working/dreambooth-lora", weight_name="pytorch_lora_weights.safetensors")
prompt = "A photo of aawxbc figurine."
image = pipeline(prompt, num_inference_steps=180).images[0]
image.save("aawxbc.png")

在成功導(dǎo)出LoRA權(quán)重后,我們可以進(jìn)入最后也是最令人興奮的部分:生成新圖像。請(qǐng)注意,LoRA權(quán)重不能獨(dú)立工作,因此我們需要同時(shí)加載原始的穩(wěn)定擴(kuò)散和LoRA權(quán)重文件。

在Python腳本中,除了我們?cè)诨€評(píng)估中使用的步驟外,我們還有一個(gè)額外的步驟,使用.load_lora_weights()函數(shù)加載LoRA模型,傳入目錄和LoRA權(quán)重文件的名稱。

圖7. 使用提示生成的圖像:“沙灘上的aawxbc雕像,戴著帽子”

對(duì)于文本提示,我們?cè)谀_本中包含了標(biāo)識(shí)符aawxbc和類別名稱figurine。兩組相應(yīng)文本提示生成的圖像分別在圖7和圖8中展示。我們可以看到,經(jīng)過微調(diào)的模型可以生成蠟筆小新雕像。

圖8. 使用提示生成的圖像:“森林里的aawxbc雕像,拿著杯子。”

我們可以通過注釋掉加載LoRA權(quán)重的行并保持文本提示不變來進(jìn)一步交叉驗(yàn)證新模型。我們可以看到原始的穩(wěn)定擴(kuò)散模型無法正確解釋標(biāo)識(shí)符aawxbc,這與基線評(píng)估一致,并突出了LoRA模型的貢獻(xiàn)。

總結(jié)

圖9. 微調(diào)概述

工作的概述在圖9中展示。新模型結(jié)合了LoRA權(quán)重,并且可以生成帶有新實(shí)例名稱aawxbc的蠟筆小新雕像的圖像,如綠色矩形突出所示。我們所要做的就是收集足夠的圖像,并用不存在的標(biāo)識(shí)符命名新主題。就這些。所有的艱苦工作都在代碼中完成了。

參考文獻(xiàn):

  • [1] https://huggingface.co/spaces/stabilityai/stable-diffusion
  • [2] https://stablediffusionweb.com/
責(zé)任編輯:趙寧寧 來源: 小白玩轉(zhuǎn)Python
相關(guān)推薦

2011-04-02 11:46:50

UI嵌入式開發(fā)

2024-12-06 10:21:04

2023-01-10 16:08:04

人工智能擴(kuò)散模型

2024-03-29 15:43:32

大型語(yǔ)言模型人工智能

2014-08-12 09:54:05

Android定制化啟動(dòng)器

2022-11-30 07:49:49

交互事件屏幕手勢(shì)識(shí)別

2023-07-14 13:34:34

StableDiffusion模型

2023-05-26 15:53:48

MidjourneyAI圖像

2023-03-31 23:39:08

AI模型版本

2023-11-22 11:22:57

AI模型

2023-02-10 21:12:41

GPUmacOSStable

2025-08-20 07:12:43

2013-01-09 17:16:41

Android開發(fā)Camera

2020-03-18 21:12:22

Nginx網(wǎng)站Linux

2014-08-26 10:05:37

框架開發(fā)AngularJS

2017-05-08 14:27:49

PHP框架函數(shù)框架

2024-08-08 08:21:12

SadTalker新版本工具

2022-09-01 10:46:02

前端組件庫(kù)

2022-10-20 16:04:26

模型質(zhì)量

2024-06-13 17:45:16

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

精品视频—区二区三区免费| 蜜桃麻豆91| 男女在线视频| 性久久久久久久久久久久| 手机看片日韩国产| 久久精品官网| 亚洲综合中文字幕在线| 国产精品免费99久久久| 蜜臀久久99精品久久久久久宅男| 漫画在线观看av| 日韩视频在线一区二区| 国产69精品久久app免费版| 亚洲综合区在线| 成人福利视频在| 亚洲精品一二三| av男人的天堂网| 亚洲视频免费在线| 污视频网站免费看| 亚洲成av人片在线| 国产在线自天天| 欧美综合在线视频| 成人高清免费观看mv| 欧美这里有精品| 欧美黄色激情| 欧美tk—视频vk| 国产社区精品视频| 亚洲欧美中文在线视频| 欧美亚洲韩国| www日韩中文字幕在线看| 爱情电影网av一区二区| 欧美激情一区二区久久久| av不卡一区| 欧美一级在线播放| 香蕉视频国产精品| 国产精品久久亚洲| 老司机一区二区| 国产 福利 在线| 亚洲视频1区2区| 欧美日韩在线精品一区二区三区激情综| 日本韩国视频一区二区| av网站免费在线观看| 日韩大陆欧美高清视频区| 成人软件在线观看| 欧美大荫蒂xxx| 精品国产成人| 久久久久久久久一区二区| 国产一区二区在线电影| 色综合av综合无码综合网站| www激情久久| 亚洲男男gay视频| 欧美精品成人一区二区三区四区| 日韩欧美另类一区二区| 欧美人与性动交| 欧美电影免费播放| 日韩福利影院| 久久久久久电影| 色播色播色播色播色播在线| 亚洲成人精品久久| 91麻豆精品国产91久久久久推荐资源| 国产999精品久久久| 亚洲欧美成人| 国产熟女高潮视频| 欧美日韩国产精品一区二区不卡中文| 日韩精品卡一| 欧美极度另类性三渗透| 亚洲国产精品第一区二区三区| 色欲色香天天天综合网www| 一区二区三区免费看视频| 亚洲大胆人体大胆做受1| 久久精品国产久精国产一老狼 | 久草免费在线色站| 国产一区二区三区直播精品电影 | 久久激情视频| 自拍偷拍 国产| 欧美丝袜第三区| 国产精一区二区| 国产精品久久国产精品| 99久久婷婷国产| 国产日本在线| 欧美精品videos另类日本| 校园激情久久| 少妇**av毛片在线看| 欲色天天网综合久久| 欧美一区91| 免费涩涩18网站入口| 精品国产乱码久久久久久夜甘婷婷| 久久中文字幕导航| 中文字幕色一区二区| 欧美视频国产精品| 国产成人tv| 欧美一级欧美一级| 日韩欧美中文一区二区| 久久伦理在线| 成人黄网18免费观看的网站| 亚洲人a成www在线影院| 亚洲美女一区| 免费男女羞羞的视频网站主页在线观看 | 日本精品一区二区三区四区| 国产精品麻豆网站| 成人影院在线观看| 国产精品视频xxxx| 久久免费偷拍视频| 国产盗摄一区二区| 国产欧美精品一区二区| 99精品偷自拍| 国产精选在线| 国产精品成人一区二区三区| 国产精品第四页| 四虎国产精品成人免费影视| 亚洲精品无人区| 欧美日本韩国一区| 四季av一区二区三区免费观看| 久久久久久三级| www.欧美免费| 国产成人午夜片在线观看高清观看| 137大胆人体在线观看| 成人免费xxxxx在线观看| 中文字幕一区视频| 日韩一二三区| 免费日韩视频在线观看| 中文在线资源观看视频网站免费不卡| 美女久久一区| 青春草在线免费视频| 日本不卡在线观看| 日韩欧美不卡在线观看视频| 一本色道久久综合亚洲精品不| 男女激情视频网站| 国产不卡视频在线| 亚洲精品免费播放| 欧美激情久久久久久久久久久| 动漫av网站免费观看| 中文字幕日韩在线观看| 国产电影精品久久禁18| 91精品xxx在线观看| 中文字幕色一区二区| 精品福利av导航| 久久精品国产99国产精品| а√在线中文在线新版| 欧美少妇一级片| 国产亚洲欧洲高清| av福利精品导航| 日韩有吗在线观看| 国产激情视频网址| 91精品在线观| 欧美日韩国产首页| 青青国产91久久久久久| 欧美动物xxx| 成人在线免费高清视频| 日韩一区二区福利| 国产精品网站在线播放| 少妇精品久久久一区二区三区| 天海翼一区二区三区四区在线观看| 国产成人激情视频| 在线免费亚洲电影| 日韩精品福利网| 超级碰碰久久| 精品视频无码一区二区三区| 97久久精品人人澡人人爽缅北| 亚洲人成伊人成综合网小说| 一区二区不卡| 精品丝袜在线| 五月婷婷丁香色| 91久热免费在线视频| 欧美精品日韩精品| 国产999精品久久久久久绿帽| 欧美黄色一级| 伊人影院在线播放| 日韩国产高清一区| www.久久色.com| 久久众筹精品私拍模特| 精品国产一区二区三区久久久樱花| 免费在线一级视频| 视频一区二区视频| 欧美制服第一页| 欧美少妇bbb| 成人ar影院免费观看视频| 免费欧美视频| √天堂8资源中文在线| 少妇一级淫免费播放| 亚洲一区二区久久久久久| 精品少妇一区二区三区日产乱码| 99在线精品免费| 欧美天天在线| 精品视频91| 99re在线视频| 北条麻妃在线视频| 精品一卡二卡三卡四卡日本乱码| 日韩午夜在线视频| 欧美午夜电影在线播放| 2020国产精品久久精品美国| 在线成人www免费观看视频| 深夜福利亚洲| 久草资源在线观看| 免费yellow网站| 国产av不卡一区二区| 国产成人精品日本亚洲| 国产香蕉97碰碰久久人人| 日韩欧美福利视频| 国产亚洲一本大道中文在线| 日韩av一区二区三区|