图片生成文本

2021-03-30 00:17:45

使用Openai' S剪辑和警报器的文本的简单命令行工具。信用进入Ryan Murdock的发现,发现这种技术(以及以伟大的名字出现)!

如果您有足够的内存,可以通过添加-Deeper标志来获得更好的质量

以真正的深度学习方式,更多的层将产生更好的结果。默认值为16,但可以根据您的资源增加到32个。

名称Imaginesynopsis Imagine<标志>位置参数文本(必填)少于77个字符,您想要Visualize.flags -img = image_path默认值:无向PNG / JPG映像或PIL图像的路径优化 - -encoding =编码默认值:无用户创建的自定义剪辑编码。如果使用,则替换使用的任何文本或图像。 --create_story = create_story default:false通过在输入单词的新滑动窗口上优化每个emoch来创建一个故事。如果启用了这一点,可以使用比77个字符更长的文本。需要save_progress以可视化故事的转换。 --story_start_words = Story_Start_Words默认值:5仅在Create_story为true时使用。为第一个时代优化有多少词。 --story_words_per_epoch = Story_Words_per_Poch默认值:仅在Create_story为True时使用5。在第一个单位以后添加到优化目标中有多少单词。 --lower_bound_cutout = dight_bound_cutout默认值:0.1下界的随机切除警笛图像的大小的抽样。应小于0.8。 --Upper_bound_cutout = Upper_bound_cutout默认值:1.0上限的随机剪切的Siren图像的大小的抽样。应该保持1.0。 --saturate_bound = saterate_bound默认值:false如果为true,则在培训期间,下部_bound_cutout在线性增加到0.75。 --Learning_rate = Learning_rate默认值:1E-05神经网络的学习率。 --num_layers = num_layers默认值:16在Siren神经网络中使用的隐藏层的数量。 --batch_size = batch_size default:4在计算损耗之前将生成的图像的数量传递到Siren。减少这可以降低内存和准确性。 --gradient_accumulate_every = gradient_accumulate_every默认值:4计算每次迭代的N个样本的加权丢失。增加这有助于提高批量尺寸的准确性。 -epochs = epochs默认值:20 opochs运行的数量。 - 符号=迭代默认值:1050在给定时期计算和反向丢失丢失的次数。 --save_every = save_every默认值:100生成图像每次迭代是此数字的倍数。 --image_width = image_width默认值:512图像的所需分辨率。 --deeper =更深的默认值:false使用带32个隐藏图层的警笛神经网络。 --overwrite =覆盖默认值:false是否覆盖具有相同名称的现有生成的图像。 --save_progress = save_progress默认值:false是否保存在培训警报器之前生成的图像。 --seed =种子类型:可选[]默认值:无用于确定性运行的种子。 - Open_Folder = Open_Folder默认值:真实是否打开显示生成的图像的文件夹。 --save_date_time = save_date_time default:false保存带有时间戳的文件预先保存。 `%y%m%d-%h%m%s-my_phrase_hel` --start_image_path = start_image_path默认值:none首先在启动映像上培训,然后在朝向文本输入--start_image_train_iters = start_image_train_iters默认之前先培训:50号码在起始图像上初始训练的步骤--theta_initial = theta_initial默认值:30.0 HyperParameter描述了颜色空间频率。仅适用于网络的第一层。 --theta_hidden = theta_initial默认值:30.0 HyperParameter描述颜色空间的频率。仅适用于网络的隐藏层。 --save_gif = save_gif默认值:false是否保存生成过程的GIF动画。仅在save_progress设置为true时才有效。

首先由Mario Klingemann设计和共享技术,它允许您在朝文本转向之前将发电机网络与起始图像一起括起来。

只需指定要使用的图像的路径,以及可选的初始训练步骤的数量。

我们还可以在图像中作为优化目标源,而不是仅启动发电机网络。然后,DeepDaze将渲染自己对该形象的解释:

文本的常规模式仅允许77个字符。如果您想可视化一个完整的故事/段落/歌曲/诗,请将create_story设置为true。

借Robert Frost - &#34鉴于诗歌“在雪上停下来的森林停止”;我认为我知道的是谁的伍德。他的房子在村里;他不会看到我在这里停下来看着他的树林充满了雪。我的小马必须认为它在没有靠近树林和冰冻的湖泊之间的农舍的情况下停止停下来停下来。他给他的线束钟声摇晃询问是否有一些错误。唯一的声音是轻松的风和柔软的片状扫描。树林很可爱,黑暗,深刻,但我承诺在我睡觉前保持,而且在我睡觉前走的数英里。"

来自Deep_Daze Impeine Imagine Imagine = Imagine(文本='宇宙的爱和注意力',num_layers = 24,)Imagine()

如果您已有至少16个GRAM可用的GIB,您应该能够使用一些Wiggle房间运行这些设置。

如果您绝望地在带有少于8个GIB vram的卡上运行此卡,则可以降低Image_Width。

Imagine = Imagine(temict = text,image_width = 256,num_layers = 16,batient_achument = 1,gradient_accumuly_every = 16#增加gradient_accumulate_every以纠正低批量尺寸的损失)

这些实验是用2060 Super RTX和3700x Ryzen 5进行的。我们首先提到参数(BS =批量大小),然后是存储器使用,在某些情况下,每秒训练迭代:

这只是一刻度份额。 我们将能够使用自然语言生成图像,声音,任何内容。 Holodeck即将变得真实。 如果您有兴趣进一步这项技术,请加入Pytorch或Mesh Tensorflow的Dall-E的复制工作。 @misc {unpublished2021clip,title = {剪辑:连接文本和图像},作者= {alec radford,伊利亚sutskever,Jong Wook Kim,Gretchen Krueger,Sandhini Agarwal},年= {2021}} @misc {sitzmann202020implic,title = {具有定期激活函数的隐式神经表示},作者= {vincent sitzmann和julien np martel和亚历山大W. bergman和david b. lindell和gordon wetzstein},年= {2020},eprint = { 2006.09661},ArchivePrefix = {Arxiv},PrimaryClass = {Cs.cv}}