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

news2024/12/23 19:00:07

目录

  • 前言
  • 一、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图的我就不想说什么了,这个东西比较简单感兴趣的同学可以试试,过程中有问题可以私信我,如果生成失败可以考虑降低参数生成,因为我的电脑配置较低可能只能做一部分生成,大家电脑配置较高可以生成一些画质比较好的图片。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[sinlinx-v3s]mke2fs

简介 mke2fs命令是Linux中的一个磁盘格式化命令,用于创建一个新的ext2、ext3或ext4文件系统。它可以将一个分区或者一个整个磁盘设备格式化为ext2、ext3或ext4文件系统,以便在Linux系统中进行数据存储和管理。 mke2fs命令的作用是按照指定的文件系统类…

java项目之足球赛会管理系统(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的足球赛会管理系统。技术交流和部署相关看文章末尾! 项目地址: https://download.csdn.net/download/sinat_26552841…

RTL8380MI/RTL8382MI管理型交换机系统软件操作指南七:ERPS以太环网保护切换协议

ISW9010G-2GS和IKS9228G-4GC都支持ERPS(Ethernet Ring Protection Switching,以太环网保护切换协议),首先对ERPS进行详细的描述,主要包括以下五大内容:ERPS概述、ERPS技术介绍、ERPS工作原理、全局配置、环网信息 1.1 ERPS概述 E…

【Java项目实战-牛客社区】--maven安装与配置

1.下载Maven 官网 2.配置MAVEN_HOME maven 的使用是在jdk的基础上,所以电脑必须有jdk 第一步:新增环境变量:MAVEN_HOME 第二步:在path环境变量中添加:%MAVEN_HOME%\bin 找到环境变量配置界面 第三步:测试…

出租屋智能电表系统

随着科技的不断发展,智能化逐渐成为人们生活中不可或缺的一部分。在房屋租赁市场中,智能电表系统成为越来越多出租屋的标配,为房东和租户带来了便捷和安全。本文将从以下几个方面介绍出租屋智能电表系统的特点和优势。 一、出租屋智能电表系统…

Redis入门基础命令

文章目录 一、redis1.1 redis概述1.2 redis安装 二、string2.1 基础命令2.2 存储结构2.3 应用 三、list3.1 基础命令3.2 应用 四、hash4.1 基础命令4.2 存储结构4.3 应用 五、set5.1 基础命令5.2 存储结构5.3 应用 六、zset6.1 基础命令6.2 存储结构6.3 应用 一、redis 1.1 re…

第四章Shell编程之正则表达式与文本处理器

文本处理有三剑客:grep sed awk 通配符:只能匹配文件名与目录名,不能匹配文件的内容 *匹配任意一个或者多个字符 ?匹配任意一个字符(就是匹配单个字符) [ ] 匹配范围内的任意单个字符 正则表达式&…

通过机器学习提升APP开发:未来已来

机器学习是当今技术的核心,也是开发 APP的核心。机器学习可以帮助您解决许多 APP开发中的问题。对于那些想要让他们的产品更上一层楼的 APP开发人员来说,了解如何通过机器学习提升 APP开发,以获得更高的投资回报率,这可能会让他们…

剑指offer33.二叉搜索树的后序遍历序列

我一开始的想法是:后序遍历是左右根,那么第一个数小于第二个数,第二个数大于第三个数,然后从第三个数开始又循环,显然错了,因为我这种是理想情况,是一个满二叉树。正确的解法是: class Solutio…

hibernate入门,springboot整合hibernate

Mybatis和Hibernate是我们常用的两大ORM框架,这篇文章主要介绍hibernate的使用,如何通过springboot整合hibernate,实现简单的crud功能。 添加依赖 首先,需要创建一个springboot项目,这里就取名为hibernate。项目创建完…

Baichuan-13B 介绍及微调

文章目录 Baichuan-13B介绍Baichuan-13B特点Baichuan-13B效果Baichuan-13B模型参数 推理和部署微调和部署 Baichuan-13B介绍 2023年7月11日,百川智能发布Baichuan-13B! github地址:https://github.com/baichuan-inc/Baichuan-13B Baichuan-…

Spring实现文件上传,文件上传

第一步:创建jsp文件 创建form表单 提交文件是post 文件上传的表单 服务端能不能获得数据,能 实现单文件上传的步骤: 导入相应的坐标:在pom.xml文件中进行导入 再导入这份: 第二步,在spring-MVC的上传中去配…

【SpringⅡ】简单高效地存储读取对象

目录 🧥1 配置扫描路径 🧤2 类注解实现 Bean 对象的存储 🩱2.1 五大类注解的使用 🎁2.2 五大类注解之间的关系 🎏2.3 Java 项目的标准分层 🎃3 方法注解实现 Bean 对象的存储 🎈3.1 Bean…

❤️创意网页:HTML5 Canvas技术实现绚丽多彩的烟花特效

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

node中的数据持久化之mysql

一、数据库的基本概念 1. 什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的API用于创建、访问、管理、搜索和复制所保存的数据。我们也可以将数据存储在其他地方,例如&#xff1…

XML加密和数字签名

上篇文章我们了解了常用的Java加密库和算法,这篇文章主要讲解Java解密在XML中的使用。 XML加密 XML加密(XML Encryption)是指对XML文档中的敏感数据进行加密,以确保只有授权的用户能够解密和访问这些数据。XML加密使用对称或非对称加密算法,对敏感数据进行加密,并将加…

237. 删除链表中的节点

题目描述: 主要思路: 将当前要删除的节点和后边一个的节点值交换,然后删除当前节点后边的一个节点即可。 class Solution { public:void deleteNode(ListNode* node) {node->valnode->next->val;node->nextnode->next->n…

分享一个唯美雪花界面

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>雪</title><meta name"viewport" content"widthdevice-width, initial-scale1&…

linux开机启动输入法且设置英文状态

debian&#xff0c;gnome桌面。fcitx5框架&#xff0c;四叶草输入法。 首先把fcitx5加到开机启动项&#xff0c;方法很多&#xff0c;gnome的插件“优化”里面可以添加开机启动项。 这样开机就能启动输入法&#xff0c;而不用再手动输入shell命令fcitx5了。 但是启动时是中…

vue-element-admin解决跨域问题

更改vue.config.js publicPath: process.env.NODE_ENV production ? /tyzfadmin : /,//开发和生产环境不一样&#xff0c;做个判断 outputDir: dist, assetsDir: static, lintOnSave: false, runtimeCompiler: true, productionSourceMap: false, devServer: {port: port,op…