MMagic调试(训练)dreambooth

2024-01-24 04:20

本文主要是介绍MMagic调试(训练)dreambooth,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

时间:2024.1.23

1.dreambooth配置文件

dreambooth在mmagic中的路径:

configs/dreambooth

本文以dreambooth.py 为例

configs/dreambooth/dreambooth.py

2.下载数据集

下载数据集并保存至data/dreambooth/,数据集:

https://drive.google.com/drive/folders/1BO_dyz-p65qhBRRMRA4TbZ8qW4rB99JZ

文件夹的数据结构如下:

data
└── dreambooth└──imgs├── alvan-nee-Id1DBHv4fbg-unsplash.jpeg├── alvan-nee-bQaAJCbNq3g-unsplash.jpeg├── alvan-nee-brFsZ7qszSY-unsplash.jpeg└── alvan-nee-eoqnr8ikwFE-unsplash.jpeg

3.修改配置文件中数据集路径

修改配置文件中的数据集路径,就是上一步骤中图片的路径。

data_root='你的数据集路径'

4.从hugging face 下载与训练权重

hugging face 中stable diffusiond的网址如下:

https://huggingface.co/runwayml/stable-diffusion-v1-5

点击Files and versions就能下载相关文件了:
在这里插入图片描述

要下载的权重和配置文件入下:

runwayml
└── stable-diffusion-v1-5└── scheduler└── scheduler_config.json└── text_encoder├── config.json└── pytorch_model.bin└── tokenizer├── merges.txt├── special_tokens_map.json├── tokenizer_config.json└── vocab.json└── unet├── config.json└── diffusion_pytorch_model.bin└── vae├── config.json└── diffusion_pytorch_model.bin

根据上述说明,从hugging face下载。注意文件夹的数据结构。注意文件的名称不能随意改。注意其他文件不需要,就没不要下载了。
将这些文件放在你喜欢的路径下,记住这个路径,在下一步中要用,用来替换配置文件中的stable_diffusion_v15_url路径。

5.修改stable_diffusion_v15_url路径

在配置文件中configs/dreambooth/dreambooth.py修改stable_diffusion_v15_url路径,默认是:

stable_diffusion_v15_url = 'runwayml/stable-diffusion-v1-5'

这个stable_diffusion_v15_url的作用是读入vae、unet、clip、scheduler的权重和配置文件。但是如果路径不是这个就要改成自己的路径。你自己的路径在步骤3中已经准备好了。

stable_diffusion_v15_url = '你自己的路径'

6.评价

(1)Hugging face喜欢整洋活,把代码集成好放pip中,通过pip安装直接调用。但这有个问题,需要下载权重的时候,自动联网下,但如果连不上网就没有办法下了啊!readme也不说明下哪些权重。
(2)MMagic太依赖hugging face 的diffuser了,干脆直接用diffuser就完了呗,还用mmagic干什么呢?学学隔壁的mmdetection等,要想做一个库,就不要那么依赖diffuser。建议把diffuser的代码该重构重构,权重该转到自家代码库就转。
(3)MMagic中默认提供的能训练的模型太少了,大部分只给了推理代码,没有给训练代码。真离谱!作为openmmlab旗下的扩散模型继承代码库,mmagic中大部分模型竟然不能训练!

这篇关于MMagic调试(训练)dreambooth的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的