当前位置: 首页 > news >正文

Python3,2分钟掌握Doscoart库,你也能成为艺术家。

2行代码绘制水彩画

  • 1、引言
  • 2、 代码实战
    • 2.1 模块介绍
    • 2.2 模块安装
    • 2.3 代码示例
      • 2.3.1 创建默认图片
      • 2.3.2 设置参数创建图片
      • 2.3.3 查看设置参数
      • 2.3.4 查看配置
      • 2.3.5 保存配置
      • 2.3.6 加载配置
      • 2.3.7 导出配置文件
      • 2.3.7 生成Python代码
      • 2.3.8 调用文档
  • 3、总结

1、引言

小屌丝:鱼哥,最近在忙啥?
小鱼:咱俩陌生了?
小屌丝:何出此言?
小鱼:你说的话又嘛意思呢?
小屌丝:我的意思, 最近看你这整理各种资料,貌似很忙的样子?
小鱼:我平时不也这么忙嘛
小屌丝:鱼哥, 还能正常唠嗑嘛?
小鱼:我又没说不能唠嗑。
小屌丝:鱼哥,行… 非常行…
小鱼:男人,怎么能不行!
小屌丝:…
小鱼:~ ~
在这里插入图片描述

小屌丝:discoart模块知道吗?
小鱼:貌似, 大概,可能,或许,知道。
小屌丝:太好了, 那能不能给我讲一讲呢?
小鱼:然后呢?
小屌丝:老地方~
小鱼:又是老地方,整的我都不好意思了。
小屌丝:这都是小事,我主要就想让你多放松放松…
小鱼:停,停, 打住~ 别说多了, 我们来聊discoart
小屌丝:别着急啊,
小鱼:能不着急吗,你看,这都几点了, 再晚一会,就…
小屌丝:昂…

2、 代码实战

2.1 模块介绍

说起 discoart 可能大部分都不太了解。
但是,说到艺术库,可能你就有些印象了。
这里,我也引用官网对discoart的解析,让你对它有个初步的了解,如下:

DiscoArt is an elegant way of creating compelling Disco Diffusion[*] artworks for generative artists, AI enthusiasts and hard-core developers.
DiscoArt has a modern & professional API with a beautiful codebase, ensuring high usability and maintainability. It introduces handy features such as result recovery and persistence, gRPC/HTTP serving w/o TLS, post-analysis, easing the integration to larger cross-modal or multi-modal applications.

这里,我也简答的用汉语描述一下,即:

DiscoArt是一种优雅的方式,可以为生成艺术家,AI爱好者和铁杆开发人员创建引人注目的Disco Diffusion艺术品。
DiscoArt拥有现代和专业的API,具有漂亮的代码库,确保了高可用性和可维护性。它引入了方便的功能,例如结果恢复和持久性,没有TLS的gRPC / HTTP服务,后期分析,简化与更大的跨模态或多模态应用程序的集成。

简答一句话概括:DiscoArt就是为了艺术而生的

2.2 模块安装

涉及到第三方库,肯定就需要安装
老规矩,pip 安装

pip install discoart

然后就是等待着安装。

其它安装方式,直接看这两篇:

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  • Python3:我低调的只用一行代码,就导入Python所有库!

安装的样子,如下:

在这里插入图片描述

这里提示一下

  • 按照官网的要求, discoart的使用,必须依托于:Python 3.7+ 和 CUDA 的 PyTorch

2.3 代码示例

2.3.1 创建默认图片

这里直接使用discoart的 create方法即可
代码示例:

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:使用默认参数创建图片
'''from discoart  import createca = create()

效果展示

在这里插入图片描述

2.3.2 设置参数创建图片

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:设置参数创建图片
'''from discoart  import create#设置参数
ca = create(text_prompts='A painting of sea cliffs in a tumultuous storm, Trending on ArtStation.',init_image='https://d2vyhzeko0lke5.cloudfront.net/xxxx7e77b72f0.png',skip_steps=100,
)

效果展示
在这里插入图片描述

2.3.3 查看设置参数

如果你忘记参数,也没关系,直接用cheatsheet 查询即可

代码展示

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:查看设置参数
'''from discoart  import cheatsheet#设置参数
sha = cheatsheet()

2.3.4 查看配置

如果要查看文档配置, 可以使用show_config

代码展示

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:查看文档配置
'''from discorat import  show_config# 展示第一个项目运行的配置
show_config(da)# 参考第四个项目的运行配置
show_config(da[3])#查看discoartID
show_config('discoart-xxxxfbf288')

2.3.5 保存配置

如果要保存文档配置, 可以使用save_config

代码展示

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:保存文档配置
'''from discoart import save_config#保存第一次运行的配置
save_config(da, 'my.yml')  #保存第四次运行的配置
save_config(da[3], 'my.yml') 

2.3.6 加载配置

有了查看和保存,当然也可以直接加载配置文件了, 这里,使用load_config即可

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:加载文档配置
'''from discoart import create, load_config#加载配置文件
config = load_config('my.yml')create(**config)

2.3.7 导出配置文件

为了便于后期的管理使用,同样可以直接导出配置文件为SVG映像,使用 save_config_svg方法:

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:导出配置文件为SVG映像
'''from discoart.config import save_config_svg#直接保存为svg映像
save_config_svg(da)

这里也展示一下, 保存的svg映像
在这里插入图片描述

2.3.7 生成Python代码

更神奇的功能,就是可以直接从配置中生成可运行的Python代码,使用export_python方法:

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:生成可运行的Python代码
'''from discoart.config import export_pythonexport_python(da)

2.3.8 调用文档

  • 如果你觉得自己配置太繁琐, 那可以直接使用DocumentArray作为初始状态运行。

    代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:调用DocumentArray作为初始状态,运行
'''from discoart import create
from docarray import DocumentArrayda = DocumentArray.pull('discoart-32xxx')create(init_document=da[0],cut_ic_pow=0.5,tv_scale=600,cut_overview='[12]*1000',cut_innercut='[12]*1000',use_secondary_model=False,
)
  • 当然, 如果你只想从已有的 DocArray ID 初始化, 那也不是不可能,
# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:从已有的 DocArray ID 初始化
'''from discoart import createcreate(init_document='discoart-320xxxx')

3、总结

看到这里, Doscart库的介绍就完成了。
按照流程, 我们来回顾一下今天都分享了啥内容:

  • 创建默认图片;
  • 设置参数创建图片;
  • 查看设置参数;
  • 查看文档配置;
  • 报错文档配置;
  • 加载文档配置;
  • 导出配置文件
  • 生成Python代码;
  • 调用文档;

你看, Doscoart也没有想想的那么难嘛, 常用的功能,也就差不多这么多。
所以, 只要我们把一个库从头到尾的捋一遍, 其实是很容易掌握的。

最后,唠叨一句:

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO 博客专家
  • 51认证讲师
  • 金牌面试官&面试培训师

关注,带你学习更多更有趣的Python知识。

相关文章:

Python3,2分钟掌握Doscoart库,你也能成为艺术家。

2行代码绘制水彩画1、引言2、 代码实战2.1 模块介绍2.2 模块安装2.3 代码示例2.3.1 创建默认图片2.3.2 设置参数创建图片2.3.3 查看设置参数2.3.4 查看配置2.3.5 保存配置2.3.6 加载配置2.3.7 导出配置文件2.3.7 生成Python代码2.3.8 调用文档3、总结1、引言 小屌丝&#xff1…...

1225057-68-0,Alkyne PEG4 TAMRA-5,四甲基罗丹明-四聚乙二醇-炔基TAMRA红色荧光染料连接剂

中英文别名:CAS号:1225057-68-0 | 英文名:5-TAMRA-PEG4-Alkyne |中文名:5-四甲基罗丹明-四聚乙二醇-炔基物理参数:CASNumber:1225057-68-0Molecular formula:C36H41N3O8Molecular weight&#x…...

Ae:解释素材

所谓解释素材 Interpret Footage,就是通过修改素材的某些属性(像素长宽比、帧速率、颜色配置文件及 Alpha 通道类型等),让它能更好地参与到合成中去。Ae菜单:文件/解释素材快捷键:Ctrl Alt G在项目面板里…...

无文件攻击

无文件攻击是一种高级持续性威胁(APT)的攻击方式,它不会在目标系统的磁盘上留下可执行文件,而是利用系统内置的工具或脚本执行恶意代码,从而绕过传统的安全防护措施。无文件攻击的最大特点就是恶意代码直接在内存中运行…...

JS高级——数据类型

数据类型 基本类型 String: 任意字符串Number: 任意的数字boolean: true/falseundefined: undefinednull: null 对象类型 Object: 任意对象Function 一种特别的对象(可以执行)Array: 一种特别的对象 判断 typeof //不能区分数组与对象、null与obje…...

场景案例│数字员工在银行业的典型应用场景,效率及准确率“双高”

伴随数字经济的高速发展,企业数字化转型步伐不断加快,银行内部信息系统越趋复杂,业务处理的自动化及智能化需求日益旺盛。调查显示,数字员工为60~75%的银行流程带来约30~40%的效能提升,能够全面帮助银行在各场景流程中…...

2023美国大学生数学建模竞赛选题建议

总的来说,这次算是美赛环境题元年,以往没有这么多环境题目,大部分题目都是开放度相当高的题目。C君认为的难度:D>C>AE>BF,开放度:DF>ABE>C。A题 遭受旱灾的植物群落这次A题为环境类题目&…...

整合K8s+SpringBoot+gRpc

本文使用K8s当做服务注册与发现、配置管理&#xff0c;使用gRpc用做服务间的远程通讯一、先准备K8s我在本地有个K8s单机二、准备service-providerpom<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…...

ROS 教程:使用 Moveit C++ 接口进行拾取和放置任务

文章目录 简介Moveit C++ 接口Gazebo 取放世界初始化界面拾取流程1.移动到原位2.将TCP放在蓝框上方3.打开夹具4. 将 TCP 移近物体5.关闭夹具6. 将 TCP 移至板上方7./8. 降低 TCP 并打开夹具使用 Moveit 避免碰撞将碰撞对象添加到 Moveit 规划组结论参考简介 本教程展示了如何使…...

seo细分和切入点

seo细分和切入点本文重点介绍做SEO网站细分和切入点的方法&#xff1a;当我们的行业和关键词竞争性比较大的时候&#xff0c;我们可以考虑对行业或者产品做细分&#xff0c;从而找到切入点。可以按照以下三个方面进行细分。1、按城市细分例如&#xff1a;A&#xff1a;餐饮培训…...

PyQt5数据库开发1 4.3 QSqlTableModel 之 Qt项目的创建

目录 一、新建Qt项目 1. 编辑资源文件 2. 添加前缀 3. 新建放资源文件的目录 4. 添加图标文件 二、Action 1. 新建打开数据库Action 2. 添加其他Action 三、工具栏 1. 添加工具栏 2. 拖动actOpenDB到工具栏 3. 设置工具栏属性 4. 添加分隔符 5. 添加其他工具 6.…...

【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)

什么是HDFS HDFS是&#xff08;Hadoop Distributed File System&#xff09;的缩写&#xff0c;也即Hadoop分布式文件系统。它通过目录树定位在分布式场景下 在不同服务器主机上的文件。它适用于一次写入&#xff0c;多次读出的场景。 HDFS的优缺点 优点 1&#xff0c;高容…...

27岁想转行IT,还来得及吗?

来不来得及不还是看你自身的意愿和条件&#xff0c;这个问题要问你自己吧&#xff01; 每个人的能力、看法都不同。面对类似的问题&#xff0c;很多人会把侧重点放在IT上&#xff0c;或者27岁上面。那么我们试着换一个方式来问呢&#xff1a;什么时候适合转行&#xff0c;有哪些…...

Web前端CSS清除浮动的5种方法

在移动端清除浮动布局&#xff0c;常用的5种方法&#xff1a; 使用清除浮动的类&#xff1b;使用overflow属性&#xff1b;使用 flex 布局&#xff1b;使用grid 布局&#xff1b;使用 table 布局。 根据实际情况选择适合的方法&#xff0c;需要注意兼容性和语义性问题。在移动…...

Java:博客系统,实现加盐加密,分页,草稿箱,定时发布

文章目录1. 项目概述2. 准备工作2.1 数据库表格代码2.2 前端代码2.3 配置文件3. 准备项目结构3.1 拷贝前端模板3.2 定义实体类3.3 定义mapper接口和 xml 文件3.4 创建其他包4. 统一数据返回4.1 Result 类4.2 统一数据格式5. 注册5.1 逻辑5.2 验证数据规范性5.3 实现注册5.4 前端…...

JuiceFS 在火山引擎边缘计算的应用实践

火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础&#xff0c;构建在边缘大规模基础设施之上的云计算服务&#xff0c;形成以边缘位置的计算、网络、存储、安全、智能为核心能力的新一代分布式云计算解决方案。边缘存储主要面向适配边缘计算的典型业务场景&#…...

实验06 二叉树遍历及应用2022

A. 【程序填空】二叉树三种遍历题目描述给定一颗二叉树的特定先序遍历结果&#xff0c;空树用字符‘0’表示&#xff0c;例如AB0C00D00表示如下图请完成以下程序填空&#xff0c;建立该二叉树的二叉链式存储结构&#xff0c;并输出该二叉树的先序遍历、中序遍历和后序遍历结果输…...

基于蜣螂算法改进的LSTM分类算法-附代码

基于蜣螂算法改进的LSTM分类算法 文章目录基于蜣螂算法改进的LSTM分类算法1.数据集2.LSTM模型3.基于蜣螂算法优化的RF4.测试结果5.Matlab代码摘要&#xff1a;为了提高LSTM数据的分类预测准确率&#xff0c;对LSTM中的参数利用蜣螂搜索算法进行优化。1.数据集 数据的来源是 UC…...

如何正确应用GNU GPLv3 和 LGPLv3 协议

文章目录前言GNU GPLv3.0Permissions(许可)Conditions(条件)Limitations(限制)GNU LGPLv3.0应用GPLv3.0应用LGPLv3.0建议的内容&#xff1a;添加文件头声明附录GNU GPLv3.0原文GNU LGPLv3.0 原文前言 对于了解开源的朋友们&#xff0c;GNU GPL系列协议可谓是老朋友了。原来我基…...

Python局部函数及用法(包含nonlocal关键字)

Python 函数内部可以定义变量&#xff0c;这样就产生了局部变量&#xff0c;可能有人会问&#xff0c;Python 函数内部能定义函数吗&#xff1f;答案是肯定的。Python 支持在函数内部定义函数&#xff0c;此类函数又称为局部函数。 那么&#xff0c;局部函数有哪些特征&#x…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...