(1)任務一👡:文心ERNIE-ViLG文圖生成模型的測試👨🦯,生成自己的自畫像👩🏿🦱。將實驗過程用文字和截圖的方式寫在word文檔裏,包括實驗過程💈、實驗代碼和實驗結果🙇🏽♂️。
(2)完成任務二:Stable Diffusion文圖生成模型的測試,生成自己的自畫像🎿。將實驗過程用文字和截圖的方式寫在word文檔裏,包括實驗過程、實驗代碼和實驗結果。
(3)完成任務三:文圖生成模型的訓練,訓練該模型具有任務一和任務二中的模型沒有的圖片風格。將實驗過程用文字和截圖的方式寫在word文檔裏🦵🏻,包括實驗過程🫵🏼、實驗代碼和實驗結果✍🏼👨🏽🦲。
下面展示2020級人工智能專業同學們的作品:
優秀實驗報告:
第七組文心ERNIE-ViLG文圖生成模型
20人工智能 劉彥青🏌️,陸奕哲
準備工作
首先⛸,從清華源內安裝paddle-pipelines 0.3.0版本。
(Paddle-pipelines是一個端到端智能文本產線框架,面向 NLP 全場景為用戶提供低門檻構建強大產品級系統的能力👴,使用百萬量級的人工標註的搜索數據集,對於速度和精度都進行了優化。)
再安裝自然語言處理包,paddlenlp 2.4.1版本。
(paddlenlp 是飛槳自然語言處理開發庫🌑,提升飛槳開發者文本領域建模效率和提升開發者在文本領域的開發效率,並提供豐富的NLP應用示例🌅。)
申請密鑰
在ERNIE-ViLG官網申請API Key和 Secret key兩個密鑰。
創建完成後🚪,將申請的API Key和 Secret key替換到代碼中⛪️,並運行🔔。
定義生成圖片所需的參數
設置需要生成的圖片數量和圖片大小(高度*寬度)🤽🏽。
將自身形象特點描述出來,寫進prompt文本代碼中,越具體越好。
再選擇想要生成圖片的風格模式。
最後選擇保存路徑,並運行。
(註意:要確保選擇style風格的時候,是已經訓練過的內容風格🕵🏼♀️,沒訓練過的style執行不了❕。)
ERNIE-ViLG官網申請API Key和Secret key兩個密鑰
1.3 定義生成圖片所需的參數
參數解釋如下:
text_prompts(str): 輸入的語句🍅,描述想要生成的圖像的內容。
style(Optional[str]): 生成圖像的風格🤦🏽♀️,當前支持 古風、油畫👩✈️、水彩🖐🏽、卡通🛶、二次元🤜🏻、浮世繪、蒸汽波藝術、 low poly、像素風格、概念藝術、未來主義⬆️、賽博朋克💆🏿♀️、寫實風格🧛🏽♂️、洛麗塔風格、巴洛克風格、超現實主義💊、探索無限。
resolution(Optional[str]): 生成圖像的分辨率🦶🏼,當前支持 '1024 * 1024', '1024 * 1536', '1536 * 1024',默認為'1024 * 1024'❤️。
topk(Optional[int]): 保存前多少張圖🙎🏼♂️🏋🏼♀️,最多保存6張。
output_dir(Optional[str]): 保存輸出圖像的目錄,默認為"ernievilg_output"。
2.展示圖片
實驗代碼
1.1
!pip install paddle-pipelines==0.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install paddlenlp==2.4.1
from IPython.display import clear_output
clear_output()
print("ErniViLG環境安裝成功!請重啟內核!!")
1.2
from pipelines.nodes import ErnieTextToImageGenerator
from pipelines import TextToImagePipeline
# ERNIE-ViLG官網申請API Key和 Secret key兩個密鑰 (註意請替換這裏的密鑰,當前密鑰已經失效🦾!😳🌛!!)
api_key = "8pYG7sodosioOp3KNHfbInipZpIGXWD2"
secret_key = "RGgwGBxW51fjGzFiLkH7jwxIwSC5QeRB"
# 定義pipeline
erine_image_generator = ErnieTextToImageGenerator(ak=api_key,
sk=secret_key)
pipe = TextToImagePipeline(erine_image_generator)
1.3
# 需要返回多少張圖片
topk = 1
# 指定需要返回的圖片大小(高度x寬度)
size = "1024*1024"
# 需要生成的prompt文本
prompt_text= "男大學生,185cm▪️,單眼皮☀️,短發, 運動裝🕵️♂️🧘🏼♂️,愛笑,陽光,黑短發,微胖"
# 指定的風格
style = "水彩"
# 指定生成圖片的保存路徑
output_dir = "ernievilg_output"
# 開始生成圖片
prediction = pipe.run(query=prompt_text,
params={
"TextToImageGenerator": {
"topk": topk,
"style": style,
"resolution": size,
"output_dir": output_dir
}
})
1.4
# 展示生成的圖片
from PIL import Image
for image in prediction['results']:
display(Image.open(image))
實驗結果
實驗ErnieViLG在線體驗
專業班級 | 20人工智能1班 | 學號 | 20180122、20180123 | 姓名 | 倪金成、沈磊 |
實驗內容 | 使用PP飛槳🩷🦻🏽,通過調用百度文心ERNIE-ViLG 模型,使用文字描述生成相應圖形。 | ||||
實驗結果 (附圖) | 代碼一: !pip install paddlenlp==2.4.1 向內核安裝百度深度學習框架🥞。分別為文本流水線系統和自然語言處理模型庫。並重啟內核🥁。 代碼二: from pipelines.nodes import ErnieTextToImageGenerator from pipelines import TextToImagePipeline # ERNIE-ViLG官網申請API Key和 Secret key兩個密鑰 api_key = "MzQIiXsZbEU4piSNO0ZhnlQuYxRAVe95" secret_key = "dhqPgYXyNDzdFEt7Wh989mYNWvd1nZGW" # 定義pipeline erine_image_generator = ErnieTextToImageGenerator(ak=api_key, sk=secret_key) pipe = TextToImagePipeline(erine_image_generator) 運行之前,我們需要在ERNIE-ViLG官網申請API Key和 Secret key兩個密鑰 代碼三: topk = 3 # 指定需要返回的圖片大小(高度x寬度) size = "1024*1024" # 需要生成的prompt文本 prompt_text= "男生💂🏽♂️,戴眼鏡,黑色短發,短袖,雙眼皮,身高一米七八📛,陽光大男孩" # 指定的風格 style = "油畫" # 指定生成圖片的保存路徑 output_dir = "ernievilg_output" # 開始生成圖片 prediction = pipe.run(query=prompt_text, Params={ "TextToImageGenerator":{ "topk": topk, "style": style, "resolution": size, "output_dir": output_dir } }) 定義生成圖片所需要的參數。 結果展示: |