【奶奶看了也不会】AI绘画 Mac安装stable-diffusion-webui绘制AI妹子保姆级教程

news/2024/4/24 11:11:37/文章来源:https://blog.csdn.net/qq_36624086/article/details/129230273

1.作品图

在这里插入图片描述

2.准备工作

目前网上能搜到的stable-diffusion-webui的安装教程都是Window和Mac M1芯片的,而对于因特尔芯片的文章少之又少,这就导致我们还在用老Intel 芯片的Mac本,看着别人生成美女图片只能眼馋。所以小卷这周末折腾了一天,总算是让老Mac本发挥作用了。先来说说准备工作:

  • Mac笔记本操作系统版本 >= 13.2.1 (亲测10.0版本各种问题无法运行,无奈花了一小时升级系统)
  • Python3.10.6版本(已安装其他版本也不要紧,后面我们用Conda做版本控制)
  • stable-diffusion-webui代码下载,下载地址:stable-diffusion-webui

3.安装步骤

3.1 依赖安装

从github上把stable-diffusion-webui的源代码下载下来,进入到stable-diffusion-webui目录下,执行

pip install -r requirements_versions.txt

这一步是安装Python项目运行所有需要的依赖,这步很大概率出现无法安装gfpgan的问题:Couldn’t install gfpgan

在这里插入图片描述

解决方法:

网络连接超时的问题,更改pip使用国内镜像库,重试几次。这个问题暂无明确解法,如果无法解决可继续往下走

3.2pip更换国内镜像库

更换方法参考:https://blog.csdn.net/qq_45770232/article/details/126472610

3.3安装anaconda

这一步是方便对Python做版本控制,避免卸载重新安装不同版本的Python。

下载安装地址:https://www.anaconda.com/

从官网下载一路点击安装就行。

Conda添加环境变量

安装完成后,打开终端,输入conda,如果是无法识别的命令。需要配置环境变量,配置方法:

修改.bash_profile添加自己安装conda的路径,命令如下:

vim ~/.bash_profile# 打开文件后,写入下面这行到文件里,注意替换路径
export PATH="/Users/(你自己的路径)/anaconda3/bin:$PATH"

接着:wq保存退出,source ~/.bash_profile使配置生效

修改conda源为国内镜像库

执行命令如下:

# 如果没有会创建condarc文件
vim ~/.condarc# 打开文件后,把下面的内容粘贴进去保存
channels:- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true

3.4 创建虚拟环境

执行命令:

conda create -n sd python=3.10.6

这样就创建了一个名称为sd的虚拟环境

3.5 安装依赖

按上面的操作把pip替换为国内镜像源后,激活虚拟环境,并安装需要的依赖包

执行命令:

# 进入stable-diffusion-webui的文件目录
cd stable-diffusion-webui# 激活虚拟环境
conda activate sd# 安装所需依赖
pip3 install -r requirements_versions.txt

这一步如果没任何问题,安装过程算是有惊无险完成了一半。如果有问题,请自行百度谷歌搜索解决,欢迎留言遇到的问题和解法

4. 模型安装

4.1下载模型

官方模型下载(checkpoint模型)

下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

下载 sd-v1-4.ckpt 或者 sd-v1-4-full-ema.ckpt

LoRA模型

这个应该是大家最喜欢的模型了,懂的都懂。。。

下载地址:https://civitai.com/models/6424/chilloutmix

右上角Download下载,其他模型大家可自行在这个网站上探索,非常的多,这里推荐几个热门的:

korean-doll-likeness

4.2 安装模型

  • 对于checkpoint模型,请移动到stable-diffusion-webui/models/Stable-diffusion⽬录下
  • 对于LoRA模型,请移动到stable-diffusion-webui/models/Lora目录下
  • 其他模型按对应的类型移到对应的目录下

5. 运行项目

5.1 跳过GPU检测

前面说了,咱们用的是老Mac本了,Intel芯片,显卡也用不了。只能用CPU进行计算,跳过GPU的配置如下:

执行命令:

# 打开配置文件
vim ~/.bash_profile# 把下面两行拷贝进去,保存后source命令使其生效
export COMMANDLINE_ARGS="--lowvram --precision full --no-half --skip-torch-cuda-test"
export PYTORCH_ENABLE_MPS_FALLBACK=1

5.3 项目代码修改

因为网络访问的问题,我们需要将代码里有些地方进行修改。修改如下:

修改lanuch.py文件

  • 修改def prepare_environment()方法下的两处位置
  1. torch_command中修改torch==1.13.1 torchvision==0.14.1把原有的版本号数字后面的其他内容去掉

  2. 该方法下所有https://github.com开头的链接,前面都加上https://ghproxy.com/这样链接就变成如下格式了:https://ghproxy.com/https://github.com/

如图所示

在这里插入图片描述

5.3 运行项目

上面我们使用conda进入了虚拟环境,然后再运行项目即可,执行命令:

# 激活虚拟环境sd
conda activate sd # 进入到stable-diffusion-webui目录下
cd stable-diffusion-webui# 运行项目
python launch.py

这一步如果人品好的话,第一次就能全部正常运行完,运行完之后,出现http://127.0.0.1:7860字样说明运行成功了,浏览器打开这个地址就能开始愉快地玩耍了,玩耍方式自行探索哦~

在这里插入图片描述

6.相关问题

pip install -r requirements.txt时报错,有一些依赖没有安装上

解决方法:手动安装一下依赖包

pip install 缺少的依赖包

7.模型下载及图片下载

文章里用到的模型和图片下载方式:公众号卷福同学内发关键词AI绘画获取

在这里插入图片描述

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

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

相关文章

Android 分区和内存监控

Andorid之所以是分区,是因为各自有对应的功能和用途的考量,可以进行单独读写和格式化。Android 设备包含两类分区:一类是启动分区,对启动过程至关重要。一类是用户分区,用于存储与启动无关的信息。启动分区boot 分区一…

数据库之高级查询

注意:第一个包含空,第二句不包含空注意:第二句是错的,聚合函数不能出现在where中。注意:相当于,按照分组属性,求出每个组的聚合函数值,所以肯定不能放单个属性有冲突with rollup是最…

一文带你搞定线程池原理

1.使用线程池的意义何在?项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程。因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就…

怎么依靠网络赚钱,网上可以做什么副业

如今,网上赚钱已经成为许多人职业生涯的选择之一。网上有很多可靠的兼职,让你在家里轻松赚钱。今天给大家推荐五份可靠的网上兼职。一、怎样选择可靠的网络兼职可靠的网络兼职一般是指在家通过网络平台完成兼职任务,完成任务后即可获得报酬。…

学习python第一天---前缀和

一、3956.截断数组(前缀和)二、前缀和(前缀和)[0]list(map(int,input().split()))三、子矩阵的和(前缀和)range(1,n1)四、K倍区间(前缀和)五、激光炸弹(前缀和&#xff0…

Spring Cache的使用--快速上手篇

系列文章目录 分页查询–Java项目实战篇 全局异常处理–Java实战项目篇 完善登录功能–过滤器的使用 更多该系列文章请查看我的主页哦 文章目录系列文章目录前言一、Spring Cache介绍二、Spring Cache的使用1. 导入依赖2. 配置信息3. 在启动类上添加注解4. 添加注解4.1 CacheP…

在Angular项目中引入NG-ZORRO

在Angular项目中引入NG-ZORRO1.前置2.安装NG-ZORRO并进行初始化配置3.引入样式4.引入组件1.前置 首先创建一个angular项目:angular创建一个新项目的步骤 这是我项目的结构: 2.安装NG-ZORRO并进行初始化配置 安装NG-ZORRO:cd 到当前项目位…

智能算法实现PID智能车控制系统

智能算法实现PID智能车控制系统可在微信公众号 *高级嵌入式软件* 里回复 *智能算法* 查看完整版文章摘要关键词第一章绪论1.1智能车概述1.2智能PID研究现状1.3本文工作第二章 PID控制简介第三章 内模PID简介3.1 内模PID控制第四章内模智能PID智能车控制系统设计4.1 系统设计4.2…

《MySQL学习》 表中随机取记录的方式

一.初始化测试表 创建表 words CREATE TABLE words ( id int(11) NOT NULL AUTO_INCREMENT, word varchar(64) DEFAULT NULL, PRIMARY KEY (id)) ENGINEInnoDB;插入测试数据 create procedure idata()begin declare i int; set i 0; while i<10000 do insert into words…

第二节类型转换、运算符

类型转换 自动类型转换&#xff1a; 类型小的变量可以赋值给大的类型变量。 表达式的自动类型转换&#xff1a; byte short char在表达式中是当做 int计算的。 强制类型转换&#xff1a; 大类型的变量转化为小类型的变量。 注&#xff1a;浮点型转换为整数是直接丢掉小数部…

尚硅谷nginx基础

nginx1. nginx安装1.1版本区别1.2安装步骤1.3 启动nginx1.4关于防火墙1.5 安装成系统服务1.6 配置nginx环境变量2. nginx基本使用2.1 基本运行原理2.2 nginx配置文件2.2.1 最小配置2.2.1.1 基本配置说明2.3 虚拟主机2.3.1域名、dns、ip地址的关系2.3.2IP地址和DNS地址的区别2.3…

学渣适用版——Transformer理论和代码以及注意力机制attention的学习

参考一篇玩具级别不错的代码和案例 自注意力机制 注意力机制是为了transform打基础。 参考这个自注意力机制的讲解流程很详细&#xff0c; 但是学渣一般不知道 key&#xff0c;query&#xff0c;value是啥。 结合B站和GPT理解 注意力机制是一种常见的神经网络结构&#xff0…

Android安卓中jni封装代码打包为aar

前文【Android安卓中jni与Java之间传递复杂的自定义数据结构】已经介绍jni编译c++代码且已经成功封装成java,但是c++是以源代码形式继承在app中,本文介绍如何将前述jni c++代码以隐藏源代码封装成aar的形式。 1、aar打包 1.1、新建module 按照流程 File -> New Module …

windows服务器实用(4)——使用IIS部署网站

windows服务器实用——IIS部署网站 如果把windows服务器作为web服务器使用&#xff0c;那么在这个服务器上部署网站是必须要做的事。在windows服务器上&#xff0c;我们一般使用IIS部署。 假设此时前端给你一个已经完成的网站让你部署在服务器上&#xff0c;别人可以在浏览器…

Objective-C description 自定义对象的打印格式/输出的字符串 类似于Java 中的 toString 方法

总目录 iOS开发笔记目录 从一无所知到入门 文章目录IntroNSObject 源码测试类截图测试代码输出Intro 在 Java 中&#xff0c;对于自定义类一般会重写集成自Object类的toString方法&#xff0c;这样在打印该类的对象时&#xff0c;打印出的字符串就是我们在 toString() 方法中返…

Oracle Apex 21.2 安装过程

什么是 Oracle APEX&#xff1f; Oracle APEX 是广受欢迎的企业级低代码应用平台。借助该平台&#xff0c;您可以构建功能先进的可扩展安全企业应用&#xff0c;并在任何位置&#xff08;云或内部部署&#xff09;部署这些应用。 使用 APEX&#xff0c;开发人员可快速开发并部…

数据结构入门DAY1

力扣刷题合集&#xff1a;力扣刷题_Sunlightʊə的博客-CSDN博客217.存在重复元素相关题目链接&#xff1a;力扣 - 存在重复元素题目重现给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返…

大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——ReduceTask工作机制

1、ReduceTask工作机制 ReduceTask工作机制&#xff0c;如下图所示。 &#xff08;1&#xff09;Copy阶段&#xff1a;ReduceTask从各个MapTask上远程拷贝一片数据&#xff0c;并针对某一片数据&#xff0c;如果其大小超过一定阈值&#xff0c;则写到磁盘上&#xff0c;否则直…

Active Directory 05 - 初识 AD CS 证书服务

写在最前 如果你是信息安全爱好者&#xff0c;如果你想考一些证书来提升自己的能力&#xff0c;那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里&#xff1a; https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助&#xff0c;并分享学习和实践过程…

1029 旧键盘 C++中find函数的使用

题目链接&#xff1a; 一、自己的想法&#xff1a;&#xff08;弱化版双指针&#xff09; 思路为用两个“指针”i, j分别指向原来字符串和实际输入字符串的第一个字符&#xff0c;然后判断i&#xff0c;j所指字符是否一致&#xff0c;若是则i, j同时&#xff0c;若否则将i所指…