【AI绘画】AI绘画乐趣:稳定增强扩散技术展现

目录

  • 前言
  • 一、Stable Diffusion是什么?
  • 二、安装stable-diffusion-webui
    • 1. python安装
    • 2. 下载模型
    • 3. 开始安装:
    • 4. 汉化:
    • 5. 模型使用:
    • 6. 下载新模型:
    • 7. 基础玩法
  • 三、总结

前言

本文将借助stable-diffusion-webui项目来展示AI绘画的乐趣,stable-diffusion-webui项目是一个基于稳定增强扩散技术的Web界面应用,使得普通用户也能够轻松探索AI绘画的乐趣。使用该项目,用户可以上传自己的图像,然后选择特定的风格或主题,AI系统将利用稳定增强扩散技术进行图像生成。生成过程将逐步显示,直观地展示出图像从头到尾的创作过程。用户可以在生成过程中进行实时交互和反馈,调整风格参数或细节,使得艺术作品更符合个人的期望。

AI绘画需要一定的硬件基础支持,我这里使用I5+16G内存+3050显卡勉强能够生成。

一、Stable Diffusion是什么?

『Stable Diffusion』绘画,这种绘画方法的灵感来源于热传导方程,通过模拟粒子在介质中的扩散过程,展现出独特的、具有稳定性的艺术效果。在绘画中,不同的参数和算法会影响到画面的形态、色彩和纹理等多重因素。通过调整这些参数和算法,画家可以实现各种自然环境的表现,例如云彩、水流、山脉等等。综合来说,『Stable Diffusion』绘画是一种结合了计算机技术和艺术想象力的新型绘画艺术。

二、安装stable-diffusion-webui

项目地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui
在这里插入图片描述
下载到本地:
在这里插入图片描述
解压:
在这里插入图片描述

1. python安装

stable-diffusion-webui项目依赖python环境
安装python:本地环境要求安装 Python 3.10.6 或以上版本,并且需要写入环境变量中。
python下载:https://www.python.org/downloads/release/python-3114/
在这里插入图片描述
勾选添加环境变量:
在这里插入图片描述
命令行进入python:windows+r
输入cmd
在这里插入图片描述
输入python:我这是3.10.9版本
在这里插入图片描述
退出python:exit();
在这里插入图片描述
这里python安装完成

2. 下载模型

下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
在这里插入图片描述
将下载好的模型移动到这里:stable-diffusion-webui/models/Stable-diffusion
在这里插入图片描述

3. 开始安装:

安装时需要国外的一些模块修改代码使用加速的源下载:
修改文件:
在这里插入图片描述

替换代码:(或者科学上网但是可能有问题)

def prepare_environment():
    global skip_install

    torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117")
    requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")

    xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.16rc425')
    gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379")
    clip_package = os.environ.get('CLIP_PACKAGE', "git+https://ghproxy.com/https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1")
    openclip_package = os.environ.get('OPENCLIP_PACKAGE', "git+https://ghproxy.com/https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b")

    stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://ghproxy.com/https://github.com/Stability-AI/stablediffusion.git")
    taming_transformers_repo = os.environ.get('TAMING_TRANSFORMERS_REPO', "https://ghproxy.com/https://github.com/CompVis/taming-transformers.git")
    k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://ghproxy.com/https://github.com/crowsonkb/k-diffusion.git')
    codeformer_repo = os.environ.get('CODEFORMER_REPO', 'https://ghproxy.com/https://github.com/sczhou/CodeFormer.git')
    blip_repo = os.environ.get('BLIP_REPO', 'https://ghproxy.com/https://github.com/salesforce/BLIP.git')

    stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf")
    taming_transformers_commit_hash = os.environ.get('TAMING_TRANSFORMERS_COMMIT_HASH', "24268930bf1dce879235a7fddd0b2355b84d7ea6")
    k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "5b3af030dd83e0297272d861c19477735d0317ec")
    codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af")
    blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9")

在这里插入图片描述
替换完成后运行:
在这里插入图片描述
启动后会下载很多依赖:
我这已经下载好了第二次打开会很快:
在这里插入图片描述

在这里插入图片描述
访问web:大家看到这个应该是英文需要汉化
在这里插入图片描述

此时需要占用一部分硬件资源了:
在这里插入图片描述

4. 汉化:

https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN
https://gitee.com/stable_diffusion/stable-diffusion-webui-localization-zh_CN
按照这两个都是可以的
在这里插入图片描述
在这里插入图片描述

5. 模型使用:

选择模型:直接生成测试一下
注意参数:
在这里插入图片描述
在这里插入图片描述

6. 下载新模型:

需要出网:https://civitai.com/
在这里插入图片描述

这里下载个国风3的模型:https://civitai.com/models/10415/3-guofeng3?modelVersionId=36644

在这里插入图片描述
下载完成后放入:stable-diffusion-webui-master\models\Stable-diffusion文件夹下
切换模型:
在这里插入图片描述
直接生成:
在这里插入图片描述
复制参数:
在这里插入图片描述
粘贴参数:
在这里插入图片描述
生成:调了一下参数因为GPU内存不够 难受
在这里插入图片描述

7. 基础玩法

题词:https://tag.redsex.cc/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个可以训练自己的模型,训练的模型可以发布出来大家可以使用的,下一章自己训练一个模型使用。

三、总结

技术无罪,有罪的是使用它的人,网上有很多生成一些x图的我就不想说什么了,这个东西比较简单感兴趣的同学可以试试,过程中有问题可以私信我,如果生成失败可以考虑降低参数生成,因为我的电脑配置较低可能只能做一部分生成,大家电脑配置较高可以生成一些画质比较好的图片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39795.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】哈夫曼编码(最优二叉树)实现

哈夫曼编码 等长编码:占的位置一样 变长编码(不等长编码):经常使用的编码比较短,不常用的比较短 最优:总长度最短 最优的要求:占用空间尽可能短,不占用多余空间,且不…

网络版计算器

本次我们实现一个服务器版本的简单的计算器,通过自己在应用层定制协议来将数据传输出去。 协议代码 此处我们为了解耦,采用了两个类,分别表示客户端的请求和服务端的响应。 Request class Request { public:Request(){}Request(int x, int…

Unity 任意数据在Scene窗口Debug

任意数据在Scene窗口Debug 🍔效果🥪食用方法 🍔效果 如下所示可以很方便的把需要Debug的数据绘制到Scene中(普通的Editor脚本只能够对MonoBehaviour进行Debug) 🥪食用方法 💡. 新建脚本继承Z…

实例018 类似windows xp的程序界面

实例说明 在Windows XP环境下打开控制面板,会发现左侧的导航界面很实用。双击展开按钮,导航栏功能显示出来,双击收缩按钮,导航按钮收缩。下面通过实例介绍此种主窗体的设计方法。运行本例,效果如图1.18所示。 ​编辑…

如何顺势而为,让ChatGPT为教育所用?

恐惧和回避无法阻挡科技的浪潮,教育与AI的深度融合时代已经到来,如何把AI当做工具,把其成为教育的机会而非威胁,是教育体系未来不得不得面对的新变化。 接受ChatGPT作为一种教学辅助工具,成为教师的朋友或者帮手&…

Leetcode每日一题:979. 在二叉树中分配硬币(2023.7.14 C++)

目录 979. 在二叉树中分配硬币 题目描述: 实现代码与解析: dfs(后序遍历) 原理思路: 979. 在二叉树中分配硬币 题目描述: 给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对…

5.postgresql--COALESCE

在 PostgreSQL 中, COALESCE函数返回第一个非空参数。它通常与 SELECT 语句一起使用以有效处理空值。 COALESCE函数接受无限数量的参数。它返回第一个不为空的参数。如果所有参数都为 null,则 COALESCE函数将返回 null。 COALESCE函数从左到右计算参数&a…

doris恢复库恢复表

今天眼疾手快 不小心删了公司生产环境的表 而且碰巧这个数据没有备份的 当时哥们就呆住 还好doris升级过1.2 刚推出了恢复数据的功能~~~~~这里给老天爷磕一个了~~~~~~ 数据删除恢复 Doris为了避免误操作造成的灾难,支持对误删除的数据库/表/分区进行数据恢复&…

MongoDB初体验-安装使用教程2023.7

前言:博主第一次接触MongoDB,看了一圈网上现有的教程,不是缺少细节就是有问题没交代清楚,特整理了一下自己安装运行的过程,从下载安装到开机自启,全程细节齐全、图文并茂、简单易懂。 目录 1. 从官网下载2…

JavaWeb课程设计项目实战(03)——开发准备工作

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 在正式进入项目开发之前请先完成以下准备工作。 数据库语句 请创建数据库和表并完成数据初始化工作。 初始化数据库 请在MySQL数据库中创建名为studentinformationmanag…

Nacos服务注册和配置中心(Config,Eureka,Bus)1

SCA(Spring Cloud Alibaba)核心组件 Spring Cloud是若干个框架的集合,包括spring-cloud-config、spring-cloud-bus等近20个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案,Spring C…

ADB 命令结合 monkey 的简单使用,超详细

一:ADB简介 1,什么是adb: ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。ADB 也是 Android SDK 中的一个工具&…

unity背景缓动动效

这算是一个很常见的小功能,比如我们在玩横版游戏的时候,背景动画会以一定的频率运动,其实现方式也有很多种。 比如,使用UGUI的imageanimtion动画的方式,自己k桢实现。 还可以使用材质球本身的功能来实现,关…

【MySQL】查询进阶

查询进阶 数据库约束约束类型NULL , DEFAULT , UNIQUE 约束主键约束外键约束 聚合查询聚合函数group by子句HAVING 联合查询内连接外连接自连接子查询单行子查询多行子查询 数据库约束 约束类型 NOT NULL #表示某行不能储存空值 UNIQUE #保证每一行必须有唯一的值 DEFAULT #规…

UnxUtils工具包,Windows下使用Linux命令

1. 前言 最近写批处理多了,发现Windows下的bat批处理命令,相比Linux的命令,无论是功能还是多样性,真的差太多了。但有时候又不得不使用bat批处理,好在今天发现了一个不错的工具包:UnxUtils,这个…

【Java/大数据】Kafka简介

Kafka简介 Kafka概念关键功能应用场景 Kafka的原理Kafka 的消息模型早期的队列模型发布-订阅模型Producer、Consumer、Broker、Topic、PartitionPartitionoffsetISR Consumer Groupleader选举Controller leaderPartition leader producer 的写入流程 多副本机制replicas的同步时…

Godot实用代码-存取存档的程序设计

1. Settings.gd 全局变量 用于保存玩家设置 对应Settings.json 2. Data.gd 全局变量 用于保存玩具数据 对应Data.json 实践逻辑指南 1.在游戏开始的时候(游戏场景入口的_ready()处, Settings.gd

基于linux下的高并发服务器开发(第一章)- 模拟实现 ls-l 命令

这一小节会用到上面两张图的红色框里面的变量 任务&#xff1a; 模拟实现 ls -l 指令 -rw-rw-r-- 1 nowcoder nowcoder 12 12月 3 15:48 a.txt #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <p…

keepalived 实现双机热备

文章目录 一、说明二、概念解释三、环境准备四、操作过程五、验证 一、说明 我们经常听说 nginx keepalived 双机热备&#xff0c;其实在这里&#xff0c;双机热备只是利用 keepalived 实现两个节点的故障切换&#xff0c;当主节点挂了&#xff0c;备用节点顶上&#xff0c;保…

基于51单片机和proteus的电流采集系统

此系统是基于51单片机和proteus的仿真设计&#xff0c;功能如下&#xff1a; 1. LCD1602实时显示获取到电流值及设定值。 2. 按键可调整电流设定值。 3. 电流值过高则蜂鸣器报警。 4. 指示灯指示电流及系统状态。 5. 系统信息可通过串口实时更新。 功能框图如下&#xff1…