当前位置:首页|资讯|AI绘画|百度

0元实现LoRA训练自由:无限免费V100白嫖攻略

作者:A-村民F发布时间:2023-04-25

最近做了一个AI绘画的硬件性能分析视频(BV1EL411v7LE),这当中使用了从百度AI Studio那儿白嫖的V100和A100。目前百度AI Studio只需要每天登陆运行项目就送8点算力卡,V100 16G每小时消耗0.5算力卡,在百度AI Studio中白嫖显卡是目前最划算的LoRA训练方式,因为它的成本就是0。

但是,百度AI Studio只允许运行paddlepaddle,不允许运行pytorch,这让许多小伙伴头皮发麻,因为自己最常用的webui整合包需要pytorch模型才能运行,而paddle的lora训练脚本只能输出pdparams,只能被paddle读取,不兼容pytorch。

因此,我在ppdiffusers的LoRA训练脚本的基础上,修改了模型保存阶段的代码,用pytorch safetensors保存LoRA模型,大家可以点击这个链接尝试:https://aistudio.baidu.com/aistudio/projectdetail/6047468

首先,点开上面的链接,在右上角注册/登陆一个AI Studio账号


注册在红框这里


然后,再次点开上面的链接,点击启动环境

启动环境在这里

如果你没有算力卡,先选择CPU,启动环境之后再回到刚才的页面点击停止关掉,系统会在你启动环境之后自动送你8点算力卡

选择运行环境,推荐V100 16G

进入环境之后,在train_data文件夹内,放上你需要训练的图片,如果你没有裁切也没关系,脚本会进行自动缩放,默认会缩放到512*512

这里我们用的是百度的示例文件,可以看到分辨率远大于512*512

在准备好图片之后,就可以着手安装环境了,BML Codelab默认是没有ppdiffusers的,这里我们需要打开项目目录下的main.ipynb进行安装,点击播放按钮运行代码安装,安装之后记得点击重启内核

三个红框分别对应文件位置、运行代码按钮的位置(也可以用shift+enter运行)和重启内核的按钮的位置

重启内核后还是在main.ipynb内,继续往下翻,是运行脚本的代码,脚本后面的参数看链接(https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers/examples/dreambooth)内的说明,这里帮大家填写好了默认的参数。模型可以使用huggingface和Civitai社区的,这里示例是chilloutmix,如果使用自己的模型,记得要先转换成diffuser格式再上传。训练好的LoRA模型会在lora_outputs目录里。

模型训练部分

除了模型名称之外,还有两个重要的参数你是一定会需要修改的,那就是prompt。在这里我们使用百度的示例,自己实际训练的时候,以让模型认识新角色为例,可以把这两个prompt中的sks dog全部改成新角色的名称。

参数修改

如果你是下载的模型,可以看看这一段,通过work目录保存下载的模型,这样就不用每次都打开了,公开项目不能接受那么大的文件体积,所以就没有了,大家自己运行的时候可以用这个。

下载模型记得保存

最后是看看训练好的LoRA的效果,读取刚才训练好的safetensors,特别注意在AI Studio中只能使用ppdiffusers,好在ppdiffusers支持加载pytorch模型,因此我们依旧可以在这里预览模型效果。

注意红框里的参数

Enjoy it!

Diffusers!



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1