腦洞大開!這個(gè)簡(jiǎn)易命令行工具,輸入文字可生成的奇特圖像
【導(dǎo)語(yǔ)】:使用文本生成圖像的簡(jiǎn)單命令行工具。

“mist over green hills” 生成的圖片
霧氣朦朧的青山
簡(jiǎn)介
deep-daze 是一個(gè)使用 OpenAI 的 CLIP 和 Siren 的,使用文本生成圖像的命令行工具,使用簡(jiǎn)單的語(yǔ)言描述圖像內(nèi)容,即可生成對(duì)應(yīng)的圖片。



項(xiàng)目地址是:
https://github.com/lucidrains/deep-daze
下載安裝
deep-daze是一個(gè)Python命令行工具,所以使用的環(huán)境中需要先安裝Python,然后執(zhí)行以下命令即可安裝:
$ pip install deep-daze
簡(jiǎn)單使用
deep-daze的使用也非常簡(jiǎn)單,記住一個(gè)imagine命令即可,如:
$ imagine "a house in the forest"
在Windows中需要使用管理員打開CMD窗口。

如果內(nèi)存足夠大,可以添加--deeper選項(xiàng)來獲得更高質(zhì)量的圖片:
$ imagine "shattered plates on the ground" --deeper
deep-daze有以下選項(xiàng)可供選擇:
--img=IMAGE_PATH
默認(rèn)值:無。
用以優(yōu)化png/jpg圖像或PIL圖像的路徑。
--encoding=ENCODING
默認(rèn)值:無。
用戶創(chuàng)建的自定義CLIP編碼。如果使用,則替換使用的任何文本或圖像。
--create_story=CREATE_STORY
默認(rèn)值:False。
如果啟用此功能,則可以使用比77個(gè)字符更長(zhǎng)的文本,用于創(chuàng)建圖片故事。
--story_start_words=STORY_START_WORDS
默認(rèn)值:5。
僅在create_story為True時(shí)使用。
--story_words_per_epoch=STORY_WORDS_PER_EPOCH
默認(rèn)值:5。
僅在create_story為True時(shí)使用。
--story_separator:
默認(rèn)值:無
僅在create_story為True時(shí)使用。定義一個(gè)類似.的分隔符。
--lower_bound_cutout=LOWER_BOUND_CUTOUT
默認(rèn)值:0.1
每批SIREN圖像的隨機(jī)切口的大小的采樣下限。應(yīng)小于0.8。
--upper_bound_cutout=UPPER_BOUND_CUTOUT
默認(rèn)值:1.0
每批SIREN圖像的隨機(jī)切口的大小的采樣上限。應(yīng)該保持在1.0。
--saturate_bound=SATURATE_BOUND
默認(rèn)值:False
如果為True,則在訓(xùn)練期間將LOWER_BOUND_CUTOUT線性增加至0.75。
--learning_rate=LEARNING_RATE
默認(rèn)值:1e-05
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率。
--num_layers=NUM_LAYERS
默認(rèn)值:16
Siren神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)量。
--batch_size=BATCH_SIZE
默認(rèn)值:4
計(jì)算損失之前傳遞到Siren圖像的數(shù)量。減小此值可能會(huì)降低內(nèi)存和準(zhǔn)確性。
--gradient_accumulate_every=GRADIENT_ACCUMULATE_EVERY
默認(rèn)值:4
計(jì)算出n個(gè)樣本的加權(quán)損耗。增加此值有助于以較小的批次大小提高準(zhǔn)確性。
--epochs=EPOCHS
默認(rèn)值:20
要運(yùn)行的次數(shù)。
--iterations=迭代
默認(rèn)值:1050
在給定時(shí)期內(nèi)計(jì)算和反向傳播損耗的次數(shù)。
--save_every=SAVE_EVERY
默認(rèn)值:100
生成圖像的每一次迭代是這個(gè)數(shù)的倍數(shù)。
--image_width = IMAGE_WIDTH
默認(rèn)值:512
所需的圖像分辨率。
--deeper=DEEPER
默認(rèn)值:False
使用具有32個(gè)隱藏層的Siren神經(jīng)網(wǎng)絡(luò)。
--overwrite=OVERWRITE
默認(rèn)值:False
是否覆蓋現(xiàn)有的同名生成圖像。
--save_progress=SAVE_PROGRESS
默認(rèn)值:False
是否保存在Siren訓(xùn)練之前生成的圖像。
--seed=SEED
類型:可選
默認(rèn)值:無
要使用的種子用于確定性的運(yùn)行。
--open_folder=OPEN_FOLDER
默認(rèn)值:True
是否打開生成的圖像的文件夾。
--save_date_time=SAVE_DATE_TIME
默認(rèn)值:False
保存文件具有時(shí)間戳。例如`%y%m%d-%H%M%S-my_phrase_here`
--start_image_path= TART_IMAGE_PATH
默認(rèn)值:無
首先在原始圖像上訓(xùn)練生,然后再轉(zhuǎn)向文本輸入
--start_image_train_iters=START_IMAGE_TRAIN_ITERS
默認(rèn)值:50
在初始圖像上進(jìn)行初始訓(xùn)練的次數(shù)
--theta_initial=THETA_INITIAL
默認(rèn)值:30.0
描述色彩空間頻率的參數(shù)。僅適用于網(wǎng)絡(luò)的第一層。
--theta_hidden = THETA_INITIAL
默認(rèn)值:30.0
描述色彩空間頻率的參數(shù)。僅適用于網(wǎng)絡(luò)的隱藏層。
--save_gif = SAVE_GIF
默認(rèn)值:False
是否保存生成過程的GIF動(dòng)畫。僅在save_progress設(shè)置為True時(shí)有效。
更多
基于一張圖片進(jìn)行訓(xùn)練合成
$ imagine 'a clear night sky filled with stars' --start_image_path ./cloudy-night-sky.jpg
原始圖片:

合成圖片:

使用Python進(jìn)行調(diào)用
from deep_daze import Imagine
imagine = Imagine(
text = 'cosmic love and attention',
num_layers = 24,
)
imagine()
每迭代四次就保存,以該格式保存圖片:insert_text_here.00001.png,insert_text_here.00002.png,...
imagine = Imagine(
text=text,
save_every=4,
save_progress=True
)
創(chuàng)建帶有時(shí)間戳和序列號(hào)的文件
imagine = Imagine(
text=text,
save_every=4,
save_progress=True,
save_date_time=True,
)
- EOF -
更多優(yōu)秀開源項(xiàng)目(點(diǎn)擊下方圖片可跳轉(zhuǎn))
開源前哨
日常分享熱門、有趣和實(shí)用的開源項(xiàng)目。參與維護(hù)10萬+star 的開源技術(shù)資源庫(kù),包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等
關(guān)注后獲取
回復(fù) 資源 獲取 10萬+ star 開源資源
分享、點(diǎn)贊和在看
支持我們分享更多優(yōu)秀開源項(xiàng)目,謝謝!
評(píng)論
圖片
表情



