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

autodl+modelscope推理stable-diffusion-3.5-large

本篇介绍如何在服务器上实现SD3.5模型的加载及推理,不包含训练及微调。

磁盘扩容

autodl服务器在关机状态下,进行扩容:
在这里插入图片描述

选择要扩容的大小(比如我这里已经扩了80G,默认有50G免费的),就会有一个计费出来:
在这里插入图片描述
扩容完成后配置开机就会自动生效,类似地也可以选择“升级配置”扩卡(如果有需要的话)。

下载模型

下载模型这里,折腾了挺久,还是选择国内源最便捷。魔塔社区有点像HF的意思。
可以使用SDK,或者git clone,也可以选择使用modelscope命令下载(建议用1、3方式下载,可以断点续传)

# 安装modelscope
pip install modelscope

# 下载repo到指定路径
modelscope download --model AI-ModelScope/stable-diffusion-3.5-large --local_dir ./stable-diffusion-3.5-large

默认下载到系统盘路径/root/.cache/modelscope/hub/AI-ModelScope/stable-diffusion-3.5-large,这里需要指定到数据盘路径(虽然它的日志给出了误导人的提示)。

开始推理

使用离线模型文件,修改后的推理脚本:

import torch
from diffusers import StableDiffusion3Pipeline

model_path = "stable-diffusion-3.5-large"
pipe = StableDiffusion3Pipeline.from_pretrained(
    model_path, torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()

image = pipe(
    prompt="a photo of a cat holding a sign that says hello world",
    negative_prompt="",
    num_inference_steps=40,
    height=1024,
    width=1024,
    guidance_scale=4.5,
).images[0]

image.save("sd3_hello_world-1.png")

有一个问题是官方给的代码是使用pipe.to("cuda")全让GPU干了,但是实测下来一块4090依然扛不住,所以改为代码里的pipe.enable_model_cpu_offload()让CPU也一起来分担。这样就可以完美完成推理。

系统监控(非必须)

安装监控所需要的包:

apt install net-tools
apt install vnstat
apt install sysstat

sar -n DEV 5 10:每5s执行一次,一共执行十次

root@autodl-container-da9843af01-9a6b176e:~/autodl-tmp/stable-diffusion-3.5-large# sar -n DEV 5 10
Linux 5.15.0-94-generic (autodl-container-da9843af01-9a6b176e) 	11/12/24 	_x86_64_  (192 CPU)

06:43:45        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
06:43:50           lo      0.80      0.80      0.07      0.07      0.00      0.00      0.00      0.00
06:43:50         eth0  13095.20   5037.80  24062.36    443.36      0.00      0.00      0.00      1.97

06:43:50        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
06:43:55           lo      0.40      0.40      0.13      0.13      0.00      0.00      0.00      0.00
06:43:55         eth0  13445.51   4715.57  24038.59    419.16      0.00      0.00      0.00      1.97

我这里只是想测一下实际下载过程中的网络情况。
当然autodl也提供了监控选项:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拓展资料:modelscope 的使用手册


http://www.kler.cn/a/394914.html

相关文章:

  • Confluent Cloud Kafka 可观测性最佳实践
  • Git远程仓库的多人协作
  • 《Vue3实战教程》5:响应式基础
  • OpenResty开发环境搭建
  • 基于Spring Boot的九州美食城商户一体化系统
  • 浅谈算法交易
  • Sql server查询数据库表的数量
  • Linux入门攻坚——37、Linux防火墙-iptables-3
  • 陈列oracle的错误信息列表
  • 微服务架构面试内容整理-安全性-Spring Security
  • Koa进阶:掌握中间件和参数校验的艺术
  • RestFul URL
  • gitlab-development-kit部署gitlab《二》
  • 期权懂|请问如何用期权进行风险管理?
  • RabbitMQ 全面解析:语法与其他消息中间件的对比分析
  • Python 编程入门指南(一)
  • GitHub Org
  • 图形 2.7 LDR与HDR
  • css文字间距撑满横向距离
  • 力扣513:找树左下角的值
  • A030-基于Spring boot的公司资产网站设计与实现
  • 单片机和FPGA有什么区别?
  • PCL 点云分割 Ransac分割3D球体
  • ubuntu更改max_map_count
  • jmeter常用配置元件介绍总结之定时器
  • 基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解