Dreambooth Stable Diffusion始化训练环境(AutoDL)

2024-01-15 06:12

本文主要是介绍Dreambooth Stable Diffusion始化训练环境(AutoDL),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以AutoDL为例

        以下代码源自:赛博华佗——秋叶:

        Akegarasu

环境选择

  1. Miniconda: Miniconda是一个轻量级的Conda环境管理系统。它包含了conda、Python和一些常用的包,以及能够管理安装其他包的能力。Miniconda是Anaconda的一个简化版,Anaconda是一个流行的Python科学计算发行版。

  2. conda3: 这指的是使用Conda环境管理系统,并且特指Python 3的版本。Conda是一个开源的包管理和环境管理系统,常用于科学计算领域,可以用来安装、运行和升级复杂的科学计算环境。

  3. 3.8(ubuntu20.04): 这里指的是使用Python 3.8版本,在Ubuntu 20.04操作系统上。Ubuntu 20.04是一个流行的Linux发行版,Python 3.8是这个版本的Python的一个较新的稳定版本。

  4. 11.3: 这个数字指的是NVIDIA CUDA的版本号,CUDA是NVIDIA开发的用于通用并行计算的编程架构,广泛用于深度学习和高性能计算任务。11.3是CUDA的一个具体版本号。

初始化脚本环境

        clone其项目后,首先利用 conda 创建 python 运行环境后再运行 install.sh

git clone https://github.com/Akegarasu/dreambooth-autodl.git
cd dreambooth-audodl
conda create -n diffusers python=3.10
conda init bash && source /root/.bashrc
conda activate diffusers
conda install ipykernel
ipython kernel install --user --name=diffusers
bash install.sh

        将项目文件夹移动到 /autodl-tmp 后打开 dreambooth-aki.ipynb 运行训练

import sys
import os# 本镜像专属
os.environ["PATH"] = f'/root/miniconda3/envs/diffusers/bin:{os.environ["PATH"]}'
os.environ["HF_HOME"] = ".cache"
DB_SCRIPT_WORK_PATH = os.getcwd() # "/root/autodl-tmp/dreambooth-aki"!python --version
%cd $DB_SCRIPT_WORK_PATHTRAINER = "train_dreambooth.py"
CONVERTER = "convert_v3.py"
BACK_CONVERTER = "back_convert.py"SRC_PATH = "./model-sd"
MODEL_NAME = "./model-hf"# 模型保存路径
OUTPUT_DIR = "./output"
!mkdir -p $OUTPUT_DIR

        这段代码是设置一个Jupyter笔记本的全局变量,主要用于准备环境以便于训练Stable Diffusion模型。代码执行的主要功能如下:

  1. 导入所需的Python库(sysos)。

  2. 设置环境变量:

    • "PATH":添加一个特定的路径到系统的PATH环境变量中,这个路径是针对一个特定的Python环境设置的,以确保可以访问所需的执行文件。
    • "HF_HOME":设置Hugging Face库的缓存目录。
  3. 获取当前工作目录的路径,并将其存储在变量DB_SCRIPT_WORK_PATH中。

  4. 执行系统命令来获取Python的版本信息,并切换到工作目录。

  5. 定义一些脚本和模型相关的变量:

    • TRAINER:用于训练模型的Python脚本文件名。
    • CONVERTER:用于转换模型格式的Python脚本文件名。
    • BACK_CONVERTER:用于将训练好的模型转换回原始格式的Python脚本文件名。
    • SRC_PATH:原始模型文件的路径。
    • MODEL_NAME:转换后的模型文件的保存路径。
  6. 定义模型输出目录OUTPUT_DIR,并创建该目录(如果它不存在的话)。

        这些步骤为接下来的模型训练和转换工作提供了必要的准备。它设置了环境变量、定义了关键文件路径和脚本名称,并确保了输出目录的存在。

    环境变量PATH

        环境变量PATH是操作系统用来查找可执行文件的目录列表。当你运行一个命令时,系统会在PATH中列出的目录里搜索该命令对应的可执行文件。

f'/root/miniconda3/envs/diffusers/bin:{os.environ["PATH"]}'

        这其中的冒号,其实是一个分隔符。。。。。。

        在PATH环境变量中,路径是按照从左到右的顺序进行搜索的。因此,冒号前面的路径(也就是在变量值的最开始的路径)会被优先搜索。如果在这些路径中找不到所需的可执行文件,系统会继续在冒号后面列出的路径中搜索,直到找到所需的可执行文件或者搜索完所有列出的路径。

        在这个特定的例子中,/root/miniconda3/envs/diffusers/bin被添加到了PATH的最前面,所以系统会首先在这个目录中寻找可执行文件。这种方法常用于确保使用特定环境或版本的程序,特别是在有多个版本的程序安装在系统上时。

os.environ["HF_HOME"] = ".cache"

  • os.environ:这是Python中的一个字典,它包含了当前shell环境的所有环境变量。通过修改这个字典,可以改变环境变量的值。

  • "HF_HOME":这是环境变量的名称。HF_HOME是由Hugging Face库使用的特定环境变量,通常用于指定Hugging Face相关文件(如模型缓存、配置文件等)的存储位置。

  • "= .cache":这将HF_HOME的值设置为.cache。这个值是一个相对路径,表示当前目录下的名为.cache的文件夹。

        将HF_HOME设置为.cache的效果是:当使用Hugging Face库(例如,加载模型、下载数据集等)时,它会将所有缓存的数据(如下载的预训练模型)保存到当前工作目录下的.cache文件夹中。这对于管理模型缓存非常有用,特别是在想要控制缓存位置或在多个项目之间共享缓存时。通过这种方式,你可以避免在系统的默认位置(通常是用户的主目录)中堆积过多的缓存文件。

!python --version

       这行代码在Jupyter笔记本中执行一个shell命令,用于检查当前环境中Python的版本。--version参数让Python打印出其版本信息。

DB_SCRIPT_WORK_PATH = os.getcwd() 
# "/root/autodl-tmp/dreambooth-aki"
%cd $DB_SCRIPT_WORK_PATH

   %cd是Jupyter笔记本的魔术命令,用于改变当前工作目录。

OUTPUT_DIR = "./output"
!mkdir -p $OUTPUT_DIR
  • 在Jupyter笔记本中执行一个shell命令,用于创建目录。
  • mkdir是一个常用的Unix/Linux命令,用于创建新的目录。
  • -p参数告诉mkdir命令,如果目录不存在,则创建它;如果目录已经存在,不要报错(不要叫唤)。此外,-p参数还允许创建必要的父目录。

DreamBooth详解

DreamBooth | AiDraw

这篇关于Dreambooth Stable Diffusion始化训练环境(AutoDL)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607912

相关文章

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate