0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DiscoArt 如何自动绘制艺术画

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-17 10:44 次阅读

DiscoArt 是一个很牛逼的开源模块,它能根据你给定的关键词自动绘画。

绘制过程是完全可见的,你可以在 jupyter 页面上看见这个绘制的过程:
1.准备

开始之前,你要确保Pythonpip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install discoart

为了运行 Discoart, 你需要Python 3.7+ 和支持 CUDA 的 PyTorch.

2.开始使用 Discoart

你可以在Jupyter中运行Discoart,这样能方便地实时展示绘制过程:

from discoart import create

da = 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:1

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:1

你可以这么使用参数:

from discoart import create

da = 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.lz4
  • name-docarray是运行时定义的名称,如果没有定义,则会随机生成。
  • i-* 第几个Batch。
  • *-done-* 是当前Batch完成后的最终图像。
  • *-step-* 是某一步的中间图像,实时更新。
  • *-progress.png 是到目前为止所有中间结果的png图像,实时更新。
  • *-progress.gif 是到目前为止所有中间结果的动画 gif,实时更新。
  • da.protobuf.lz4 是到目前为止所有中间结果的压缩 protobuf,实时更新。

3.显示/保存/加载配置

如果你想知道你当前绘图的配置,有三种方法:

from discoart import show_config

show_config(da) # show the config of the first run
show_config(da[3]) # show the config of the fourth run
show_config(
    'discoart-06030a0198843332edc554ffebfbf288'
) # show the config of the run with a known DocArray ID

要保存 Document/DocumentArray 的配置:

from discoart import save_config

save_config(da, 'my.yml') # save the config of the first run
save_config(da[3], 'my.yml') # save the config of the fourth run

从配置中导入:

from discoart import create, load_config

config = load_config('my.yml')
create(**config)

此外,你还能直接把配置导出为图像的形式

from discoart.config import save_config_svg

save_config_svg(da)

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2702

    浏览量

    47456
  • 参数
    +关注

    关注

    11

    文章

    1832

    浏览量

    32204
  • 开源
    +关注

    关注

    3

    文章

    3335

    浏览量

    42483
收藏 人收藏

    评论

    相关推荐

    如何在AD的PCB绘制两个地?

    我想请问一下,在AD的PCB绘制中,怎么两个地?
    发表于 07-09 04:36

    CAD云线怎么?CAD云线绘制技巧

    在使用正版CAD软件绘制图纸的过程中,在对CAD图纸进行一些简单的修改等表示时,可能需要使用到云线功能。那么CAD云线怎么呢?接下来的CAD教程就让小编来给大家介绍一下浩辰CAD建筑软件中绘制云线
    发表于 06-05 17:34

    舞台艺术自动控制

    舞台艺术自动控制一.实验目的1. 掌握移位寄存器的使用2. 掌握PLC与外围电路的接
    发表于 09-30 12:35 3845次阅读

    看程序的艺术

    看程序的艺术 1、善用原理图——“顺藤摸瓜”大法    顺着程序的流程一边看一边原理图,一遍看完后,原理图出来了,
    发表于 01-16 11:34 516次阅读

    PCB板绘制经验总结

    PCB板的绘制经验总结:(1):原理图的时候管脚的标注一定要用网络 NET不要用文本TEXT否则导PCB设计的时候会出问题(2):完原理图的时候一
    发表于 09-19 23:52 3787次阅读

    新的艺术创作:利用神经网络油画

    ——特别是在算法尝试绘制人脸时。然而,这也正是此项实验的重点所在:通过观察神经网络如何“傻傻”地进行学习,我们将能够一窥人工智能艺术创作的基本思路。
    发表于 07-16 11:11 1749次阅读

    基于创意序列学习的艺术风格学习与绘制系统

    基于学习的智能图像风格绘制是当前多媒体特别是艺术风格化领域的一个热门研究课题.图像风格学习算法主要研究利用多媒体数据及机器学习方法对真实样本数据进行自动艺术
    发表于 12-18 11:41 0次下载

    俄罗斯主要艺术画廊Tretyakov启动了区块链的艺术赞助项目

    据俄罗斯塔斯社11月15日报道,俄罗斯莫斯科久负盛名的国家特列季亚科夫画廊将推出一项以区块链为基础的艺术赞助计划。这个被称为“我的Tretyakov”的项目允许个人或企业进行私人捐赠,从而为画廊收藏
    发表于 11-16 13:21 331次阅读

    CAD教程之CAD怎么绘制同心圆详细资料说明

    CAD怎么绘制同心圆?随着现在CAD的运用的广泛推广,我们也越来越离不开CAD相关辅助设计软件了,迅捷CAD编辑器是一款功能非常强大的工程制设计图软件,利用该软件我们可以绘制非常多的设计图纸,例如
    发表于 12-06 08:00 0次下载
    CAD教程之CAD怎么<b class='flag-5'>画</b><b class='flag-5'>绘制</b>同心圆详细资料说明

    如何使用CAD编辑器绘制标高倒三角图形

    迅捷CAD编辑器中我们怎么绘制标高符号?也就是倒过来的三角形,在绘制图纸的除了基本的文字还有测量数据之外,也经常需要标注标高,像是吊顶的高度,这些都需要标注出来,那么在CAD图纸上,怎么进行
    发表于 12-25 08:00 0次下载
    如何使用CAD编辑器<b class='flag-5'>绘制</b><b class='flag-5'>画</b>标高倒三角图形

    清华大学教授提出APDrawingGAN,人脸照片秒变艺术肖像

    利用AI技术自动地将人脸照片转换为高质量的艺术肖像
    的头像 发表于 06-13 10:00 5880次阅读

    人工智能会让艺术变味吗?

    部分艺术家对于人工智能绘画依然持怀疑态度。“机器,能算吗?”无锡某画廊老板兼画家刘先生认为,艺术是以人的生活经验为基础,借助灵感而创
    的头像 发表于 12-30 10:23 2514次阅读

    三星家电邂逅咖啡厅,定义艺术格调生活

    时尚设计的The Serif画境系列电视、采用艺术画框设计理念的The Frame壁系列电视,以及色彩绚丽、定制化设计的Samsung BESPOKE系列冰箱。三星家电时尚简约的超高颜值与咖啡店的艺术氛围相得益彰,吸引顾客纷纷
    发表于 09-22 09:43 401次阅读

    制作自己的超酷自动动力沙

    电子发烧友网站提供《制作自己的超酷自动动力沙台.zip》资料免费下载
    发表于 11-07 16:53 5次下载
    制作自己的超酷<b class='flag-5'>自动</b>动力沙<b class='flag-5'>画</b>台

    TCL推出第三代艺术电视A300系列

    7月17日,TCL隆重推出了其第三代艺术电视A300系列,该系列以融合前沿科技与艺术创作为核心亮点,特别引入了Ai绘画大模型技术,用户仅需简单设定三个关键词,系统便能在短短3秒内自动生成一幅个性化的
    的头像 发表于 07-18 16:36 577次阅读