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

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

1、引言

小屌丝:鱼哥,最近在忙啥?

小鱼:咱俩陌生了?

小屌丝:何出此言?

小鱼:你说的话又嘛意思呢?

小屌丝:我的意思, 最近看你这整理各种资料,貌似很忙的样子?

小鱼:我平时不也这么忙嘛

小屌丝:鱼哥, 还能正常唠嗑嘛?

小鱼:我又没说不能唠嗑。

小屌丝:鱼哥,行… 非常行…

小鱼:男人,怎么能不行!

小屌丝:…

小鱼:~ ~

小屌丝:discoart模块知道吗?

小鱼:貌似, 大概,可能,或许,知道。

小屌丝:太好了, 那能不能给我讲一讲呢?

小鱼:然后呢?

小屌丝:老地方~

小鱼:又是老地方,整的我都不好意思了。

小屌丝:这都是小事,我主要就想让你多放松放松…

小鱼:停,停, 打住~ 别说多了, 我们来聊discoart。

小屌丝:别着急啊,

小鱼:能不着急吗,你看,这都几点了, 再晚一会,就…

小屌丝:昂…

2、 代码实战

2.1 模块介绍

说起 discoart 可能大部分都不太了解。

但是,说到艺术库,可能你就有些印象了。

这里,我也引用官网对discoart的解析,让你对它有个初步的了解,如下:

DiscoArt is an elegantway 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

然后就是等待着安装。

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

安装的样子,如下:

这里提示一下:

  • 按照官网的要求, 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 create
ca = 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_python
export_python(da)

2.3.8 调用文档

  • 如果你觉得自己配置太繁琐, 那可以直接使用DocumentArray作为初始状态运行。
    代码示例
# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ
'''
实现功能:
    调用DocumentArray作为初始状态,运行
'''
from discoart import create
from docarray import DocumentArray
da = 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 create
create(init_document='discoart-320xxxx')

3、总结

看到这里, Doscart库的介绍就完成了。

按照流程, 我们来回顾一下今天都分享了啥内容:

  • 创建默认图片;
  • 设置参数创建图片;
  • 查看设置参数;
  • 查看文档配置;
  • 报错文档配置;
  • 加载文档配置;
  • 导出配置文件
  • 生成Python代码;
  • 调用文档;
  • 你看, Doscoart也没有想想的那么难嘛, 常用的功能,也就差不多这么多。

所以, 只要我们把一个库从头到尾的捋一遍, 其实是很容易掌握的。

最后,唠叨一句:

我是小鱼

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

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

目录
相关文章
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
92 20
|
1月前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
54 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
157 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
3月前
|
XML JSON 数据库
Python的标准库
Python的标准库
197 77
|
21天前
|
Web App开发 数据采集 数据安全/隐私保护
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
|
4月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
260 4
数据分析的 10 个最佳 Python 库
|
4月前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
272 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
3月前
|
XML JSON 数据库
Python的标准库
Python的标准库
89 11
|
3月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
127 8
|
3月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
117 4

热门文章

最新文章