当前位置: 首页 > 科技观察

教你一行代码自动画图(Discoart)

时间:2023-03-18 23:42:07 科技观察

DiscoArt是一个非常牛逼的开源模块,可以根据你给的关键词自动画图。绘图过程完全可见,在jupyter页面可以看到绘图过程:1.开始之前,需要确保你的电脑已经成功安装了Python和pip。如果没有,可以访问这篇文章:超详细的Python安装指南进行安装。(可选1)如果使用Python进行数据分析,可以直接安装Anaconda:Anaconda,Python数据分析和挖掘的好帮手,内置Python和pip。(可选2)另外,推荐大家使用VSCode编辑器,它有很多优点:Python编程的最佳拍档——VSCode详解指南。请选择以下方式之一输入命令安装依赖项:Windows环境打开Cmd(开始-运行-CMD)。MacOS环境打开Terminal(command+空格进入Terminal)。如果你使用的是VSCode编辑器或者Pycharm,可以直接使用界面下方的Terminal.pipinstalldiscoart。要运行Discoart,您需要Python3.7+和支持CUDA的PyTorch.2。要开始使用Discoart,您可以在Jupyter中运行Discoart,这使得实时显示绘图过程变得容易:fromdiscoartimportcreateda=create()这将使用默认文本描述和参数创建图像:text_prompts:-A由gregrutkowski和thomaskinkade绘制的一座奇异灯塔的美丽画作,它的光芒照耀在汹涌的血海中,艺术站上的趋势。-yellowcolorschemeinit_image:width_height:[1280,768]skip_steps:0steps:250init_scale:1000clip_guidance_scale:5000tv_scale:0range_scale:150sat_scale:0cutn_batches:4diffusion_model:512x512_diffusion_uncond_finetune_008100use_secondary_model:Truediffusion_sampling_mode:ddimperlin_init:Falseperlin_mode:mixedseed:eta:0.8clamp_grad:Trueclamp_max:0.05randomize_class:Trueclip_denoised:Falserand_mag:0.05cut_overview:"[12]*400+[4]*600"cut_innercut:"[4]*400+[12]*600"cut_icgray_p:"[0.2]*400+[0]*600"cut_ic_pow:1.save_rate:20gif_fps:20gif_size_ratio:0.5n_batches:4batch_size:1batch_name:clip_models:-ViT-B-32::openai-ViT-B-16::openai-RN50::openaiclip_models_schedules:use_vertical_symmetry:Falseuse_horizo??ntal_symmetry:Falsetransformation_percent:[0.09]onfusion_pelled_modelignoredcut_schedules_group:name_docarray:skip_event:stop_event:text_clip_on_cpu:Falsetruncate_overlength_prompt:Falseimage_output:Truevisualize_cuts:Falsedisplay_rate:1创建出来的就是这个图:Create支持的所有参数如下:text_prompts:-Abeautifulpaintingofasingularlighthouse,shiningitslightacrossatumultuousgregrutkowski和thomaskinkade的血海,艺术站上的趋势。-yellowcolorschemeinit_image:width_height:[1280,768]skip_steps:0steps:250init_scale:1000clip_guidance_scale:5000tv_scale:0range_scale:150sat_scale:0cutn_batches:4diffusion_model:512x512_diffusion_uncond_finetune_008100use_secondary_model:Truediffusion_sampling_mode:ddimperlin_init:Falseperlin_mode:mixedseed:eta:0.8clamp_grad:Trueclamp_max:0.05randomize_class:Trueclip_denoised:Falserand_mag:0.05cut_overview:"[12]*400+[4]*600"cut_innercut:"[4]*400+[12]*600"cut_icgray_p:"[0.2]*400+[0]*600"cut_ic_pow:1.save_rate:20gif_fps:20gif_size_ratio:0.5n_batches:4batch_size:1batch_name:clip_models:-ViT-B-32::openai-ViT-B-16::openai-RN50::openaiclip_models_schedules:use_vertical_symmetry:Falseuse_horizo??ntal_symmetry:Falsetransformation_percent:[0.09]on_misspelled_token:ignorediffusion_model_config:cut_schedules_group:name_docarray:skip_event:stop_event:text_clip_on_cpu:Falsetruncate_overlength_prompt:Falseimage_output:Truevisualize_cuts:Falsedisplay_rate:1你可以这么使用参数:fromdiscoartimportcreateda=create(text_prompts='风暴中的海崖画,ArtStation上的趋势。',init_image='https://d2vyhzeko0lke5.cloudfront.net/2f4f6dfa5a05e078469ebe57e77b72f0.png',skip_steps=100,)如果你没有用jupyter运行,你也可以看到中间结果,因为最终结果和中间结果会在当前工作目录下创建,即./{name-docarray}/{i}-done.png。/{name-docarray}/{i}-step-{j}.png./{name-docarray}/{i}-progress.png./{name-docarray}/{i}-progress.gif./{name-docarray}/da.protobuf.lz4name-docarray是运行时定义的名字,如果没有定义,会随机生成第i-*thBatch。-done-是当前批处理完成后的最终图像。-step-是某个步骤的中间图像,实时更新。*-progress.png是到目前为止所有中间结果的png图像,实时更新。*-progress.gif是迄今为止所有中间结果的动画gif,实时更新。da.protobuf.lz4是迄今为止所有中间结果的压缩protobuf,实时更新。3.Display/save/loadconfiguration如果你想知道你当前绘图的配置,有以下三种方式:fromdiscoartimportshow_configshow_config(da)#showtheconfigoffirstrunshow_config(da[3])#showthe第四次运行的配置show_config('discoart-06030a0198843332edc554ffebfbf288')#显示具有已知DocArrayID的运行配置要保存Document/DocumentArray的配置:fromdiscoartimportsave_configsave_config(da,'my.yml')#保存第一次运行的配置save_config(da[3],'my.yml')#保存第四次运行的配置Importfromconfiguration:fromdiscoartimportcreate,load_configconfig=load_config('my.yml')create(**config)此外,您还可以直接将配置导出为图像形式fromdiscoart.configimportsave_config_svgsave_config_svg(da)Image我们的文章到此结束。如果喜欢今天的Python实战教程,请继续关注Python实战宝典。