脑洞大开!这个简易命令行工具,输入文字可生成的奇特图像
Cocoa开发者社区
共 4683字,需浏览 10分钟
·
2021-04-21 23:40
【导语】:使用文本生成图像的简单命令行工具。
“mist over green hills” 生成的图片
雾气朦胧的青山
简介
deep-daze 是一个使用 OpenAI 的 CLIP 和 Siren 的,使用文本生成图像的命令行工具,使用简单的语言描述图像内容,即可生成对应的图片。
项目地址是:
https://github.com/lucidrains/deep-daze
下载安装
deep-daze是一个Python命令行工具,所以使用的环境中需要先安装Python,然后执行以下命令即可安装:
$ pip install deep-daze
简单使用
deep-daze的使用也非常简单,记住一个imagine命令即可,如:
$ imagine "a house in the forest"
在Windows中需要使用管理员打开CMD窗口。
如果内存足够大,可以添加--deeper选项来获得更高质量的图片:
$ imagine "shattered plates on the ground" --deeper
deep-daze有以下选项可供选择:
--img=IMAGE_PATH
默认值:无。
用以优化png/jpg图像或PIL图像的路径。
--encoding=ENCODING
默认值:无。
用户创建的自定义CLIP编码。如果使用,则替换使用的任何文本或图像。
--create_story=CREATE_STORY
默认值:False。
如果启用此功能,则可以使用比77个字符更长的文本,用于创建图片故事。
--story_start_words=STORY_START_WORDS
默认值:5。
仅在create_story为True时使用。
--story_words_per_epoch=STORY_WORDS_PER_EPOCH
默认值:5。
仅在create_story为True时使用。
--story_separator:
默认值:无
仅在create_story为True时使用。定义一个类似.的分隔符。
--lower_bound_cutout=LOWER_BOUND_CUTOUT
默认值:0.1
每批SIREN图像的随机切口的大小的采样下限。应小于0.8。
--upper_bound_cutout=UPPER_BOUND_CUTOUT
默认值:1.0
每批SIREN图像的随机切口的大小的采样上限。应该保持在1.0。
--saturate_bound=SATURATE_BOUND
默认值:False
如果为True,则在训练期间将LOWER_BOUND_CUTOUT线性增加至0.75。
--learning_rate=LEARNING_RATE
默认值:1e-05
神经网络的学习率。
--num_layers=NUM_LAYERS
默认值:16
Siren神经网络的隐藏层数量。
--batch_size=BATCH_SIZE
默认值:4
计算损失之前传递到Siren图像的数量。减小此值可能会降低内存和准确性。
--gradient_accumulate_every=GRADIENT_ACCUMULATE_EVERY
默认值:4
计算出n个样本的加权损耗。增加此值有助于以较小的批次大小提高准确性。
--epochs=EPOCHS
默认值:20
要运行的次数。
--iterations=迭代
默认值:1050
在给定时期内计算和反向传播损耗的次数。
--save_every=SAVE_EVERY
默认值:100
生成图像的每一次迭代是这个数的倍数。
--image_width = IMAGE_WIDTH
默认值:512
所需的图像分辨率。
--deeper=DEEPER
默认值:False
使用具有32个隐藏层的Siren神经网络。
--overwrite=OVERWRITE
默认值:False
是否覆盖现有的同名生成图像。
--save_progress=SAVE_PROGRESS
默认值:False
是否保存在Siren训练之前生成的图像。
--seed=SEED
类型:可选
默认值:无
要使用的种子用于确定性的运行。
--open_folder=OPEN_FOLDER
默认值:True
是否打开生成的图像的文件夹。
--save_date_time=SAVE_DATE_TIME
默认值:False
保存文件具有时间戳。例如`%y%m%d-%H%M%S-my_phrase_here`
--start_image_path= TART_IMAGE_PATH
默认值:无
首先在原始图像上训练生,然后再转向文本输入
--start_image_train_iters=START_IMAGE_TRAIN_ITERS
默认值:50
在初始图像上进行初始训练的次数
--theta_initial=THETA_INITIAL
默认值:30.0
描述色彩空间频率的参数。仅适用于网络的第一层。
--theta_hidden = THETA_INITIAL
默认值:30.0
描述色彩空间频率的参数。仅适用于网络的隐藏层。
--save_gif = SAVE_GIF
默认值:False
是否保存生成过程的GIF动画。仅在save_progress设置为True时有效。
更多
基于一张图片进行训练合成
$ imagine 'a clear night sky filled with stars' --start_image_path ./cloudy-night-sky.jpg
原始图片:
合成图片:
使用Python进行调用
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
)
创建带有时间戳和序列号的文件
imagine = Imagine(
text=text,
save_every=4,
save_progress=True,
save_date_time=True,
)
- EOF -
分享、点赞和在看
支持我们分享更多优秀开源项目,谢谢!
评论