当前位置: 首页 > 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…...

【Nature期刊精准捕获术】:基于Perplexity语义图谱的跨学科文献溯源方法论(附2024最新验证数据集)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;【Nature期刊精准捕获术】&#xff1a;基于Perplexity语义图谱的跨学科文献溯源方法论&#xff08;附2024最新验证数据集&#xff09; 传统关键词检索在跨学科高影响力期刊&#xff08;如 Nature、Scie…...

信息学奥赛刷题必备:最长平台问题三种解法详解(附C++代码)

信息学奥赛刷题进阶&#xff1a;最长平台问题的多维解法与竞赛实战 在信息学奥赛的备战过程中&#xff0c;"最长平台"问题作为数组统计类题目的经典代表&#xff0c;频繁出现在各大OJ平台的题库中。这道题目看似简单&#xff0c;却蕴含着丰富的解题思路和优化技巧。对…...

基于React与Tailwind CSS的轻量级ChatGPT Web界面部署与定制指南

1. 项目概述与核心价值最近在折腾AI应用开发&#xff0c;发现很多朋友都想自己部署一个轻量级的ChatGPT对话服务&#xff0c;但面对动辄几个G的模型和复杂的部署流程就望而却步。直到我发现了blrchen/chatgpt-lite这个项目&#xff0c;它完美地解决了这个问题——一个真正轻量、…...

终极百度网盘加速解决方案:BaiduPCS-Web完整使用指南

终极百度网盘加速解决方案&#xff1a;BaiduPCS-Web完整使用指南 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 还在为百度网盘那令人抓狂的下载速度而烦恼吗&#xff1f;当下载进度条像蜗牛一样缓慢移动时&#xff0c;你是…...

构建自我进化的AI家园:基于多智能体与GitOps的工程实践

1. 项目概述&#xff1a;构建一个能自我进化的AI家园如果你和我一样&#xff0c;对那种“一问一答”式的AI聊天机器人感到厌倦&#xff0c;总想着能不能让AI更“主动”一点&#xff0c;甚至能帮你打理整个技术栈&#xff0c;那么这个项目绝对值得你花时间研究。ai-homebase不是…...

LibreHardwareMonitor:你的电脑健康管家,硬件监控从此无忧

LibreHardwareMonitor&#xff1a;你的电脑健康管家&#xff0c;硬件监控从此无忧 【免费下载链接】LibreHardwareMonitor Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer…...

波色量子获18.4亿融资,1000量子比特计算机让肿瘤切缘识别、脑电解码大提速!

【导语&#xff1a;科幻电影中令人惊叹的量子计算机&#xff0c;如今已从实验室走向商业化落地。波色量子成立三年获11轮融资&#xff0c;累计金额达18.4亿元。其量子计算能力在多个行业实现应用&#xff0c;尤其在生命科学领域展现出巨大潜力。】波色量子&#xff1a;资本竞逐…...

可穿戴设备十年演进:从技术突破到健康与生产力工具

1. 从预言到现实&#xff1a;可穿戴计算浪潮的十年回望与深度拆解十年前&#xff0c;当EE Times那篇关于Apple iWatch和Google Glasses将引领可穿戴计算浪潮的文章发表时&#xff0c;业界还弥漫着一种将信将疑的氛围。彼时&#xff0c;智能手机正处巅峰&#xff0c;人们很难想象…...

超高清电视普及困境解析:从技术参数到生态系统的完整思考

1. 超高清电视的“非主流”开局&#xff1a;一场始于2013年的行业迷思 如果你在2013年初的拉斯维加斯CES展上&#xff0c;听到关于“Ultra HDTV”&#xff08;超高清电视&#xff0c;后文简称UHDTV&#xff09;的喧嚣&#xff0c;感觉就像身处一场盛大的交响乐彩排现场——乐手…...

LaTeX排版避坑指南:为什么你的多图caption编号对不齐?一个案例讲清subfig、minipage和tabular的选择

LaTeX多图排版实战&#xff1a;从编号错乱到完美对齐的解决方案 第一次在学术论文中遇到多图排版问题时&#xff0c;我盯着那个歪歪扭扭的(c)编号看了整整十分钟——它本该和(a)(b)整齐排列&#xff0c;却像迷路的孩子一样缩在角落。更糟的是&#xff0c;当我引用这些子图时&am…...