本地如何搭建一个Stable Diffusion 的AI绘画工具?

news2024/11/19 6:35:59

实现AI绘画自由指南

  • 前期准备
  • 安装
    • 1.安装 Homebrew 工具
    • 2. 安装Python3
    • 3.下载 Stable Diffusion -webui
    • 4.下载大模型
    • 5. 安装 GFPGAN(神坑)
    • 5. 允许 stable diffusion-webui
  • 如何使用
  • 效果图

最近看到网上各种AI工具很是火爆,心里也是有点痒痒,于是利用开源的 Stable Diffusion 第三方代码,自己本地搭了一个 AI 绘画,实现了 AI绘画自由,再也不用眼馋别人了!。

先来 看下界面效果图:

在这里插入图片描述

前期准备

  1. 硬件设备:我的是 Mac pro M2芯片 16G内存 +1T 固态(配置过低可能会跑不动模型)
  2. 配置环境:需要python3 环境。
  3. 梯子:最好有一个梯子,这样下载或者安装都会很快,不然一个模型几个G,不用梯子很痛苦。

安装

这边给大家贴一个官方教程:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon

在这里插入图片描述

它这边有两个安装模式:

Existing Install: 现有按照,意思是你的电脑上已经装过Python3环境了,并且已经通过git 拉过 Stable Diffusion 项目。

New Install: 全新安装,本机上什么都没有。

个人推荐:不管你本机上是否已经拥有 Python3 环境,都使用 New Install 全新安装,不要问为啥。(目前本人以及本人所了解,通过 Existing Install 从来还没人成功过,这是个大坑,博主已经替你们踩了,并填平了。)

1.安装 Homebrew 工具

按照官方教程一步一步来,打开mac 终端,下载 Homebrew 工具:https://brew.sh,这里博主下载过,就不贴下载的图了。只需要把这行代码贴到终端回车就行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

在这里插入图片描述

2. 安装Python3

第二步,跟着官方教程,安装完 Homebrew成功后,安装 Python3 环境

brew install cmake protobuf rust python@3.10 git wget

然后利用输入以下命令,来配置Python本地环境:

cd ~
vi .bash_profile
alias python="/Library/Frameworks/Python.framework/Versions/3.10/bin/python3

在这里插入图片描述

然后输入 python3 ,查看是否安装成功:

在这里插入图片描述

3.下载 Stable Diffusion -webui

在下载之前,最好用 cd 命令,切换到一个自己常用的文件夹下,因为它会下载到你当前的目录下,如果不知道当前目录的话,下完估计会找不到源文件。

在终端输入以下命令,拉取代码:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

4.下载大模型

第四步,我们去Hugging face上下载大模型 :

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main

二选一即可,视自己电脑内存情况而定。

下载完后,把下载的文件,放到刚刚拉取的stable diffusion web-ui的models下的 stable diffusion文件夹下,即可。

在这里插入图片描述

5. 安装 GFPGAN(神坑)

第五步,重点来了,又是个大坑!!!按照官方教程这一步就直接 ./webui.sh 了,这是个大坑,这时候不管怎么启动,都会失败了!因为少了一个GFPGAN,那么什么是GFPGAN呢?

GFPGAN:是对模糊照片,或者微调人脸的一种技术,可以防止人脸过于自由化。

所以我们需要去GFPGAN官网上下载该文件。

https://github.com/TencentARC/GFPGAN

(不知道为什么,stable diffusion官方教程不说这一步,估计是因为GFPGAN是国产的缘故?)

在这里插入图片描述

打开后,拉到最下面,点击V.4 model 即可下载,下载后,只需要放到拉取的Stable Diffusion的根目录下即可。

5. 允许 stable diffusion-webui

这个时候我们可以在终端启动了,输入 ./webui.sh,第一次比较慢,需要几分钟时间。

当出现以下界面时,即启动成功了。

在这里插入图片描述

如何使用

这个时候 我们可以打开这个地址 http://127.0.0.1:7860,就出现了,本篇文章最开始的界面效果图。

但对于如何使用,我给大家推荐一个网站,https://civitai.com/models/14171/cutegirlmix4,简称C站。

在上面我们可以选择一张自己喜欢的图,然后把它的参数复制到自己本地的网站上即可。

在这里插入图片描述

效果图

最后贴几张自己画的效果图,分享给大家

请添加图片描述

请添加图片描述
请添加图片描述

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

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

相关文章

消防应急照明和疏散指示系统在轨道交通中的设计应用

摘要:本文分析了消防应急照明和疏散指示系统的特点与设计要点,介绍了系统在城市轨道交通中的设计应用,轨道交通设计中新的消防应急照明和疏散指示系统的备用照明仍由EPS供电,新增一套疏散指示照明系统,增加疏散照明指示…

Beta成果测试总结

Beta成果测试总结 Beta是一个项目的早期测试,通过 Beta能够初步的了解整个系统的稳定性,测试系统是否能够满足客户的需求。我们可以在测试过程中发现一些问题,从而快速解决。 当我们在测试一个新系统时,我们需要进行测试前的准备工…

Node.js的简介

一、什么是node.js Node.js是JavaScript语言的服务器运行环境。 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行…

一文带你全面了解最火爆的ChatGpt

导读 OpenAI近期发布聊天机器人模型ChatGPT,迅速出圈全网。它以对话方式进行交互。以更贴近人的对话方式与使用者互动,可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求。高质量的回答、上瘾式的交互体验,圈内外都纷纷惊呼。 为什…

【ONE·C++ || 继承】

总言 主要介绍继承相关内容。 文章目录 总言1、继承介绍1.1、继承是什么1.2、继承方式与访问限定符1.3、继承作用域 2、基类和派生类对象赋值转换2.1、子类对象可以赋值给父类对象/指针/引用2.2、基类对象不能赋值给派生类对象2.3、基类的指针可以通过强制类型转换赋值给派生类…

flask学习-实践02

项目实战 入门文当(2条消息) python flask框架详解_flask python_尘世风的博客-CSDN博客(2条消息) python flask框架详解_flask python_尘世风的博客-CSDN博客 入门项目 抄作业了!6 大 Flask 开源实战项目推荐_小詹学 Python的博客-CSDN博客 (66 条消息) GitHub 上有…

DataStructure--Tree

文章摘录链接 1.树基本概念 计算机数据结构中的树就是对显示中的树的一种抽象(倒置现实中的树)。 1.1 树 有层次关系N(N≥0)个节点的有限集合空树: N0 非空树: 有且只有一个根节点1.2 节点 根节点 分…

MongoDB【MongoRepository MongoTemplate】实现增删改查

目录 1:文章评论 1.1:需求分析 1.2:表结构分析 1.3:技术选型 1.3.1:mongodb-driver 1.3.2:SpringDataMongoDB 1.4:文章微服务模块搭建 1.5:文章评论实体类的编写 1.6&#x…

【计算机网络】为什么 TCP 每次建立连接时,初始化序列号都要不一样呢?

【计算机网络】为什么 TCP 每次建立连接时,初始化序列号都要不一样呢? 为什么 TCP 每次建立连接时,初始化序列号都要不一样呢? 主要原因是为了防止历史报文被下一个相同四元组的连接接收。 TCP 四次挥手中的 TIME_WAIT 状态不是会…

现代操作系统和 TCP/IP(第二篇)

接着 现代操作系统和 TCP/IP 继续。 现代分时系统的时间片轮转机制让人们可以 “同时使用计算机”,从而滋生了 “同时使用网络” 的需求,现代分时系统是分组交换网的原动力。 从来没有超过一个人同时使用同一部电话,因此独占线路的电路交换…

2023蓝桥杯省模拟赛附近最小

2023蓝桥杯省模拟赛附近最小 这个题算是一个经典的数据结构入门题了&#xff0c;写了几个解法水一篇文章 map维护 时间复杂度nlgn&#xff0c;但是常数比较大&#xff0c;所以只能过90%数据 #include <iostream> #include<vector> #include<map> #include…

卖房子真是稳赚不赔

上面是一段很长的语音&#xff0c;对话是用的我们河池的桂柳话&#xff0c;不过桂柳话和普通话有很多相识之处&#xff0c;理解起来并不困难。 大概的意思是 A公司要给员工一批福利房&#xff0c;然后就让开发商来竞标&#xff0c;竞标的时候开发商就会说明清楚到时候给员工的房…

关于stl容器的迭代器失效问题

场景 在项目中使用stl容器的时候&#xff0c;多线程环境下出错&#xff0c;调试很久发现问题是使用容器的时候由于容器扩容导致的线程不安全&#xff0c;还有扩容导致的迭代器失效问题&#xff0c;于是就想着把迭代器失效的问题总结一下。 场景重现1   我在项目开发中使用ve…

【AI帮我写代码,上班摸鱼不是梦】如何调教ChatGPT,让它帮我写程序。

最近发现磁盘空间严重不足&#xff0c;都弹窗提示我了&#xff1a; 想想看到底哪个文件夹占的空间比较大&#xff0c;好做针对性的删除和清理。奈何Windows系统没有查看文件夹大小的工具&#xff0c;只能鼠标放在某个文件夹上&#xff0c;等提示&#xff1a; AI时代都来临了&am…

AttributeError: ‘ChatGLMConfig‘ object has no attribute ‘quantization_bit‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

STM32 产生随机数方式

STM32 产生随机数方式 C语言的stdlib.h库里的srand(unsigned seed)和rand(void)函数&#xff0c;可以配合产生伪随机数。其中srand(seed)产生算法种子&#xff0c;再由rand()通过算法产生随机数&#xff0c;产生的随机数在宏定义RAND_MAX范围内。如果seed不变&#xff0c;则产…

测试从未如此简单:接口自动化测试Python脚本实现

目录 摘要 步骤1&#xff1a;安装依赖项 步骤2&#xff1a;编写测试脚本 步骤3&#xff1a;运行测试 结论 摘要 自动化测试是现代软件开发过程中的重要环节。在许多情况下&#xff0c;特别是在web应用程序和移动应用程序中&#xff0c;接口自动化测试是其基础。下面就来介绍一…

嵌入式就业怎么样?

嵌入式就业怎么样? 现在的IT行业,嵌入式是大热门&#xff0c;下面也要来给大家介绍下学习嵌入式之后的发展以及就业怎么样。 首先是好找工作。嵌入式人才目前是处于供不应求的状态中&#xff0c;据权威统计机构统计在所有软件开发类人才的需求中&#xff0c;对嵌入式工程师的…

详解树与二叉树的概念,结构,及实现(上篇)

目录 一&#xff0c; 树 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 二&#xff0c; 二叉树 2.1二叉树概念 三&#xff0c;特殊的二叉树 1. 满二叉树 2. 完全二叉树 3. 1 二叉树的性质 3. 2 二叉树的存储…

北邮22信通:二叉树层序遍历的两种方法首发模板类交互

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 获取更多文章 请访问专栏~ 北邮22信通_青山如墨雨如画的博客-CSDN博客 目录 一.总纲 二.用队列存储 2.1用模板类实现队列 2.1.1核心思路&#xff1a; …