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

StableDiffusion打包 项目迁移 项目分发 0

StableDiffusion项目迁移 0

先看了几个其他人的本地部署文章和视频,对别人的步骤做记录。(写的很潦草,只是注意一下有什么点需要注意)

虽然秋叶大佬有整合包,但是我是为了项目分发学习的,还是想自己配环境。

文章目录

  • StableDiffusion项目迁移 0
    • 下载
    • 经验1
    • 经验2
    • 经验3
    • 经验4
    • 经验5

下载

显卡驱动更新:https://www.nvidia.cn/geforce/drivers/

下载安装三个程序:

  1. python3.10.6: https://www.python.org/downloads/release/python-3106/
  2. git: https://git-scm.com/download/win
  3. stable-diffusion webui: https://github.com/AUTOMATIC1111/stable-diffusion-webui

经验1

创建一个单独的文件夹,在程序安装至该文件夹中,文件夹显示内容为:

--python
--git
--stable-diffusion-webui-版本号
这三个都是文件夹,里面的内容就是一堆小文件

然后进入文件夹stable-diffusion-webui,编辑webui.bat,添加set COMMANDLINE_ARGS=--no-gradio-queue内容。

在这里插入图片描述

科学上网,运行webui.bat,这是它会自动帮我们下载所需要的依赖包,例如torch等等。

如果下载的过程中出现紫色的notice需要更新pip,那么复制它的代码,在cmd中运行即可。

更新完成后,修改文件夹名称(将版本号去掉),再运行webui.bat。就能用了。

总结:

  1. 显卡驱动更新后,再下载三个东西

  2. 有了python环境后,之后的所有依赖包在第一次运行webui.bat时都已经帮我们配好了,自动下载到.\python\Lib\site-package中了,很方便。

  3. 适当修改bat,环境应该是可以直接迁移的,下次试试。

  4. 看了很多配环境和打包环境的视频,总的思路是,所有依赖包在python文件夹下,这个python文件夹就是一个环境。然后安装完后检测版本,也就是看依赖包是否可用。然后写脚本文件用来声明一些依赖包的环境变量,都是用的相对路径。

    把配好的python文件夹移动到某个项目的根目录下;或者在根目录下创建python文件夹,在cmd中运行该文件夹下的python.exe,并用项目给出的requestment配环境。例如.\env_name\python.exe -m pip install -r requestment.txt

    python用的应该是相对路径。

bilibili地址

经验2

官方的快速启动:

在这里插入图片描述

视频思路:

# 先安装一个python环境
conda create-n python311_cuda118 python=3.11
# 安装cuda
conda install nvidia/label/cuda-11.8.0::cuda-toolkit
# 安装cudnn
conda install cudnn
# 下载webui并解压
# 将整个环境文件拷贝到项目根目录下
# 用该环境中的python安装依赖
.\runtime\python.exe -m pip install -r requirements.txt
# 安装torch三件套
.\runtime\python.exe -m pip install torch torchvision torchaudio -index-url https://download.pytorch.org/whl/cu118
# 安装onnxruntime-gpu
.\runtime\python.exe -m pip install onnxruntime-gpu# 编写脚本,检测软件脚本
torch
import torch
print("cudnn版本:",torch.backends.cudnn.version())
print("torch版木:",torch.__version__)
print("cuda版本:",torch.version.cuda)
print("gpu是否可用",torch.cuda.is_available())
# 运行脚本,检测是否可用
.\runtime\python.exe check_env.py# 编写脚本,检测onnxruntime
import onnxruntime as ort
def gpu_diagnostics():print(ort.get_available_providers())
if__name__ == "__main__"gpu_diagnostics()
# 检测onnxruntime
.\runtime\python.exe check_back.py

声明入口:

在这里插入图片描述

经验3

1

# conda创建环境,并下载python310环境
conda create -n envname python=3.10
# 激活环境
conda activate envname
# 下载pytorch,自带cuda。最后的-c是指定渠道
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装完后,进行检验,命令行输入:
python
torch.__version__
touch.cuda.is_available()
exit()
# 安装相关依赖
pip install -r requirements_versions.txt
# 标红的包需要独立安装(ipython)
pip install ipython
# 安装xformer,加速绘图的一个包,注意版本匹配
pip install -U xformers --index-url https://download.py ytorch.org/whl/cu121

(在pytorch官网选择安装命令后,pytorch自动先帮我们安装cuda。所以不需要再麻烦的先安装cuda)

在这里插入图片描述

2 配置webui-user.bat文件,复制对应的文件地址即可,用的是绝对路径。

@echo off
set PYTHON=D:\sd-webui\python\python.exe %python可执行文件地址%
set GIT=D:\sd-webui\Git\bin\git.exe
set VENV DIR=\sd-webui\python %python目录地址%
set COMMANDLINE ARGS=--xformers
call webui.bat

3 配置webui.bat文件:

打开文件,查找Scripts,然后删掉前面的路径。其他地方也是一样的。(因为我们的python.exe不在这个目录里,所以需要删掉)
在这里插入图片描述

删除这一行:(call 命令用于调用另一个批处理文件,并在被调用的批处理文件执行完毕后返回到当前脚本继续执行后续命令。)

在这里插入图片描述

4 安装clip标签生成器(插件):

pip install ftfy regex tqdm
pip install git+https://github.com/openai/CLIP.git

5 运行webui-user.bat脚本文件。首次运行会下次其他小东西,并且会下载一个底模。

(底模没下载成功不要紧,不影响ui界面启动。后续自己下就可以,这就涉及到SD的学习了,能启动就不要紧。)

经验4

安装完依赖包之后,要先将python的环境变量设置到webui-user.bat

img

需要配置启动参数

set COMMANDLINE ARGS=--xformers --no-gradio-queue --lowvram --precision full --no-half

xformers是加速生图的

–no-gradio-queue,可以连接上网络了

-lowvram --precision full --no-half:gpu生图,不然就是cpu

经验5

秋叶大佬启动器中的webui-user.txt和webui.bat没动。

相关文章:

StableDiffusion打包 项目迁移 项目分发 0

StableDiffusion项目迁移 0 先看了几个其他人的本地部署文章和视频,对别人的步骤做记录。(写的很潦草,只是注意一下有什么点需要注意) 虽然秋叶大佬有整合包,但是我是为了项目分发学习的,还是想自己配环境…...

关于Postman自动获取token

在使用postman测试联调接口时,可能每个接口都需要使用此接口生成的令牌做Authorization的Bearer Token验证,最直接的办法可能会是一步一步的点击,如下图: 在Authorization中去选择Bearer Token,然后将获取到的token粘贴…...

LSTM长短期记忆网络-原理分析

1 简介 概念 LSTM(Long Short-Term Memory)也称为长短期记忆网络,是一种改进的循环神经网络(RNN),专门设计用于解决传统RNN的梯度消失问题和长程依赖问题。LSTM通过引入门机制和细胞状态,能够更…...

sql server笔记

创建数据库 use master gocreate database stuuuuu//删除数据库if db_id ($$$) is not nullDrop database [$$$] go//新建表USE [studyTest] GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOCREATE TABLE [dbo].[Table_1]([id] [int] NULL,[name] [varchar](10) NULL ) ON…...

AI Video Composer:基于Qwen2.5-Coder的简易开源视频创作利器

系列篇章💥 No.文章1短视频开源项目MoneyPrinterTurbo:AI副业搞起来,视频制作更轻松!2【FunClip】阿里开源AI视频剪辑神器:全面体验与教程3Tailor:免费开源 AI 视频神器,创作者必备利器4Clappe…...

AI数字人开发,引领科技新潮流

引言 随着人工智能技术的迅猛发展,AI 数字人在影视娱乐、客户服务、教育及医疗等多个领域展现出巨大的潜力。本文旨在为开发者提供一份详细的 AI 数字人系统开发指南,涵盖从基础架构到实现细节的各个方面,包括人物建模、动作生成、语音交互、…...

VoIP之音频3A技术

音频3A技术是改善语音通话质量的三种关键技术的简称,包括声学回声消除(Acoustic Echo Cancellation, AEC)、自动增益控制(Automatic Gain Control, AGC)、自噪声抑制(Automatic Noise Suppression, ANS&…...

[原创]openwebui解决searxng通过接口请求不成功问题

openwebui 对接 searxng 时 无法查询到联网信息,使用bing搜索,每次返回json是正常的 神秘代码: http://172.30.254.200:8080/search?q北京市天气&formatjson&languagezh&time_range&safesearch0&languagezh&locale…...

Jmeter聚合报告导出log文档,Jmeter聚合报告导出到CSV

Jmeter聚合报告导出log文档 在Filename中输入 EKS_perf_log\\${type}_log\\${__P(UNIQUEID,${__time(YMDHMS)})}\all-graph-results-log.csv 可以得到执行的log,文件夹包含时间戳 Jmeter聚合报告导出到CSV 点击Save Table Data,保存到CSV文件中...

mysqldump 参数详解

mysqldump 是一个用于备份 MySQL 数据库的工具。它可以生成一组 SQL 语句,这些语句可以用来重现原始数据库对象定义和表数据。以下是一些常用的 mysqldump 参数及其详细解释: 常用参数 基本参数 --host=host_name, -h host_name: 指定 MySQL 数据库主机地址,默认为 localh…...

DeepSeek R1 简易指南:架构、本地部署和硬件要求

DeepSeek 团队近期发布的DeepSeek-R1技术论文展示了其在增强大语言模型推理能力方面的创新实践。该研究突破性地采用强化学习(Reinforcement Learning)作为核心训练范式,在不依赖大规模监督微调的前提下显著提升了模型的复杂问题求解能力。 …...

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明: 一、三级视图核心概念 数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下: …...

[Web 信息收集] Web 信息收集 — 手动收集 IP 信息

关注这个专栏的其他相关笔记:[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01:通过 DNS 服务获取域名对应 IP DNS 即域名系统,用于将域名与 IP 地址相互映射,方便用户访问互联网。对于域名到 IP 的转换过程则可以参考下面这篇…...

跨AWS账户共享SQS队列以实现消息传递

在现代分布式系统中,不同的服务和组件通常需要进行通信和协作。Amazon Simple Queue Service (SQS)提供了一种可靠、可扩展且完全托管的消息队列服务,可以帮助您构建分布式应用程序。本文将介绍如何在一个AWS账户(账户A)中创建SQS队列,并授权另一个AWS账户(账户B)中的用户和角色…...

DeepSeek 202502 开源周合集

DeepSeek 本周的开源项目体现了其在 AI 技术栈中的深厚积累,从硬件协同优化(FlashMLA)、通信库(DeepEP)、核心计算(DeepGEMM)到推理模型(DeepSeek-R1),覆盖了…...

springai系列(二)从0开始搭建和接入azure-openai实现智能问答

文章目录 前言1.从0开始搭建项目2.进入微软openai申请key3.配置application.yaml4.编写controller5.测试源码下载地址总结 前言 之前使用openai的官网的api需要科学上网,但是我们可以使用其他的代理间接实现使用chatgpt的相关模型,解决这个问题。比如:本…...

Apache部署Vue操作手册(SSL部分)

1. Apache配置(windows版本) 1.1 httpd.conf 配置 找到apache配置文件 httpd.conf,将下面两条文件的注释#去掉,如果没搜到就新增这两条配置。一个是开启ssl模块,一个是引用专门的ssl配置文件。 LoadModule ssl_modu…...

人类驾驶的人脑两种判断模式(反射和预判)-->自动驾驶两种AI模式

一种模式是直觉模式,判断是基于条件反射,视觉感知 触发到 直接条件反射(从经历中沉淀形成的神经信息闭环),类似现在自动驾驶技术的传统AI模式。 另一种模式是物理时空图式推理模式,判断是基于预判预测&…...

Docker和K8S中pod、services、container的介绍和关系

在容器化技术中,Docker、Kubernetes(K8S)、Pod、Service 和 Container 是核心概念,理解它们的关系对构建和管理现代应用至关重要。以下是详细的分步解释: 1. 核心概念定义 (1) Container(容器)…...

【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt

在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...