脑洞大开!这个简易命令行工具,输入文字可生成的奇特图像

编程

【导语】:使用文本生成图像的简单命令行工具。

简介

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,

)

开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

以上是 脑洞大开!这个简易命令行工具,输入文字可生成的奇特图像 的全部内容, 来源链接: utcz.com/z/519580.html

回到顶部