阿里云交互式建模(DSW)的探索和踩坑

这篇具有很好参考价值的文章主要介绍了阿里云交互式建模(DSW)的探索和踩坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

自己的笔记本炼丹还是太吃力了些,风扇嘶吼有点心疼,看到阿里云出了一些免费试用的资源,想着能白嫖一下高端显卡跑一跑自制模型还挺有趣,于是有了下面的一些操作,其实没啥难度的,大胆的按文档来做基本就可以了.

在PAI-DSW中,可以为存储外挂OSS或NAS,注意,我看着oss好像也便宜于是就买了半年的,但是没想到这里不给挂载,说第一个挂载盘必须是NAS的,如果想真的白嫖那可能不想使用这些。每个容器自带500GB的临时存储空间也是够用的,但是请注意,该存储空间是临时的,所以如果关机或者容器运行出现问题,里面的数据将会丢失。这也引出了一个问题,要选择一个完整的镜像,这样就不用每次部署后都要重新配置
不过,也可以使用其他方法来解决这个问题。例如,可以保存运行中的镜像,这样可以保存镜像中的文件等,下次启动新的实例时就可以使用该镜像。
另外温馨提醒,官方虽然免费试用三个月,但是有计算时长限制,总共是5000CU_H。例如,我们选择A10型号,每小时花费6.99CU_H大约可以玩29.8天。但是请注意,不用的话最好关机(一定要记得在关机前保存数据/镜像),细水长流才是白嫖的要义。这篇水文可以说是全网最全的了,希望能帮到你.

聚焦真正有价值的事,不要耗散了自己的激情和好奇心

  • 禁止转载 原创
  • 无界AI,创作无限,以致涌现! 要是只是对ai绘画尝尝鲜,可以在这里试试

白嫖交互式建模

  • 阿里云免费试用 - 阿里云 (aliyun.com) 选择交互式建模,阿里云注册和认证什么的自己搞定
  • 跟着阿里云文档快速启动Stable Diffusion WebUI (aliyun.com) 看一遍,了解下大概使用流程,注意创建资源时选择可以抵扣的配置
  • 要是只是简单玩玩,那就用阿里云的镜像,按文档来,后面的内容不看也罢
  • 要是想玩的更自由些,那后面的内容才能帮到你

镜像选择

选择一个好用的镜像特别重要,可以说是最重要的事了,不要用官方的镜像,他们的不给保存,于是去hub.docker.com上找了些stable-diffusion-webui的镜像,可以说前几个给出的都不好用,测试下来,这些镜像为了减小体积都裁剪了重要的linux命令,对于使用交互式建模(DSW)可玩性不高,出了问题很不好定位,有几个镜像还默认使用的非root账号启动的就更难用了

# 这些镜像都没有定位工具,基础命令缺失,很难使用
registry.docker.com/universonic/stable-diffusion-webui:latest
registry.docker.com/siutin/stable-diffusion-webui-docker:latest

# 阿里云上的镜像,但无法保存,很不好用
eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/stable-diffusion-webui:1.1

# 这个镜像看着还行,命令不算完整,但够用
registry.docker.com/kestr3l/stable-diffusion-webui:1.2.2

由于镜像的选择太重要了,想着打一个好用又完整的镜像,于是把上面的镜像都尝试了,期间踩了很多坑,贸然更新里面的cuda或者nvida驱动都会导致镜像无法使用,最后使用了kestr3l的这个镜像作为基础,打包了自己觉得重要的东西整合了一个新的镜像,看了下镜像仓库里大概17G大小,放了两个常用大模型和关键的插件,也把训练包打了进去.算是一个all in one

操作过程记录

  • 找到下面这段代码,给每个github地址前边都加上ghproxy.com, 最好是设置下环境变量吧,参考下面的. 其实体验下来,容器中下载github数据挺快的,不配置也没关系,下载不动就多尝试几次.
# 原本的下载源,可以把秋叶大佬整合包里的下载源复用到这里,自己找风险很大
export GFPGAN_PACKAGE=git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379
export CLIP_PACKAGE=git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1
export OPENCLIP_PACKAGE=git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b
export STABLE_DIFFUSION_REPO=https://github.com/Stability-AI/stablediffusion.git
export TAMING_TRANSFORMERS_REPO=https://github.com/CompVis/taming-transformers.git
export K_DIFFUSION_REPO=https://github.com/crowsonkb/k-diffusion.git
export CODEFORMER_REPO=https://github.com/sczhou/CodeFormer.git
export BLIP_REPO=https://github.com/salesforce/BLIP.git
  • 补充的一些自己的操作
# source venv/bin/activate
python -m venv --system-site-packages --symlinks venv
sed -i 's/can_run_as_root=0/can_run_as_root=1/g' webui.sh
wget -c https://huggingface.co/naonovn/chilloutmix_NiPrunedFp32Fix/resolve/main/chilloutmix_NiPrunedFp32Fix.safetensors -O chilloutmix_NiPrunedFp32Fix.safetensors
cd stable-diffusion-webui/repositories/CodeFormer/weights/facelib/
wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/detection_Resnet50_Final.pth && wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/parsing_parsenet.pth
cd stable-diffusion-webui/embeddings && wget -c http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/datasets/try_on/ng_deepnegative_v1_75t.pt
cd stable-diffusion-webui/models/Lora && wget -c https://huggingface.co/Kanbara/doll-likeness-series/resolve/main/koreanDollLikeness_v10.safetensors

  • 处理报错
# 报错
Could not load library libcudnn_cnn_infer.so.8. Error: libnvrtc.so: cannot open shared object file: No such file or directory
Aborted
# 解决
export LD_LIBRARY_PATH=/usr/local/lib/python3.10/dist-packages/nvidia/cudnn/lib/

# 保存镜像报错
failed to push image registry-vpc.cn-hangzhou.aliyuncs.com/aleimu123/stablediffusion-webui:v1, please try again later, failed to commit image, error: different regsitry for base images and commit image

dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/cloud-dsw/eas-service:aigc-torch113-cu117-ubuntu22.04-v0.2.1_accelerated
# 经过工单询问得知,阿里云官方提供的镜像(_accelerated)都不支持保存
  • 不要使用阿里云的pip镜像源,安装GFPGAN有问题,换成清华源即可.
vim ~/.pip/pip.conf

[global] 
index-url = https://pypi.tuna.tsinghua.edu.cn/simple 
[install] 
trusted-host = pypi.tuna.tsinghua.edu.cn
  • 常用命令和操作
# 非root镜像,用root启动
docker run -ti --entrypoint /bin/bash -u root 41c15e30f4ff

# 补全常用命令行
vim /etc/apt/sources.list
apt-get install pciutils
apt-get install cron
apt-get install iputils-ping
apt-get install net-tools
apt install vim
apt-get install systemctl

# 启动相关
cd stable-diffusion-webui && python -m venv --system-site-packages --symlinks venv
cd stable-diffusion-webui && sed -i 's/can_run_as_root=0/can_run_as_root=1/g' webui.sh 
./webui.sh 

# 安装下ossutil的命令行,方便上传东西到oss里
apt-get install p7zip-full
curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
ossutil config

# 记得最后清理下缓存,避免保存的镜像过大
apt-get clean
cd ~/.cache/pip && rm -rf *

必装插件

git clone https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
git clone https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git
git clone https://github.com/fkunn1326/openpose-editor.git
git clone https://github.com/adieyal/sd-dynamic-prompts.git
git clone https://github.com/vladmandic/sd-extension-system-info.git
git clone https://github.com/Mikubill/sd-webui-controlnet.git
git clone https://github.com/continue-revolution/sd-webui-segment-anything.git
git clone https://github.com/hako-mikan/sd-webui-supermerger.git
git clone https://github.com/VinsonLaro/stable-diffusion-webui-chinese
git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser.git
git clone https://github.com/sdbds/stable-diffusion-webui-wildcards.git

安装训练脚本

按照https://github.com/Akegarasu/lora-scripts 的文档安装就好,没啥好说的.

最后

一切都装好了,运行也没问题,点一下保存镜像不用时停止实例,虽然是白嫖来的但也省着点花,减少碳排放人人有责文章来源地址https://www.toymoban.com/news/detail-427081.html

常用连接

  • Stable Diffusion (aliyun.com) 远程映射出来的页面,可以公网访问,每次都不一样
  • pai_nzkj0ys7no4hl24d6x-PAI工作空间 (aliyun.com)
  • stablediffusion - DSW (aliyun.com) 后台控制
  • 阿里云用户中心 (aliyun.com) 账单,可以查询配额用了多少,防止白嫖失败
  • PAI-DSW计费说明 (aliyun.com) 既然是白嫖那就关心计费啊
  • 容器镜像服务 (aliyun.com) 建了一个镜像仓库,用于保存安装后的镜像
  • AIGC Stable Diffusion文生图Lora模型微调实现虚拟上装 (aliyun.com) 参考意义不大,只能引导dsw的使用,具体安装sd看下面的
  • DSW Gallery (aliyun.com) 安装sd的手册,这个可以有,但是说的官方镜像找不到
  • Could not load library libcudnn_cnn_infer.so.8 - PyTorch Forums 安装sd过程遇到的错误
  • 阿里云 PAI 免费试用搭建 stable-diffusion-WebUI - 知乎 (zhihu.com) 可以参考学习pai的使用
  • 禁止转载 原创
  • 无界AI,创作无限,以致涌现! 要是只是对ai绘画尝尝鲜,可以在这里试试

到了这里,关于阿里云交互式建模(DSW)的探索和踩坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人机交互学习-6 交互式系统的设计

    Allan Cooper建议不要过早地把重点放在小细节、小部件和精细的交互上会妨碍产品的设计,应先站在一个高层次上关注用户界面和相关行为的整体结构 Allan Cooper提出的交互框架不仅 定义了高层次的屏幕布局 ,同时定义了 产品的工作流、行为和组织 。它包括了6个主要步骤:

    2024年02月09日
    浏览(56)
  • 交互式shell

    交互式模式就是shell等待用户的输入,并且执行用户提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当用户签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模

    2024年02月02日
    浏览(47)
  • Pyspark交互式编程

    Pyspark交互式编程 有该数据集Data01.txt 该数据集包含了某大学计算机系的成绩,数据格式如下所示: 根据给定的数据集,在pyspark中通过编程来完成以下内容: 该系总共有多少学生; (提前启动好pyspark) 该系共开设了多少门课程; Tom同学的总成绩平均分是多少; 求每名同学的

    2023年04月08日
    浏览(45)
  • 构建一个动态交互式图表

    在Web开发中,JavaScript不仅是实现交互效果的关键,还可以用于构建复杂的可视化组件,如动态交互式图表。在本篇博客中,我将演示如何使用JavaScript和HTML5的Canvas元素来创建一个简单的动态条形图。 HTML结构  首先,我们需要一个HTML结构来容纳我们的图表。 JavaScript实现 接下

    2024年02月20日
    浏览(51)
  • 【非交互式零知识证明】(下)

    继续上一节的内容,我们首先再回顾一下经典交互式零知识证明。 交互式零知识证明的一般模型如下: (1)证明者和验证者共享一个公共输入,证明者可能拥有某个秘密输入; (2)如果验证者认可证明者的响应,则输出Accept,否则输出Reject。 经典交互式零知识证明除了应

    2024年02月04日
    浏览(44)
  • Matlab交互式的局部放大图

    在数据可视化中,很多时候需要对某一区间的数据进行局部放大,以获得对比度更高的可视化效果。下面利用 MATLAB 语言实现一个交互式的局部放大图绘制。 源码自行下载: 链接:https://pan.baidu.com/s/1yItVSinh6vU4ImlbZW6Deg?pwd=9dyl 提取码:9dyl 使用方法 : 1.将 BaseZoom.m 和 parameters

    2024年01月16日
    浏览(49)
  • Android2:构建交互式应用

    一。创建项目 项目名 Beer Adviser 二。更新布局 activity_main.xml 三。增加资源 strings.xml 四。响应点击 MainActivity.kt 知识点:

    2024年02月12日
    浏览(56)
  • 【shell】交互式自动化执行命令

    sftp 登陆并传输文件时需要手动输入密码 通过 expect 脚本模拟用户输入来与命令交互, 根据命令的输出提示, 来执行相应的操作, 来实现自动化 expect 给变量赋值用 set 变量名 \\\"变量值\\\" 获取今天 : set today [clock format [clock seconds] -format %Y-%m-%d] 获取昨天 : set yesterday [clock format [expr

    2024年02月09日
    浏览(44)
  • OpenCV构建交互式图像距离测量工具

    在计算机视觉和图形学应用中,准确测量图像上的点之间距离是一项常见且重要的任务。本篇技术博客将详细介绍如何利用Python编程语言和OpenCV库构建一个交互式的图像距离测量工具。我们将通过编写一个名为ImageProcessor的类,让用户能够在图像上点击选取点,并实时显示两

    2024年04月14日
    浏览(45)
  • Dash,方便创建「交互式」Web图表!

    你好,我是郭震 这篇文章,探讨 Dash —— 一个由 Plotly 开发的优秀 Python 框架,专为构建丰富的网络分析应用而设计。 推荐使用这个Python工具包! Dash 使得数据分析师能够使用 Python 创建互动式的 web 应用,而无需深入了解复杂的前端技术如 HTML 或 JavaScript。 要开始使用 Das

    2024年02月22日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包