关于stable diffusion的lora训练在linux远程工作站的部署

这篇具有很好参考价值的文章主要介绍了关于stable diffusion的lora训练在linux远程工作站的部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在学校Arc中部署lora training,一大问题就是依赖缺失和冲突。可以利用miniconda或者anaconda建立虚拟环境来解决。

安装anaconda 或者 miniconda(官网上也有教程):

wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh
chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
./Anaconda3-5.3.0-Linux-x86_64.sh

建立虚拟环境:

conda create -n Lora python=3.10
conda init bash #添加conda环境进入Bash configuration file
source /root/.bashrc #重新加载bash配置
conda activate lora # 加载虚拟环境

现在进入到虚拟环境中

首先解决cuda的配置,其中要配置合适的cuda版本以及对应版本的cuDNN

conda官方库中的cuda包都不完全,无法激活nvcc命令,因此使用conda-forge库中的cudatoolkit包,以及dev包来确保可以激活nvcc命令。这里以cuda11.7版本为例。

conda install cudatoolkit==11.7.0 -c conda-forge# 
conda install cudatoolkit-dev==11.7.0 -c conda-forge# 

接下来安装cuDNN,依旧使用conda-forge库中的cudnn,我选择使用8.4.0.27版本的。查看库中的版本可以使用:

conda config --add channels conda-forge #加入conda forge 源
conda search -c conda-forge <package_name>

例如:

conda search -c conda-forge cudatoolkit #寻找可以使用的cudatoolkit版本
conda search -c conda-forge cudnn #寻找可以使用的cudnn版本

之后安装对应版本的tensorflow:

参考:https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel-23-02.html#rel-23-02

可知我们需要的tensorflow的版本是2.8.0版本,tensorRT版本是8.2.5,由于8.2.5无法由python 3.10 编译,选择最相近版本8.4.2.4。

pip install tensorflow-gpu==2.8.0
pip install tensorflow==2.8.0
pip install nvidia-tensorrt==8.4.2.4

之后安装pytorch:

conda install pytorch cudatoolkit=11.7 -c pytorch

或者,你可以使用pip的话:

 pip install torch==1.13.1+cu117 -f https://download.pytorch.org/whl/cu117/torch_stable.html

以及安装pytorchvision:同样可以使用:

conda install pytorch torchvision cudatoolkit=11.7 -c pytorch

或者:

pip install torch torchvision -f https://download.pytorch.org/whl/cu117/torch_stable.html

安装triton

pip install nvidia-pyindex
pip install triton

安装trainer本体

下面参考:https://github.com/zwh20081/LoRA_onekey_deploy_script/blob/main/onekey_with_xformers_new.sh

之后可以安装xformers来加速lora的训练:

git clone https://github.com/facebookresearch/xformers/  #导入xformer文件
cd xformers
git submodule update --init --recursive
# 强制使用CUDA环境,不开启可能会导致xformers未和CUDA一起编译
export FORCE_CUDA="1"
# 进入https://developer.nvidia.com/cuda-gpus#compute
# 设置所用显卡对应的Compute Capability,我的a-100是8.0,v-100是7.0
export TORCH_CUDA_ARCH_LIST=8.0
# PATH环境变量中追加cuda目录,确保编译时能识别镜像预置的cuda11.7
export PATH=$PATH:/usr/local/cuda

# 确保gcc编译时能够识别cuda的头文件cd(可能用不到)
pip install -r requirements.txt #安装requirements.txt文本下需要的依赖
pip install -e . #在当前目录下安装xformer

这时你的xformer 应当安装完毕。

之后安装Lora训练器:

cd .. #回到上层目录
git clone https://github.com/derrian-distro/LoRA_Easy_Training_Scripts
cd LoRA_Easy_Training_Scripts
git submodule init #初始化git子模块
git submodule update #升级子模块
cd sd_scripts

pip install --upgrade -r requirements.txt #升级文本下的依赖

此时可能会更新:

但是tensorflow可能会错误的升级到2.10版本。因此根据你的cuda版本降级tensorflow。

我这里还是降级到2.8.0:

 pip install tensorflow==2.8.0

之后

accelerate config

这时应当可以正常使用了。

configure 过程中可能有一些设置,推荐是:

- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16/bf16

使用:

修改ArgsList.py中的参数设置

之后再main.py的目录中使用:

accelerate launch main.py

Enjoy文章来源地址https://www.toymoban.com/news/detail-490094.html

到了这里,关于关于stable diffusion的lora训练在linux远程工作站的部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Stable Diffusion XL训练LoRA

    主要包括SDXL模型结构,从0到1训练SDXL以及LoRA教程,从0到1搭建SDXL推理流程。  【一】SDXL训练初识 Stable Diffusion系列模型的训练主要分成一下几个步骤,Stable Diffusion XL也不例外: 训练集制作:数据质量评估,标签梳理,数据清洗,数据标注,标签清洗,数据增强等。 训练文

    2024年02月07日
    浏览(15)
  • 【stable diffusion LORA训练】改进lora-scripts,命令行方式训练LORA,支持SDXL训练

    分享下自己改进的一个lora训练脚本,在ubuntu下如果SD-WEBUI的环境已经搭好的话,只需要下载lora-script就可以支持训练了,直接命令行方式训练。 首先,我们需要克隆下项目: git clone https://github.com/Akegarasu/lora-scripts 其次,更改项目里的train.sh脚本如下 根据自己机器的显存适当

    2024年02月03日
    浏览(27)
  • Stable diffusion 训练lora出现报错

    今天使用kohya_ss训练lora时出现三个报错,下面是解决办法。 一: 报错 UnboundLocalError: local variable \\\'pipe\\\' referenced before assignment 这个应该是项目的BUG,现在的版本还没修复,但是可以绕过它。方法如下:去 huggingface 下载预训练的基础模型到本地,复制模型的地址到红色框内并把

    2024年02月13日
    浏览(49)
  • LoRa模型训练教程(炼丹,Stable Diffusion)

    何为LoRA?LoRA并不是扩散模型专有的技术,而是从隔壁语言模型(LLM)迁移过来的,旨在解决避免将整个模型参数拷贝下来才能对模型进行调校的问题。因为大型语言模型的参数量过于恐怖,比如最近新出的GPT-4参数量约为100 万亿。 LoRA采用的方式是向原有的模型中插入新的数

    2024年02月10日
    浏览(20)
  • Stable Diffusion Lora模型训练详细教程

    通过Lora小模型可以控制很多特定场景的内容生成。 但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。 甚至可以训练一个专属家庭版的模型(family model),非常有意思。 将自己的训练好的Lora模型放到stableDiffusion lora 目录中,

    2024年02月02日
    浏览(22)
  • Stable Diffusion 使用lora-scripts WebUI训练LoRA模型

    如果对代码使用有困难的小伙伴可以直接使用WebUI版的LoRA模块进行训练操作。不管是训练人物,场景,风格,还是服装都是一套通用的模式,仅仅是使用不同的数据集得到的结果不同。 使用 git clone --recurse-submodules https://gi

    2024年02月17日
    浏览(28)
  • 【 stable diffusion LORA模型训练最全最详细教程】

    个人网站:https://tianfeng.space/ 其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多

    2024年02月09日
    浏览(26)
  • 炼丹!训练 stable diffusion 来生成LoRA定制模型

    LoRA,英文全称Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。 比如,GPT-3有1750亿参数,为了让它能干特定领域的活儿,需要做微调,但是如果直接对GPT-3做微调,成本太高太麻烦了。 LoRA的

    2024年03月27日
    浏览(30)
  • AutoDL 训练stable-diffusion lora模型

    1.创建镜像实例 2. 启动实例  3.启动服务 4.配置参数 4.1 基础模型选择   4.2 文件路径设置  5.点击打印训练信息  6.训练模型(点击Train model)    

    2024年02月16日
    浏览(20)
  • Stable Diffusion 指定模型人物,Lora 训练全流程

    在使用 Stable Diffusion 的时候,可以选择别人训练好的 Lora,那么如何训练自己的 Lora,本篇文章介绍了介绍了如何训练Lora,如何从训练的模型中选择好的模型,如何在 Stable Diffusion 中使用。 闲话不多说,直接实际操作吧,干货满满,记得关注哦,以免找不到了。首先我们来获

    2024年02月09日
    浏览(24)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包