DiscoArt 如何自动绘制艺术画

discoart 是一个很牛逼的开源模块,它能根据你给定的关键词自动绘画。
绘制过程是完全可见的,你可以在 jupyter 页面上看见这个绘制的过程:
1.准备
开始之前,你要确保python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细python安装指南 进行安装。
**(可选1) **如果你用python的目的是数据分析,可以直接安装anaconda:python数据分析与挖掘好帮手—anaconda,它内置了python和pip.
**(可选2) **此外,推荐大家用vscode编辑器,它有许多的优点:python 编程的最好搭档—vscode 详细指南。
请选择以下任一种方式输入命令安装依赖 :
windows 环境 打开 cmd (开始-运行-cmd)。macos 环境 打开 terminal (command+空格输入terminal)。如果你用的是 vscode编辑器 或 pycharm,可以直接使用界面下方的terminal.pip install discoart为了运行 discoart, 你需要python 3.7+ 和支持 cuda 的 pytorch.
2.开始使用 discoart
你可以在jupyter中运行discoart,这样能方便地实时展示绘制过程:
from discoart import createda = create()这样将使用默认的 文本描述 和参数创建图像:
上滑查看更多代码
text_prompts:
- a beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, trending on artstation.
- yellow color scheme
init_image:
width_height: [1280,768 ]
skip_steps:0
steps:250
init_scale:1000
clip_guidance_scale:5000
tv_scale:0
range_scale:150
sat_scale:0
cutn_batches:4
diffusion_model:512x512_diffusion_uncond_finetune_008100
use_secondary_model: true
diffusion_sampling_mode: ddim
perlin_init: false
perlin_mode: mixed
seed:
eta:0.8
clamp_grad: true
clamp_max:0.05
randomize_class: true
clip_denoised: false
rand_mag:0.05
cut_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:20
gif_fps:20
gif_size_ratio:0.5
n_batches:4
batch_size:1
batch_name:
clip_models:
-vit-b-32::openai
-vit-b-16::openai
-rn50::openai
clip_models_schedules:
use_vertical_symmetry: false
use_horizontal_symmetry: false
transformation_percent: [0.09]
on_misspelled_token: ignore
diffusion_model_config:
cut_schedules_group:
name_docarray:
skip_event:
stop_event:
text_clip_on_cpu: false
truncate_overlength_prompt: false
image_output: true
visualize_cuts: false
display_rate:1create 支持的所有参数如下:
上滑查看更多代码
text_prompts:
- a beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, trending on artstation.
- yellow color scheme
init_image:
width_height: [1280,768 ]
skip_steps:0
steps:250
init_scale:1000
clip_guidance_scale:5000
tv_scale:0
range_scale:150
sat_scale:0
cutn_batches:4
diffusion_model:512x512_diffusion_uncond_finetune_008100
use_secondary_model: true
diffusion_sampling_mode: ddim
perlin_init: false
perlin_mode: mixed
seed:
eta:0.8
clamp_grad: true
clamp_max:0.05
randomize_class: true
clip_denoised: false
rand_mag:0.05
cut_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:20
gif_fps:20
gif_size_ratio:0.5
n_batches:4
batch_size:1
batch_name:
clip_models:
-vit-b-32::openai
-vit-b-16::openai
-rn50::openai
clip_models_schedules:
use_vertical_symmetry: false
use_horizontal_symmetry: false
transformation_percent: [0.09]
on_misspelled_token: ignore
diffusion_model_config:
cut_schedules_group:
name_docarray:
skip_event:
stop_event:
text_clip_on_cpu: false
truncate_overlength_prompt: false
image_output: true
visualize_cuts: false
display_rate:1你可以这么使用参数:
from discoart import createda = create( text_prompts='a painting of sea cliffs in a tumultuous storm, trending on 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-* 第几个batch。*-done-* 是当前batch完成后的最终图像。*-step-* 是某一步的中间图像,实时更新。*-progress.png 是到目前为止所有中间结果的png图像,实时更新。*-progress.gif 是到目前为止所有中间结果的动画 gif,实时更新。da.protobuf.lz4 是到目前为止所有中间结果的压缩 protobuf,实时更新。3.显示/保存/加载配置
如果你想知道你当前绘图的配置,有三种方法:
from discoart import show_configshow_config(da) # show the config of the first runshow_config(da[3]) # show the config of the fourth runshow_config( 'discoart-06030a0198843332edc554ffebfbf288') # show the config of the run with a known docarray id要保存 document/documentarray 的配置:
from discoart import save_configsave_config(da, 'my.yml') # save the config of the first runsave_config(da[3], 'my.yml') # save the config of the fourth run从配置中导入:
from discoart import create, load_configconfig = load_config('my.yml')create(**config)此外,你还能直接把配置导出为图像的形式
from discoart.config import save_config_svgsave_config_svg(da)

单片机的片选和地址分配
数据:冰箱市场零售量增幅-43%,未来仍持续缩量
美国拉线式微型位移传感器
基于LT3956设计的80V恒流恒压HBLED驱动技术
华为消费者业务CEO余承东还宣布鸿蒙OS开源
DiscoArt 如何自动绘制艺术画
台湾运营商都获5G特许牌照,计划2020年完成建设1万个5G基站
锂电池主要有哪几类?
三星抢下英伟达7纳米GPU订单 提出的价格较台积电便宜
龚在研:汽车行业当下正处于车内智能化系统的3.0时代
Mathematica函数中的运算符及特殊符号
了解潜力巨大的驱动系统电动化市场最新动态
CCD视觉检测设备的工作原理/组成/优势/应用
隧道气体在线监测系统支持设置所有检测气体的报警限值、LED屏可视化和数据存储等重要功能
深刻理解新时代信息消费的新特征
浪潮自主研发模块化NAND Prober HX9000测试分析仪
Python可以应用的地方有哪些
特斯拉债券创新低 被指或未来3到6个月内破产
手机业务淡出中国市场,全力打造OLED业务
如何在智能时代走向成功?从读懂华为的“朋友圈”开始