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

图像生成工具WebUI

介绍

Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞,作为程序员的我们应该尝尝鲜,这个是github上一个很火的项目,目前已经有120k的✨,作用是生成图片,个人认为他在m1上的运行速度不是很满意,有时间把他装到家里3060电脑上试一下运行速度。

Mac M1github安装地址:AUTOMATIC1111/stable-diffusion-webui

官方文档

  1. 如果未安装 Homebrew,请按照https://brew.sh上的说明进行安装。保持终端窗口打开,然后按照“后续步骤”下的说明将 Homebrew 添加到您的 PATH。
  2. 打开一个新的终端窗口并运行brew install cmake protobuf rust python@3.10 git wget
  3. 通过运行克隆 Web UI 存储库git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  4. 将您想要使用的稳定扩散模型/检查点放入stable-diffusion-webui/models/Stable-diffusion。如果您没有,请参阅下面的下载稳定扩散模型。
  5. cd stable-diffusion-webui然后./webui.sh运行 Web UI。将使用 venv 创建并激活 Python 虚拟环境,并且会自动下载和安装任何剩余的缺失依赖项。
  6. 要稍后重新启动 Web UI 进程,请./webui.sh再次运行。请注意,它不会自动更新 Web UI;要更新,请git pull在运行之前运行./webui.sh

个人安装

  1. 安装Homebrew(终端工具iTterm)

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。个人理解就类似于Centos的yum指令,我们用它来安装python。官网提供的指令不大好使可能是因为墙的原因可以使用国内的方式安装。

官方:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

国内(安装过程需要选择镜像地址,推荐阿里云镜像):

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装完成之后输入如下指令确认是否安装成功,返回Homebrew对应的版本号代表安装完成

brew -v

其他homebrew的相关命令

# 查看Homebrew命令
brew help
# 安装任意包
brew install <packageName>,eg:brew install node
# 卸载任意包
brew uninstall <packageName>,eg:brew uninstall git
# 查询可用包
brew search <packageName>
# 查询已安装包列表
brew list
# 查看任意包信息
brew info <packageName>
# 更新Homebrew
brew update
# Homebrew帮助信息
brew -h
# 查看brew版本
brew -v
# 更新brew版本
brew update
# 整理重复语句:
open ~/.zshrc -e、open ~/.bash_profile -e
  1. 使用brew安装python
brew install cmake protobuf rust python@3.10 git wget

经过漫长等待,安装完成非常顺利

image-20240718170728263

验证一下python的版本,确认输出中包含正确的安装路径等信息

brew info python@3.10

image-20240718171525381

更新 PATH 环境变量,确保你的终端的配置文件中正确设置了 PATH,以便新的 Python 版本在路径中出现在旧版本之前。在 ~/.bash_profile~/.zshrc(取决于你使用的 shell)中添加以下行:

export PATH="/usr/local/opt/python@3.10/bin:$PATH"

然后执行以下命令使配置生效:

source ~/.bash_profile # 或 source ~/.zshrc

检查 Python 版本

python3.10 --version
  1. 下载存储库git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

image-20240718173510273

  1. 下载对应的模型,我没有下载官方的模型,用的是majicMIX realistic,模型2G左右,下载完成后放入到AUTOMATIC1111/stable-diffusion-webui项目的models/Stable-diffusion下面

下载地址:

全球最大的ai模型分享平台c站civitai

majicMIX realistic

47个高质量的 Stable Diffusion 常用模型推荐

image-20240719093859674

至此,安装完成

启动

运行Web UI,激活Python虚拟环境

# 进入stable-diffusion-webui项目路径
cd youpath/stable-diffusion-web
# 激活环境
./webui.sh

在第一次执行webui.sh的时候会检测缺失的依赖以及文件,如果没有会自动下载资源到项目repositories目录,报错的话多执行几次注意VPN,多次失败可以关闭VPN

image-20240719104127743

执行完成后终端显示,浏览器自动打开界面
image-20240719104221231

添加插件

打开Extensions的Available界面,搜索官方库存在的插件,也可以在Install from URL安装已知地址的插件。插件的使用直接影响生成图片的质量,需要找一些好用的插件

image-20240719135334464

推荐可用的插件:16款Stable Diffusion插件推荐,让SD小白快速上手

汉化包插件

  1. 打开Stable Diffusion WebUI,进入”Extensions”选项卡。WebUI是Stable Diffusion的用户界面,您可以通过它来管理扩展和设置。
  2. 点击”Install from URL”,注意”URL for extension’s git repository”下方的输入框。这是用来添加新扩展的选项。
  3. 粘贴或输入以下Git仓库地址:https://github.com/VinsonLaro/stable-diffusion-webui-chinese。这是汉化包的地址。
  4. 点击下方的黄色按钮”Install”即可完成安装,然后重启WebUI。要重启WebUI,请点击”Install from URL”左方的”Installed”,然后点击黄色按钮”Apply and restart UI”网页下方的”Reload UI”完成重启。
  5. 点击”Settings”,然后在左侧点击”User interface”界面。在界面里最下方的”Localization (requires restart)”,选择”Chinese-All”或者”Chinese-English”,这将启用中文界面。
  6. 点击界面最上方的黄色按钮”Apply settings”,再点击右侧的”Reload UI”即可完成汉化。您现在应该能够看到Stable Diffusion的中文界面了。

生成图片

根据文字生成图片,输入关键字直接生成

image-20240719145424012

问题

重启后报错:ModuleNotFoundError: No module named ‘tqdm’

到项目路径下:stable-diffusion-webui/venv/lib/python3.10/site-packages删除tqdm的依赖:tqdm与tqdm-4.11.2.dist-info,重新安装pip3.10 install tqdm,安装完成后会显示安装路径,将tqdm与tqdm-4.11.2.dist-info复制到项目路径venv/lib/python3.10/site-packages

image-20240719113458806

cd /Users/chizhiwei/workspace/stable-diffusion-webui/venv/lib/python3.10/site-packages
# /opt/homebrew/lib/python3.10/site-packages是使用python安装的tqdm路径
cp -r /opt/homebrew/lib/python3.10/site-packages/tqdm-4.66.4.dist-info ./
cp -r /opt/homebrew/lib/python3.10/site-packages/tqdm ./

执行完成后再次重启就可以继续使用

相关文章:

图像生成工具WebUI

介绍 Stable Diffusion WebUI&#xff08;AUTOMATIC1111&#xff0c;简称A1111&#xff09;是一个为高级用户设计的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它提供了丰富的功能和灵活性&#xff0c;以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…...

排查常见的 MySQL性能问题

1. 查询速度慢&#xff1a;MySQL 数据库中最常见的性能问题之一是查询执行速度慢。缓慢的查询会增加等待时间和阻碍应用程序响应能力&#xff0c;从而显著影响用户体验。这些缓慢的查询可能由各种因素引起&#xff0c;例如缺少适当的索引、设计不佳的数据库架构、查询逻辑本身效…...

滑雪场管理系统

【毕业设计】基于SpringBoot Vue的滑雪场管理系统 摘要 随着信息化时代的快速发展&#xff0c;滑雪场作为冬季旅游的热门目的地&#xff0c;其管理效率和服务质量直接影响着游客的体验。为此&#xff0c;设计一个高效、安全、易用的滑雪场管理系统成为当务之急。本文详细阐述…...

西游记战力排名、笔记等

文章目录 战力排名对西游记的理解各个版本游戏题材西游记关卡和妖怪 西游记家喻户晓&#xff0c;没有谁不知道吧&#xff0c;无论是电视剧、影视&#xff0c;还是小说&#xff0c;乃至游戏&#xff0c;很多地方都有西游记的身影。 虽然知道&#xff0c;但总不如对三国啊、水浒啊…...

vue3 + js + vite创建的项目中配置svg图

安装 npm install vite-plugin-svg-icons npm install fast-globvite.config.js文件中配置如下内容 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export defau…...

c++ 找第一个只出现一次的字符

【题目描述】 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出no。 【输入】 一个字符串&#xff0c;长度小于100000。 【输出】 输出第一个仅出现一次的字符&#xff0c;若没有则输出no。 【输入样例】 abcabd【输出样…...

在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)

Unity 6 中推出的新照明功能让您能够更快速、更高效的完成对烘焙场景的照明工作&#xff0c;在本文中我们将与大家详细分享在 Unity 6 中应用自适应探针卷创建快速全局光照的更多细节与具体应用方法。由于内容比较丰富&#xff0c;我们将把内容分为三篇文章&#xff0c;以便大家…...

Win11安装安卓子系统WSA

文章目录 简介一、启用Hyper-V二、安装WSA三、安装APKAPK商店参考文献 简介 WSA&#xff1a;Windows Subsystem For Android 一、启用Hyper-V 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 Hyper-V 二、安装WSA 进入 Microsoft Store&#xff0c;下拉框改为 …...

利用两种方式分别实现单例模式(懒汉式、饿汉式)

package testsingle;//实现单例的两种方式 public class TestMySingle {public static void main(String[] args) {ClassA ca1 ClassA.getClassA();ClassA ca2 ClassA.getClassA();System.out.println(ca1ca2);ClassB cb1 ClassB.getClassB();ClassB cb2 ClassB.getClassB(…...

js分页功能

先声明些全局变量方便我们在下面的代码中使用 //一页有多少条数据 let pagenum 10; //页码下标 let page_index 0; //总页数 let total_page; // 声明一个用于接数据的变量 let data&#xff1b; //获取数据 let res;通过获取数据渲染页面 // 渲染函数 function applys(da…...

Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra+为例)保姆级教程

Ubuntu20.04 编译运行 ORBSLAM2_with_pointcloud_map(以RGBD Orbbec Astra为例) 获取源码 git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git解压文件 得到如下内容 编译安装修改后的g2o cd g2o_with_orbslam2 mkdir build cd build cmake .. make…...

MyBatis(四)

第一章&#xff1a;MyBatis延迟加载策略 1. 延迟加载的概念 立即加载和延迟加载的区别&#xff0c;使用一对多的环境举例子。 立即加载&#xff1a;当前查询用户的时候&#xff0c;默认也把该用户所拥有的帐户信息查询出来了。 延迟加载&#xff1a;当前查询用户的时候&…...

【从零开始的LeetCode-算法】3285. 找到稳定山的下标

有 n 座山排成一列&#xff0c;每座山都有一个高度。给你一个整数数组 height &#xff0c;其中 height[i] 表示第 i 座山的高度&#xff0c;再给你一个整数 threshold 。 对于下标不为 0 的一座山&#xff0c;如果它左侧相邻的山的高度 严格大于 threshold &#xff0c;那么我…...

Docker常用命令总结~

1、关于镜像 获取镜像 docker pull [image name] [option:tag]AI助手//获取postgres镜像(没有设置镜像版本号则默认获取最新的&#xff0c;使用latest标记) docker pull postgres or docker pull postgres:11.14 列出本地镜像 docker imagesAI助手 指定镜像启动一个容…...

浅谈怎样系统的准备前端面试

前言 创业梦碎&#xff0c;回归现实&#xff0c;7 月底毅然裸辞&#xff0c;苦战两个月&#xff0c;拿到了美团和字节跳动的 offer&#xff0c;这算是从业以来第一次真正意义的面试&#xff0c;遇到蛮多问题&#xff0c;比如一开始具体的面试过程我都不懂&#xff0c;基本一直是…...

如何配置防火墙提高服务器安全性

配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量&#xff0c;限制未经授权的访问&#xff0c;防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。 一、为什么需要配置防火墙 防火墙的主要作用是&#xff1a; 限制未经授权的访问&#xff1a…...

java集合-Map HashMap 源码解析

hashMap简介 HashMap是基于哈希表实现的&#xff0c;每一个元素是一个key-value对&#xff0c;无序&#xff0c;不可重复。HashMap是非线程安全的&#xff0c;只是用于单线程环境下&#xff0c;多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Ser…...

案例分享|企查查的数据降本增效之路

分享嘉宾 任何强 企查查科技股份有限公司 大数据架构负责人 关于企查查 “企查查”是企查查科技股份有限公司旗下的一款企业信用查询工具。2023年5月20日&#xff0c;企查查正式发布全球首款商查大模型——“知彼阿尔法”&#xff0c;该模型基于企查查覆盖的全球企业信用数据进…...

图书馆管理系统(四)基于jquery、ajax--完结篇

任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端&#xff0c;使用 Express 框架来处理 HTTP 请求&#xff0c;并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…...

什么是Modbus协议网关?

在工业自动化领域&#xff0c;设备间的通信与数据交换是实现高效、智能控制的关键。Modbus协议作为一种广泛应用的通信协议&#xff0c;自1971年由Modicon公司首次推出以来&#xff0c;便以其标准、开放、支持多种电气接口等特点&#xff0c;在工业控制系统中占据了重要地位。然…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...