当前位置: 首页 > 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)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

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

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

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...