丹摩智算(damodel)部署stable diffusion实验

名词解释:

西云算力

丹摩智算(damodel):是一款带有RTX4090,Tesla-P40等显卡的公有云服务器。

stable diffusion:是一个大模型,可支持文生图,图生图,文生视频等功能

一.实验目标

注册丹摩智算(damodel) 账户,创建带有显卡(Tesla-P40)的公有云服务器,系统为:ubuntu22.04_tensorflow2.1,通过ssh协议连接到公有云服务器,在该服务器上安装stable diffusion,适配成功后,通过浏览器访问stable diffusion后,实现文生图的功能

二.实验环境准备

1.公有云:丹摩智算(damodel)

2.系统:ubuntu22.04_tensorflow2.1

3.显卡:Tesla-P40 

4.ssh连接工具:finalshell

5.stable diffusion:Stable Diffusion web UI

三.实验步骤

1.丹摩智算(damodel) 账户 注册

2.创建带显卡的公有云服务器。显卡:Tesla-P40  系统:ubuntu22.04_tensorflow2.1

3.ssh连接工具finalshell下载安装

4.通过ssh协议连接后,在ubuntu22.04_tensorflow2.1公有云上部署stable diffusion

5.Stable Diffusion web UI部署成功后,通过浏览器访问

6.在Stable Diffusion web UI页面上,输入关键词,生成图片

四.实验过程

注意事项:

由于需要下载模型,模型50g大小,所以磁盘一定要在创建实例的时候一次性创建够用。例如:200g系统盘,300g数据盘。

1.丹摩智算(damodel) 账户 注册

 浏览器登录地址:https://www.damodel.com/home

注册成功后进入页面 

点击创建实例

  

2.创建带显卡的公有云服务器。显卡:Tesla-P40  系统:ubuntu22.04_tensorflow2.1

 选择显卡型号,操作系统和默认支持框架,并选择使用优惠券和付费方式

创建成功后 

3.ssh连接工具finalshell下载安装

下载地址:FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.5.6,更新日期2024.8.27 - FinalShell官网

弹出来

 

安装成功后, 丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩! 找到实例登录的用户名和密码(访问链接和密码分别复制获取)

输入实例 ip和用户名,密码 

登录成功后

4.Stable Diffusion web UI下载与部署

注意事项:由于github访问慢的原因,所以本文会用离线下载后上传安装Python组件的方式和修改github地址为gitee两种方式来解决。gitee库已放在文章中,过程vim 修改utils文件,请仔细修改,耐心操作

地址:GitCode - 全球开发者的开源社区,开源代码托管平台

  1. 安装依赖项:
# 更新库
sudo apt update
# 基于Debian的:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0

 

中间输入y 

sudo apt install --no-install-recommends google-perftools

 

  1. 转至期望安装webui的目录,执行以下命令:
mkdir /opt/software
cd /opt/software
git clone https://gitcode.com/gh_mirrors/st/stable-diffusion-webui.git

或者在本地下载之后上传

创建用户,设置密码

root@crm1uavhri0c73fveip0-arhmb:/opt/software# useradd diffusion
root@crm1uavhri0c73fveip0-arhmb:/opt/software# passwd diffusion
输入密码:123456

  1. 运行webui.sh
    bash webui.sh -f 

  2. 这里遇到一个问题,执行到上面下载步骤,有2G大小的文件需要下载,但是网速只有200k,需要两个小时才能下载成功。需要耐心等待。
  3. 查看webui-user.sh以获取选项。

 创建目录:/opt/software/stable-diffusion-webui/

mkdir /opt/software/stable-diffusion-webui/

修改文件,去掉root登录限制

sudo apt install python3-pip

手动下载whl文件后,上传到服务器,然后安装

下载地址:https://download.pytorch.org/whl/cu121/torch-2.1.2%2Bcu121-cp310-cp310-linux_x86

 pip install torch-2.1.2+cu121-cp310-cp310-linux_x86_64.whl

 

下载clip并安装

下载地址:

https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip

用sheel工具上传

下载后安装:

python3  -m pip install CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary

’ 

安装bc计算工具

 apt-get install bc

/opt/software/stable-diffusion-webui/venv/bin/python -m pip install /opt/package/CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary

下载安装openc_clip

地址:https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip

下载后上传 

安装:

/opt/software/stable-diffusion-webui/venv/bin/python -m pip install /opt/package/open_clip-bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip --prefer-binary

 python  -m pip install open_clip_torchpython3  -m pip install open_clip_torch

安装

修改文件/opt/software/stable-diffusion-webui/modules/launch_utils.py,

vim 找到198行,替换stable-diffusion-webui-assets.git的github地址为gitee 


mkdir -p /opt/software/stable-diffusion-webui/repositories
cd /opt/software/stable-diffusion-webui/repositories/
git clone https://gitee.com/akavir/stable-diffusion-webui-assets.git

xsinbegin/stable-diffusion-stability-ai

修改stable-diffusion-stability-ai 地址为gitee.

修改stablediffusion地址为gitee

vim /opt/software/stable-diffusion-webui/modules/launch_utils.py

https://gitee.com/akavir/stablediffusion.git

修改generative-models: from https://github.com/Stability-AI/generative-models.git 

https://gitee.com/llf/Stability-AI-generative-models.git

更改k-diffusion库

 vim /opt/software/stable-diffusion-webui/modules/launch_utils.py

找到该行

用下面的链接替换 

https://gitee.com/dinglinhe/k-diffusion.git

替换blip

 地址为:

https://gitee.com/dinglinhe/BLIP.git

安装xfromer

pip install xformers

执行 部署脚本

bash /opt/software/stable-diffusion-webui/webui.sh -f

注:本文未安装模型,在安装模型前需要扩展硬盘 

5.Stable Diffusion web UI部署成功后,通过浏览器访问

http://127.0.0.1:7860

注:本文由于模型下载的缘故,暂未成功,后续补充

6.在Stable Diffusion web UI页面上,输入关键词,生成图片

需要等待模型下载成功后,继续实验

五.演示效果:

模型下载成功后演示

六.注意事项

1.丹摩智算(damodel)平台优惠券只有50元,创建成功实例后,由于是按时间进行算费,需要注意使用时效的问题

2.ERROR: This script must not be launched as root, aborting...

错误解决:

方法一. 运行 bash webui.sh如果是root用户,需要注释掉webui.sh中关于root权限的判断。

创建用户

方法二:或者:bash webui.sh -f 

 3.必须先执行sudo apt update 更新库,再安装依赖环境,否则会报错

4.ERROR: Cannot activate python venv, aborting...

5.

Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage)

 

七.附录

官网手册:

🔥 丹摩迎新季|5折GPU,开学季大放价 | 帮助文档 - DAMODEL

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

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

相关文章

MODELS 2024震撼续章:科技与可持续性的未来交响曲

MODELS 2024国际会议正如火如荼地进行着,每一天都充满了新的发现与启迪,每一场分享都是对技术前沿的一次深刻探索,更是对现实世界可持续性挑战的一次积极回应。现在让我们继续这场科技盛宴,看看小编为您精选几场的学术分享吧~ 会议…

地质工程专业职称申报条件详细解读

一、初级(助理)地质工程工程师评审条件: 1、理工类或者地质工程类专业毕业 2、专科毕业满3年或本科毕业满1年 3、研究生毕业,从事本专业技术工作,当年内考核认定 二、中级地质工程工程师评审条件: 1、理工…

大数据 flink 01 | 从零环境搭建 简单Demo 运行

什么是Flink Flink是一个开源的流处理和批处理框架,它能够处理无界和有界的数据流,具有高吞吐量、低延迟和容错性等特点 Flink 可以应用于多个领域如:实时数据处理、数据分析、机器学习、事件驱动等。 什么是流式处理?什么是批处理 流处理…

xQTLs 共定位分析(XQTLbiolinks包)

XQTL 共定位分析 XQTLbiolinks 是一个端到端的生物信息学工具,由深圳湾实验室李磊研究团队开发,用于高效地分析公共或用户定制的个xQTLs数据。该软件提供了一个通过与 xQTLs 共定位分析进行疾病靶基因发现的流程,以检测易感基因和致病变异。…

【STM32】RTT-Studio中HAL库开发教程七:IIC通信--EEPROM存储器FM24C04

文章目录 一、简介二、模拟IIC时序三、读写流程四、完整代码五、测试验证 一、简介 FM24C04D,4K串行EEPROM:内部32页,每个16字节,4K需要一个11位的数据字地址进行随机字寻址。FM24C04D提供4096位串行电可擦除和可编程只读存储器&a…

2.1 HuggingFists系统架构(一)

系统架构 HuggingFists的前端主体开发语言为HtmlJavascript,后端的主体开发语言为Java。在算子部分有一定份额的Python代码,用于整合Python在数据处理方面强大能力。 功能架构 HuggingFists的功能架构如上,由下向上各层为: 数据存…

从文本图片到多模态:3D 数字人打开企业全域商业增长新空间

摘要:数字化与AI浪潮推动各行业变革,内容形式也发生巨变,从文本到多媒体的多模态表达,标志着内容创造走向升维。AIGC 3D生成技术的突飞猛进,彻底打破了传统3D内容生产门槛高、周期长、成本高昂的问题。将3D数字人的打造…

若依 Vue3 前端分离 3.8.8 版实现去除首页,登录后跳转至动态路由的第一个路由的页面

一、前言 某些项目可能并不需要首页,但在若依中想要实现不显示首页,并根据不同角色登录后跳转至该角色的第一个动态路由的页面需要自己实现,若依中没有实现该功能的特定代码。 二、代码 1. src\permission.js 在 src\permission.js 中添加…

VSCode编程配置再次总结

VScode 中C++编程再次总结 0.简介 1.配置总结 1.1 launch jsion文件 launch.json文件主要用于运行和调试的配置,具有程序启动调试功能。launch.json文件会启用tasks.json的任务,并能实现调试功能。 左侧任务栏的第四个选项运行和调试,点击创建launch.json {"conf…

探索 ShellGPT:终端中的 AI 助手

文章目录 探索 ShellGPT:终端中的 AI 助手背景介绍ShellGPT 是什么?如何安装 ShellGPT?简单的库函数使用方法场景应用常见问题及解决方案总结 探索 ShellGPT:终端中的 AI 助手 背景介绍 在当今快速发展的技术领域,命…

查询最近正在执行的sql(DM8 : 达梦数据库)

查询最近正在执行的sql DM8 : 达梦数据库 1 查询最近正在执行的sql2 更多达梦数据库学习使用列表 1 查询最近正在执行的sql 迁移数据时 , 业务无响应 , 查看最近活动的sql , 有没有迁移相关的表 , 通过最后的时间字段 , 判断会话是否正在执行 SELECT SESS_ID, SQL_TEXT, STATE…

redis哨兵启动出现 +sdown master mymaster 192.168.x.x

场景: 搭建好哨兵之后,哨兵一启动,过了30秒就会判断master sdown,但是检查配置是没有问题。 日志: Redis-master启动日志:没看到任何异常,所以master无异常 Redis-哨兵启动日志: …

(已解决)vscode如何传入argparse参数来调试/运行python程序

文章目录 前言调试传入参数运行传入参数延申 前言 以前,我都是用Pycharm专业版的,由于其好像在外网的时候,不能够通过VPN来连接内网服务器,我就改用了vscode。改用了之后,遇到一个问题,调试或者运行python…

QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库

1.出现这个错误的原因是: 缺少如下文件: 2.解决方法: 在运行程序.exe所在的目录执行:windeployqt untitled.exe(指打包的运行程序) 3.如果执行提示由于找不到qt5core.dll,无法继续执行代码和无法识别win…

pgvector docker版安装;稀疏向量使用;psycopg2 python连接使用

参看: https://cloud.tencent.com/developer/article/2359831 https://hub.docker.com/r/pgvector/pgvector/tags https://github.com/pgvector/pgvector 一、安装 拉取0.7版本 docker pull pgvector/pgvector:0.7.4-pg16运行: docker run --name pgvector -v $(pwd)/dat…

linux StarRocks 安装

一、检查服务器是否支持avx2,如果执行命令显示空,则不支持,那么安装后无法启动BE cat /proc/cpuinfo |grep avx2我的支持显示如下: 二、安装 docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -p 9001:9000 --privilegedtrue…

随机掉落的项目足迹:Vue3 + wangEditor5富文本编辑器——toolbar.getConfig() 查看工具栏的默认配置

问题引入 小提示:问题引入是一个讲故事的废话环节,各位小伙伴可以直接跳到第二大点:问题解决 我的项目不需要在富文本编辑器中引入添加代码块的功能,于是我寻思在工具栏上把操作代码的菜单删一删 于是我来到官网文档工具栏配置 …

MyBatis 深层次 Map 自动嵌套:解锁数据映射新境界

在 Java 开发的征程中,MyBatis 以其强大的数据库映射功能而备受青睐。其中,深层次 Map 自动嵌套这一特性更是为开发者带来了诸多惊喜与便利。 前提:首先开启自动映射! java和mysql命名规则不一样,每次在mybatis中起别…

我的AI工具箱Tauri版-MicrosoftTTS文本转语音

本教程基于自研的AI工具箱Tauri版进行MicrosoftTTS文本转语音服务。 MicrosoftTTS文本转语音服务 是自研的AI工具箱Tauri版中的一款功能模块,专为实现高效的文本转语音操作而设计。通过集成微软TTS服务,用户可以将大量文本自动转换为自然流畅的语音文件…

9/24作业

1. 分文件编译 分什么要分文件编译? 防止主文件过大,不好修改,简化编译流程 1) 分那些文件 头文件:所有需要提前导入的库文件,函数声明 功能函数:所有功能函数的定义 主函数:main函数&…