当前位置: 首页 > news >正文

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

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绘画获取

在这里插入图片描述

相关文章:

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

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

基于stm32电梯管理系统设计

基于stm32电梯管理系统设计这里记录一下以前自己做的嵌入式课程设计,报告中的图片和文字太多了,全部一个一个把搬过来太麻烦了,需要完整文本和代码自行q我963160156,也可在微信公众号 *高级嵌入式软件* 里回复 *电梯* 查看完整版文章摘要关键…...

Spring中的FactoryBean 和 BeanFactory、BeanPostProcessor 和BeanFactoryPostProcessor解析

文章目录FactoryBean 和 BeanFactory后置处理器BeanPostProcessor 和 BeanFactoryPostProcessorBeanPostProcessorBeanFactoryPostProcessorFactoryBean 和 BeanFactory BeanFactory接⼝是容器的顶级接⼝,定义了容器的⼀些基础⾏为,负责⽣产和管理Bean的…...

【C++从入门到放弃】类和对象(上)

🧑‍💻作者: 情话0.0 📝专栏:《C从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! 类和对…...

什么牌子的蓝牙耳机便宜好用?四款高品质蓝牙耳机推荐

随着时代的发展,蓝牙耳机的使用频率越来越高,不少人外出时除了带手机外,蓝牙耳机也成为了外出必备的数码产品之一。现在的蓝牙耳机品牌众多,什么牌子的蓝牙耳机便宜好用?下面,我来给大家推荐四款高品质的蓝…...

eddsa 算法

信息安全课程设计:eddsa 算法 一、项目要求 使用 C 语言开发;可以实现公私钥生成、签名、认证;只需要手动输入明文,代码会自动生成公私钥、签名、认证;记录公私钥生成、签名、认证的时间;在 VS 上运行&am…...

Xcode Developer Document 开发者文档

总目录 iOS开发笔记目录 从一无所知到入门 文章目录IntroDeveloper Documentation 打开方式菜单栏点击 | 快捷键方式另一种打开方式Intro 2016年我在学校学Java的时候,要查某个Java类/方法的用法还得自己手动下载一种.chm格式的开发文档文件&#xff0c…...

IntelliJ插件开发教程之新建项目

JetBrains公司系列产品IDEA、WebStrom、PyCharm、CLion、GoLand等都是基于IntelliJ Platform开发而成,掌握IntelliJ插件开发技能便能拥有提升开发效率的终极武器。本教程Demo源码请微信公众号“开发效率”进行获取。阅读原文如果您是JetBrains产品的用户&#xff0c…...

解决SpringBoot中@RequestBody不能和Multipart同时传递的问题

问题描述 今天在做文件上传的时候,遇到了这么一个错误日志: Resolved[org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘multipart/form-data;boundary--------------------------771899451541318130280588;charsetUTF-8’…...

【华为OD机试模拟题】用 C++ 实现 - 统计匹配的二元组个数(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明统计匹配的二元组个数题目输入输出描述示例一输入输出说明示例二输入输出说明备注Code使用说明 参加华为od机试,一定要注意不要完全背诵代码&...

Vuex 面试题总结 的历史汇总!

一.vuex是什么?怎么使用?哪种功能场景使用它? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单来说就是:应用…...

Redis缓存更新策略与缓存穿透、雪崩等问题的解决

文章目录一、缓存更新策略1、三种策略2、策略选择3、主动更新的方案二、缓存存在的问题1、缓存穿透2、缓存雪崩3、缓存击穿三、解决缓存问题1、自定义分布式锁2、解决缓存穿透问题3、解决缓存击穿问题一、缓存更新策略 1、三种策略 内存淘汰:redis自带的内存淘汰机…...

OSI和TCP/IP网络模型细讲

文章目录一、OSI七层参考模型二、TCP/IP体系结构三、TCP/IP参考模型四、沙漏计时器形状的TCP/IP协议族五、两种国际标准对比相似之处不同之处一、OSI七层参考模型 OSI参考模型共分为7层,低三层面向通信,可用软硬件实现;高三层面向信息处理&am…...

【正点原子FPGA连载】第十九章FreeRtos Hello World实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十九章FreeRto…...

php mysql高校田径运动会成绩管理系统

第一章 引言 1 1.1 选题背景 1 1.2 编写目的 2 1.3 目标 2 1.4 功能需求 3 第二章 开发工具介绍 4 2.1 PHP 4 2.2 APACHE 5 2.3 MYSQL数据库 5 2.4 运行环境 WINDOWS XP 6 2.5 XAMPP 6 2.6 DREAMWEAVE8 6 2.7 EDITPLUS 7 第三章 需求…...

scrum敏捷项目管理软件三款

Leangoo领歌Leangoo是国产的一个项目管理软件,www.leangoo.com , 专门的Scrum敏捷开发工具,看板的管理方式,高度可视化。它支持敏捷开发全流程。从产品路线图-需求-迭代-缺陷-测试-上线。燃尽图,工作量,迭代…...

【项目设计】高并发内存池(二)[高并发内存池整体框架设计|threadcache]

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…...

西电编译原理期末核心考点汇总(期末真题+相关知识点)

文章目录前言一、正规式1.1 相关知识点1.1.1 正规式定义1.1.2 辅助定义1.2 历年真题二、二义文法2.1 相关知识点2.1.1 二义性概念2.2 历年考题三、全部短语、直接短语和句柄3.1 相关知识点3.1.1 短语,直接短语和句柄定义3.1.2 短语,直接短语和句柄例题3.…...

追梦之旅【数据结构篇】——详解C语言实现二叉树

详解C语言实现二叉树~😎前言🙌什么是二叉树?二叉树的性质总结:整体实现内容分析💞1.头文件的编写:🙌2.功能文件的编写:🙌1)前序遍历的数值来创建树——递归函…...

独家 | Gen-1——可以改变视频风格的AI模型

翻译:吴振东校对:张睿毅本文约1000字,建议阅读3分钟 本文简单介绍了Runway公司的发展史,以及他们新推出的生成式AI模型Gen-1,可用于通过应用文本提示或者参考图像所指定的任意风格,将现有视频转换为新视频。…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...