GPU云服务器------2秒文生图

news2024/12/23 8:14:57

GPU云服务器------2秒文生图

  • GPU云服务器
  • AIGC来也
    • 开通GPU服务
    • 配置安全组规则
    • 远程连接GPU云服务器
    • 配置nginx用户
    • 文生图
    • 开启AiaccTorch
    • 禁用AiaccTorch
    • 切换模型
    • 使用LoRA插件
    • 使用Controlnet插件
  • 服务器监控
  • 实例释放

好消息!好消息!阿里云服务器ECS推出了GPU云服务器,那么什么是GPU云服务器呢?

GPU云服务器

首先说一下什么是GPU云服务器?GPU云服务器是提供 GPU 算力的弹性计算服务,具有超强的计算能力,服务于深度学习、科学计算、图形可视化、视频处理多种应用场景。基于AIGC,GPU可以帮助更多企业快速搭建对话大模型服务、AI绘画功能、AI对话机器人等更多AIGC方案。
可以说,你对AIGC好奇吗?你对AIGC感兴趣吗?你想感受一下AIGC的魅力吗?欢迎您来开通GPU云服务器,助力您的AIGC不是梦。

AIGC来也

本文是基于GPU云服务器,利用AiaccTorch加速,实现搭建Stable Diffusion的WebUI框架2秒内文本生成图片的操作,下面开始上手实践吧。

开通GPU服务

在上手搭建Stable Diffusion的WebUI框架之前,我们首先需要开通GPU服务,GPU云服务器开通服务地址:AIGC入口,由于本次操作需要的是16核60G + 1张A10 24G显存(gn7i-c16g1.4xlarge)型号的GPU实例,这里我直接提供当前实例的开通地址:立即开通,点击【立即开通】进入GPU实例开通页面
在这里插入图片描述
其中【付费类型】和【地域】默认的即可,考虑到我们实验操作必须要gn7i-c16g1.4xlarge型号的GPU实例,那么我们把需要的型号放在【实例】搜索条件上
在这里插入图片描述
这时可以看到我们需要的实例型号只能在【可用区J】和【可用区K】中有,切换上方可用区
在这里插入图片描述
提示没有【交换机】,那么我们在按照提示创建交换机
在这里插入图片描述
其中输入交换机名称,选择好ip地址点击【确定创建】,创建成功后如图
在这里插入图片描述
第一个就是我们刚才创建成功的交换机,继续回到GPU实例开通页面
在这里插入图片描述
继续向下操作,选择【云市场镜像】,
在这里插入图片描述
点击【从云市场获取更多…】在弹框页面中输入 ai-inference-solution 搜索
在这里插入图片描述
点击【使用】然后继续向下配置【公网IP】,带宽峰值设置为10 Mbps
在这里插入图片描述
然后配置服务器密钥对
在这里插入图片描述
完成以后点击右侧【确认下单】
在这里插入图片描述
这里需要注意的是,由于开通了按量计费,因此在点击【确认下单】后如果账户低于100需要充值,具体的充值操作按跳转的去操作即可。
在这里插入图片描述
这里需要注意的是,整个开通GPU服务的操作并不是很流畅,官方文档中并没有详细的说明,对于开通中缺少的【交换机】信息,大家可以参考我操作步骤中的相关内容。

配置安全组规则

首先需要为GPU服务器添加安全组规则,找到安全组规则列表,补充如下安全组规则
在这里插入图片描述

远程连接GPU云服务器

登录GPU云服务器控制台:https://ecs.console.aliyun.com/home,可以看到我们已经创建好的实例
在这里插入图片描述
点击实例名称进入实例详情,点击【远程连接】打开远程连接页面
在这里插入图片描述
点击【立即登录】跳转到服务器操作页面,输入服务器密码root
在这里插入图片描述
提示登录失败,回到实例详情页点击【重置实例密码】输入新的密码
在这里插入图片描述
点击【保存密码】然后选择立即重启GPU云服务器。再次输入密码成功进入服务器操作界面
在这里插入图片描述

配置nginx用户

镜像预装了nginx,我们需要配置用户名密码

htpasswd -bc /etc/nginx/password ${UserName} '${Password}'

重启nginx并查看nginx状态

# 重启

systemctl restart nginx

# 查看状态

systemctl status nginx

# 开机自启动

systemctl enable nginx

nginx操作结果如图
在这里插入图片描述

文生图

完成了以上的配置之后,我们就可以体验文生图了。在进行文生图之前,我们首先需要启动WebUI服务

cd ~/stable-diffusion-webui/

nohup ./run_taiyi.sh &

等待WebUI服务启动成功之后我们去浏览器进行验证
在这里插入图片描述

开启AiaccTorch

默认是开启AiaccTorch的,打开页面输入【铁马冰河入梦来,概念画,科幻,玄幻,3】单击生成/Generate 生成图片
在这里插入图片描述
返回执行日志数据内容

铁马冰河入梦来,概念画,科幻,玄幻,3

Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2207305383, Size: 512x512, Model hash: 70a38ac1c4, Model: Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1, Version: v1.3.0-5-g43a52351


Time taken: 0.88sTorch active/reserved: 915/1470 MiB, Sys VRAM: 9639/22564 MiB (42.72%)

可以看到整个图片生成耗时0.88s相比之前搭建的AIGC文生图,速度已经提升了几十倍。下面我们再看一下不启动AiaccTorch加速的文生图的效果。

禁用AiaccTorch

单击设置/Settings页签,左侧导航选择AiaccTorch,取消选中Apply Aiacctorch in Unet to speedup the whole network inference when loading models后(取消2的选择),单击应用设置/Apply settings,再单击重新加载WebUI/Reload UI,
在这里插入图片描述
再次输入文本【铁马冰河入梦来,概念画,科幻,玄幻,3】单击生成/Generate 生成图片
在这里插入图片描述
这个时候我们可以很客观的感受到文生图变慢了,耗时10.16s。

切换模型

切换模型输入内容测试图片生成效果,同时开启AiaccTorch,输入提示词

1个女孩,绿眼,棒球帽,金色头发,闭嘴,帽子,看向阅图者,短发,简单背景,单人,上半身,T恤

反向提示词

水彩,漫画,扫描件,简朴的画作,动画截图,3D,像素风,原画,草图,手绘,铅笔

生成结果如图
在这里插入图片描述
耗时3.34s
在这里插入图片描述

使用LoRA插件

LoRA是Stable Diffusion模型的一种插件,它允许在不修改Stable Diffusion模型的情况下,使用少量数据训练出一种画风、IP或人物,以实现定制化需求。相较于训练Stable Diffusion,使用LoRA所需的训练资源更少,非常适合社区用户和个人开发者使用。
在提示词文本后加入lora:iuV35.uv1P:1,生成图片
在这里插入图片描述
耗时2.06s
在这里插入图片描述

使用Controlnet插件

ControlNet是一个用于控制AI图像生成的插件,它可以利用输入图片中的边缘特征、深度特征或人体姿势的骨架特征,与文字提示一起精准地控制AI图像的生成,以获得更好的视觉效果。
Canny是ControlNet中一个常见的模型,用于识别输入图像的边缘信息,从上传的图片中生成线稿,然后根据关键词生成与上传图片相似构图的画面。
单击ControlNet v1.1.222右侧箭头,如下选择
在这里插入图片描述
输入刚才生成的图片,点击生成图片
在这里插入图片描述
耗时8.42s
在这里插入图片描述
到这里整个文生图的操作从部署到文生图就全部完成了,可以说开启AiaccTorch推理加速之后,整个文生图的生成效率提高了很多倍,生成的效果图也更接近理想效果。

服务器监控

在文生图的过程中,个人也是比较关注GPU服务器的情况,毕竟文生图对于服务器算力的要求比较高,我们先来看一下GPU云服务器的监控数据
在这里插入图片描述
可以看到在整个文生图的过程中,CPU、内存、系统负载等都没有压力,足以支撑眼下比较火热的AIGC业务服务。另外也可以创建报警规则,比如设置CPU使用了达到一定阈值就自动给设置好的联系人发送预警消息等,具体的创建报警规则页面如图
在这里插入图片描述
当然,如果想要查看更详细的服务器信息,也可以点击【查看更多指标】跳转到云监控控制台
在这里插入图片描述
在云监控【操作系统监控】我们可以看到在文生图期间GPU服务器的CPU使用率、内存、系统平均负载等的详细数据,可以更好的评估当前服务器对文生图能力的抗压情况
在这里插入图片描述
磁盘使用情况
在这里插入图片描述
我们在看一下GPU的使用情况,可以说GPU的使用率在经历了加速的文生图之后也仅仅只是使用了0.25%,可以说GPU云服务器是专门为AIGC服务,为文生图提供超强的计算能力
在这里插入图片描述

实例释放

在完成了整个过程的实验之后,如果你的实例不再使用,建议及时释放,以免按量付费对您造成不必要的的开支,点击GPU云服务器列表右侧 【更多】输入搜索关键词【释放】
在这里插入图片描述
选择【释放设置】,在弹出的页面可以选择立即释放,也可以选择定时释放,
在这里插入图片描述
释放完成后云服务器实例列表便没有对应的服务器了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1931809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSH讲解(重点:CentOS7)

第一章:SSH服务 1.1 SSH是什么? SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令…

DP(5) | 完全背包 | Java | 卡码52, LeetCode 518, 377, 70 做题总结

完全背包 感觉越写越糊涂了&#xff0c;初始化怎么做的&#xff1f;递推公式怎么来的&#xff1f; 状态变量 初始化 f[0][0] 0代码 这里的 f[i][j] f[i][j-w[i]]&#xff0c;就是和0-1背包最大的不同 for(int i1; i<n; i) { //物品ifor(int j1; j<m; j) {if(j<w[…

Kotlin中Unit、Any和Nothing

Unit Unit是一个特殊的类型&#xff0c;它表示“没有意义的值”的单元类型。在Kotlin中&#xff0c;当你不需要函数返回任何具体值时&#xff0c;可以使用Unit类型。 和Java 中 void一样。 Any 所有非空类的父类 Any?所有类的父类 类似Java中Object Nothing 表示一个函数或…

python的日期和时间

时间与日期 基础知识&#xff08;python的时间表示方法&#xff09; 时间戳 时间戳是一个用于表示特定时间点的方式&#xff0c;它表示自1970年1月1日00:00:00 UTC&#xff08;协调世界时&#xff09;以来经过的秒数。时间戳通常用于编程中&#xff0c;因为它提供了一种简单的方…

运维-Docker-黑马

运维-Docker-黑马 编辑时间&#xff1a;2024/7/15 来源&#xff1a;黑马程序员 docker&#xff1a;快速构建&#xff0c;运行&#xff0c;管理应用的工具 Docker安装 部署mysql 命令解读

【JavaScript 算法】贪心算法:局部最优解的构建

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、贪心算法的基本概念贪心算法的适用场景 二、经典问题及其 JavaScript 实现1. 零钱兑换问题2. 活动选择问题3. 分配问题 三、贪心算法的应用四、总结 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种逐步构建解…

ReAct 大模型提示框架

你可能不熟悉 ReAct&#xff0c;这是一个旨在增强语言模型 (LLM) 决策能力的尖端框架。 通过使用新的观察结果更新 LLM 的上下文窗口并提示其重新评估信息&#xff0c;ReAct 促进了类似于人类思维过程的推理水平&#xff0c;超越了诸如思维链提示之类的旧技术。 在本文中&…

RocketMQ~架构与工作流程了解

简介 RocketMQ 具有高性能、高可靠、高实时、分布式 的特点。它是一个采用 Java 语言开发的分布式的消息系统&#xff0c;由阿里巴巴团队开发&#xff0c;在 2016 年底贡献给 Apache&#xff0c;成为了 Apache 的一个顶级项目。 在阿里内部&#xff0c;RocketMQ 很好地服务了集…

C++笔试强训4

文章目录 一、选择题1-5题6-10题 二、编程题题目一题目二 一、选择题 1-5题 %o就是输出八进制的无符号数&#xff0c;0123&#xff0c;&#xff0c;以0开头&#xff0c;本来就是八进制&#xff0c;所以输出为123&#xff0c;123是十进制&#xff0c;转化为八进制就是173. 故选…

Python实现基于http通信的protobuf数据传输的案例,包括请求者和接收者

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

tensorflow1基础函数学习

学习准备&#xff1a; 所需的库&#xff1a; tensorflow 1.12.0 numpy 1.19.5基本初始化函数 1.1 理解张量 tensor&#xff1a; 多维数组&#xff08;列表&#xff09;&#xff0c; 阶&#xff1a;张量的维数 维数名字栗子0标量s 1, 2, 31向量v [1, 2, 3]2矩阵m [[1, …

uniapp 微信默认地图选点功能实现

效果图 配置项 微信公众平台-小程序配置 uniapp配置 上代码 <template><view class"content"><button click"toMap">请选择位置</button></view> </template><script setup lang"ts">function toMa…

Qt Style Sheets-使用样式表自定义 Qt 部件

使用样式表自定义 Qt 部件 在使用样式表时&#xff0c;每个小部件都被视为具有四个同心矩形的框&#xff1a;边距矩形、边框矩形、填充矩形和内容矩形。框模型对此进行了更详细的描述。 盒模型 以下是四个同心矩形在概念上的呈现方式&#xff1a; 边距超出边框。边框绘制在边…

【源码剖析】ThreadLocal 源码剖析

源码类注释 /*** This class provides thread-local variables. These variables differ from* their normal counterparts in that each thread that accesses one (via its* {code get} or {code set} method) has its own, independently initialized* copy of the variab…

鼠标录制工具怎么挑选?9款电脑鼠标录制工具分享(2024)

你知道鼠标录制工具吗&#xff1f;鼠标录制工具通过记录和回放用户的操作&#xff0c;帮助自动化重复性任务&#xff0c;提高工作效率和精确性。它可以帮助用户简化很多繁琐的操作步骤&#xff0c;非常适合运用在电脑自动化任务、游戏自动化中&#xff0c;给大家整理了2024年9款…

使用assembly插件来将外部文件夹打进jar包

目录&#xff1a; 1、pom文件的配置2、新建assembly的描述文件3、maven打包 1、pom文件的配置 <!--maven构建--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</ar…

代理模式(静态代理,动态代理,cglib代理)

文章目录 代理模式代理模式的角色静态代理案例代码抽象父类接口目标对象代理对象客户端使用输出结果 动态代理案例代码抽象父类与实现类代理工厂客户端 cglib代理引入依赖目标对象代理工厂客户端 代理模式 代理模式属于结构型的模式&#xff0c;通过代理对象来访问目标对象&am…

malloc底层实现

xv6实现的动态内存分配虽然只有不到100行代码&#xff0c;但却体现了动态内存分配的精髓&#xff0c;非常值得学习 xv6的内存布局 一谈到C语言的动态内存分配&#xff0c;就会想到堆以及malloc()和free()这两个函数。先来回顾一下XV6中的内存布局是怎样的&#xff0c;我们动态…

FPGA实训报告DAY 1(Verilog HDL)

实习日志与总结 日期&#xff1a;2024 年 7 月 10 日 星期三 姓名&#xff1a;XXX 一、实习日志 上午 9:00 - 9:30 按时到达工位&#xff0c;参加部门早会&#xff0c;了解了今天的实习任务和目标&#xff0c;即初步学习 FPGA 简介和 Verilog 基础语法知识。 9:30 - 10:30…