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

【AI绘画】免费GPU Tesla A100 32G算力部署Stable Diffusion

免责声明

在阅读和实践本文提供的内容之前,请注意以下免责声明:

  • 侵权问题: 本文提供的信息仅供学习参考,不用做任何商业用途,如造成侵权,请私信我,我会立即删除,作者不对读者因使用本文所述方法而导致的任何损失或损害负责。

  • 信息准确性: 本文提供的信息可能随时更改,作者不保证文中所述方法在未来的软件更新中仍然有效。

  • 个人风险: 读者在按照本文提供的方法操作时,应该自行承担风险。作者不对读者因使用本文所述方法而导致的任何损失或损害负责。

  • 软件兼容性: 本文中提到的软件版本和兼容性可能会受到变化。读者应该在实施前查看相关软件的官方文档,以确保使用的软件版本相互兼容。

  • 个体差异: 不同的计算机环境、操作系统版本和其他因素可能导致实际操作效果有所不同。读者在实践中可能需要进行适当的调整。

  • 建议备份: 在进行重要操作之前,建议读者备份其数据和设置,以防万一发生意外情况。

  • 社区支持: 读者如果遇到问题,建议参考相关软件的官方社区或论坛,以获取更多帮助。

    文章目录

      • 免责声明
      • 1. 引言
        • 1.1 什么是Stable Diffusion
        • 1.2 AI Studio学习与实训社区
      • 2. 注册AI Studio账号
        • 2.1 通过邀请链接注册
        • 2.2 领取免费算力
      • 3. 创建Notebook项目
        • 3.1 选择基础版
        • 3.2 配置环境
      • 4. 拉取Stable Diffusion代码
      • 5. 更换pip镜像
      • 6. 安装依赖
        • 6.1 运行安装脚本
        • 6.2 解决网络问题
      • 7. 内网穿透
        • 7.1 ngrok内网穿透
        • 7.2 natapp内网穿透(国内速度较快)
      • 8. 项目目录结构
        • 8.1 插件保存位置
        • 8.2 模型保存位置
      • 9. 结论
        • 9.1 成功部署Stable Diffusion
        • 9.2 后续探索

1. 引言

1.1 什么是Stable Diffusion

Stable Diffusion是一个基于深度学习的图像生成工具,它使用扩散模型生成高质量的图像。该项目由AUTOMATIC1111开发并在GitHub上开源。

1.2 AI Studio学习与实训社区

AI Studio是百度推出的一个在线AI学习与实训社区,提供免费的GPU算力支持,用户可以在此平台上进行深度学习的项目开发和部署。

2. 注册AI Studio账号

2.1 通过邀请链接注册

点击以下链接注册AI Studio账号:AI Studio注册链接

2.2 领取免费算力

成功注册账号后,点击“我的创作”,可以领取免费算力。

3. 创建Notebook项目

3.1 选择基础版

点击“创建项目”,选择“Notebook”,然后选择“基础版”。

3.2 配置环境

-在这里插入图片描述
创建一个notebook项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
选择基础版我们先配环境
在这里插入图片描述在这里插入图片描述

4. 拉取Stable Diffusion代码

在Notebook中运行以下命令,拉取Stable Diffusion代码:

git clone https://gitclone.com/github.com/AUTOMATIC1111/stable-diffusion-webui.git

在这里插入图片描述

5. 更换pip镜像

在Notebook中运行以下命令,更换pip镜像源为阿里云:

mkdir -p ~/.pip
cat <<EOF > ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com
EOF

如果需要重新生成pip配置文件,可运行以下命令删除原有配置文件:

rm -rf ~/.pip

6. 安装依赖

6.1 运行安装脚本

进入stable-diffusion-webui目录,运行安装脚本:

cd stable-diffusion-webui/
./webui.sh --skip-torch-cuda-test

在这里插入图片描述
这里下载可能非常缓慢,你可以点击链接在本地先下载再上传直接安装whl

这里我发现Stable Diffusion同样恰好通过创建虚拟环境得以可配置PyTorch环境,虚拟环境位于stable-diffusion-webui/models/venv
【深度学习】不用Conda在PP飞桨Al Studio三个步骤安装永久PyTorch环境

或者多次Ctrl+Z重试切换到更好的网络
在这里插入图片描述
这里已经配置成功,可以看到尝试链接huggingface下载初始模型,由于我们连接不上这个网站,所以会一直卡到超时自动结束,你可以在他指定的文件夹创一个同名空文件暂时替代,或者自行上传模型。
/home/aistudio/stable-diffusion-webui/models/新建一个
v1-5-pruned-emaonly.safetensors

在这里插入图片描述
可以看到连接超时后仍然自动运行

6.2 解决网络问题

由于AI Studio的网络环境问题,可能会导致安装过程中下载依赖包很慢或下载失败。可以尝试多次运行安装脚本,或者手动下载依赖包并上传到Notebook中进行安装。

7. 内网穿透

7.1 ngrok内网穿透

https://ngrok.com/
在这里插入图片描述
注册获取<your_authtoken>,不能用QQ邮箱注册
在这里插入图片描述

在Notebook中运行以下命令,下载并安装ngrok:

wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
chmod +x ngrok
ngrok config add-authtoken  <your_authtoken>
./ngrok http 7860

注意:需要在ngrok官网注册账号并获取authtoken。
在这里插入图片描述

通过内网穿透得到的的Forwarding链接,你可以在任何设备上访问这个网址使用Stable Diffusion
在这里插入图片描述

7.2 natapp内网穿透(国内速度较快)

在Notebook中运行以下命令,下载并安装natapp:

wget https://cdn.natapp.cn/assets/downloads/clients/2_4_0/natapp_linux_amd64/natapp

注意:需要在natapp官网注册账号并获取配置文件。
在这里插入图片描述
natapp要实名认证,提前设置映射端口
在这里插入图片描述
Web协议,7860端口
在这里插入图片描述
注册购买后获得<your_authtoken>

chmod +x natapp
./natapp -authtoken=<your_authtoken>

在这里插入图片描述
通过内网穿透得到的的Forwarding链接,你可以在任何设备上访问这个网址使用Stable Diffusion

在这里插入图片描述

8. 项目目录结构

8.1 插件保存位置

Stable Diffusion的插件保存在stable-diffusion-webui/extensions目录下。

8.2 模型保存位置

Stable Diffusion的模型保存在stable-diffusion-webui/models目录下。
我们看一下项目目录
在这里插入图片描述
插件保存在这
在这里插入图片描述
模型保存在这
在这里插入图片描述

9. 结论

9.1 成功部署Stable Diffusion

按照以上步骤,就可以成功在AI Studio上部署Stable Diffusion,并利用免费的Tesla A100 GPU算力进行AI绘画。

9.2 后续探索

在成功部署Stable Diffusion之后,可以尝试使用不同的模型和插件,进行更多的AI绘画创作。同时,也可以结合其他的深度学习技术,进一步提高生成的图像质量。
你可以通过创建数据集wgetgit下载你需要的模型或插件

相关文章:

【AI绘画】免费GPU Tesla A100 32G算力部署Stable Diffusion

免责声明 在阅读和实践本文提供的内容之前&#xff0c;请注意以下免责声明&#xff1a; 侵权问题: 本文提供的信息仅供学习参考&#xff0c;不用做任何商业用途&#xff0c;如造成侵权&#xff0c;请私信我&#xff0c;我会立即删除&#xff0c;作者不对读者因使用本文所述方法…...

JVM(2)

JVM类加载 指的是java进程运行时,需要把.class文件从硬盘加载到内存,并进行一系列校验解析的过程. 核心: .class文件>类对象; 硬盘>内存. 类加载过程 在整个JVM的执行流程中,和程序员关系最密切的就是类加载的过程了,所以我们来看一下类加载的执行流程. 对于一个类…...

青少年CTF擂台挑战赛 2024 #Round 1 Web方向题解 WP 全

EasyMD5 题目描述&#xff1a;php没有难题 考点总结&#xff1a;脑洞题目&#xff0c;不如我出&#xff08;狗头 只允许两个都上传pdf文件。 文件还不能太大了。burp多次发包发现要求两个pdf内容不一样 不一样时候&#xff0c;提示我们MD5碰撞。 科学计数法绕过 PHP的后门 …...

一文认识蓝牙(验证基于Aduino IDE的ESP32)

1、简介 蓝牙技术是一种无线通信的方式&#xff0c;利用特定频率的波段&#xff08;2.4GHz-2.485GHz左右&#xff09;&#xff0c;进行电磁波传输&#xff0c;总共有83.5MHz的带宽资源。 1.1、背景 蓝牙&#xff08;Bluetooth&#xff09;一词取自于十世纪丹麦国王哈拉尔Haral…...

2W字-35页PDF谈谈自己对QT某些知识点的理解

2W字-35页PDF谈谈自己对QT某些知识点的理解 前言与总结总体知识点的概况一些笔记的概况笔记阅读清单 前言与总结 最近&#xff0c;也在对自己以前做的项目做一个知识点的梳理&#xff0c;发现可能自己以前更多的是用某个控件&#xff0c;以及看官方手册&#xff0c;但是没有更…...

Docker知识点总结

二、Docker基本命令&#xff1a; Docker支持CentOs 6 及以后的版本; CentOs7系统可以直接通过yum进行安装&#xff0c;安装前可以 1、查看一下系统是否已经安装了Docker: yum list installed | grep docker 2、安装docker&#xff1a; yum install docker -y -y 表示自动确认…...

Redis 消息队列:构建消息代理的 4 个简单步骤

消息代理是一种使系统、应用程序和服务能够通信和交换信息的软件。它在正式消息传递协议之间转换消息,并允许相互依赖的服务直接“对话”,即使是用不同语言编写或在不同平台上实现也是如此。在微服务中使用异步通信时,通常会使用消息代理。 消息代理可确保可靠且稳定的通信,…...

kafka三节点集群平滑升级过程指导

一、前言 Apache Kafka作为常用的开源分布式流媒体平台&#xff0c;可以实时发布、订阅、存储和处理数据流,多用于作为消息队列获取实时数据&#xff0c;构建对数据流的变化进行实时反应的应用程序&#xff0c;已被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型…...

Golang 简介与基本语法学习

Go&#xff0c;也被称为 Golang&#xff0c;是一门由 Google 设计的开源编程语言。它旨在提供高效的开发体验&#xff0c;同时具备并发性、内存安全和简洁性。本篇博客将介绍 Golang 的基本语法和一些示例&#xff0c;帮助读者快速入门这门令人着迷的语言。 简介 Go 语言的设…...

深入理解网络通信基本原理和tcp/ip协议

深入理解网络通信基本原理和tcp/ip协议 一、计算机网络体系1&#xff0c;计算机网络体系结构2&#xff0c;网络中数据传输2.1&#xff0c;浏览器中输入一个url的执行流程2.2&#xff0c;数据在网络中是的传输流程 3&#xff0c;三次握手和四次挥手3.1&#xff0c;三次握手3.1.1…...

Jetson系统烧录环境搭建

一 序言 Jetson 系列产品烧录系统的方法一般有两种&#xff0c;一种为使用 NVIDIA 官方提供 的 SDK manager 软件给 Jetson 设备烧录系统&#xff08;请查看说明文档《Jetson 产品使用 SDKmanager 烧录系统》&#xff09;。另一种即为当前文档所描述的&#xff0c;在安装 Ubun…...

【MySQL】:约束全解析

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 约束概述二. 约束演示三. 外键约束3.1 介绍3.2 语法3.3 删除/更新行为 &…...

设计一基于Text generation web UI的语言模型部署与远程访问的方案​

前言 Text generation web UI可为类ChatGPT的大型语言模型提供能够快速上手的网页界面&#xff0c;不仅可以提高使用效率&#xff0c;还可满足私有化部署&#xff0c;或对模型进行自定义。目前&#xff0c;该Web UI已经支持了许多流行的语言模型&#xff0c;包括LLaMA、llama.…...

大数据概述

学习大数据有什么用&#xff1f; 2010年&#xff1a;大数据技术体系开始在国内火热 2015年&#xff1a;国务院印发《促进大数据发展行动纲要》 2016年&#xff1a;发改委发布关于组织实施促进大数据发展重大工程的通知 2017年&#xff1a;工信部印发大数据产业规划(2016-20…...

Muduo库编译学习(1)

1.muduo库简介 muduo是由Google大佬陈硕开发&#xff0c;是一个基于非阻塞IO和事件驱动的现代C网络库&#xff0c;原生支持one loop per thread这种IO模型&#xff0c;该库只支持Linux系统&#xff0c;网上大佬对其褒贬不一&#xff0c;作为小白用来学习就无可厚非了。 git仓库…...

【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug

文章目录 前言 State断点 Transition断点 条件断点 按State步进 Watch Data Value Sequence Viewer 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑…...

ZYNQ--MIG核配置

文章目录 MIG核配置界面多通道AXI读写DDR3MIG核配置界面 Clock Period: DDR3 芯片运行时钟周期,这个参数的范围和 FPGA 的芯片类型以及具体类型的速度等级有关。本实验选择 1250ps,对应 800M,这是本次实验所采用芯片可选的最大频率。注意这个时钟是 MIG IP 核产生,并输出给…...

MySQL 多表查询 连接查询 内连接

介绍 内连接查询是两张表中交集的部分 连接模式 隐式内连接 SELECT 字段列表 FROM 表1,表2 WHERE 条件显式内连接 SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 连接条件案例 有两张表一个表为学生表&#xff0c;另一个表为班级表&#xff0c;现在需要查询学生时候在查…...

T - SQL使用事务 及 在Winform使用事务

事务适用场景 1 事务使用在存储过程中&#xff0c;直接在数据库中进行编写 2 事务使用在Winfrom项目中 SQl&#xff1a;使用事务转账操作的实例 一般都会找一个变量记录错误的个数&#xff0c;error记录上一句sql的错误和错误编号 declare errornum int 0 -- 定义…...

string(三)--实现

大家看了这么久的string了&#xff0c;可能对string的简单实现有兴趣&#xff0c;所以我实现了一个string类的常用接口&#xff0c;大家可以自行查看&#xff1a; 我是分多文件写的&#xff1a; string.h: #pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include <ios…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...