写在前面
从小就非常喜欢小樱!从小樱的动画到动漫书我都看了个遍,包括C妈几年前更新了(哇这么久了都)Clear Card
。
直到最近C妈终于更新完了 Clear Card
的漫画,听说好像新的视频在筹备了,我好期待!!!
(微调完的LoRA生成的效果如下,其中几张
)
机器环境
页面提供
- PyTorch 2.0
- Python 3.8
- Ubuntu 20
- CUDA 11.8
- CPU
- 内存 80GB
- 磁盘 100GB
- 显卡 3090 24GB * 1
实际环境
实际系统中的环境,有略微的不一样,但是不影响。
同时,项目中有一些指定的 CUDA 版本等问题:比如我是 CUDA12.0
,但是项目要求 CUDA18.1
。这些问题也需要自己思考处理一下,毕竟更换CUDA
版本是一件比较麻烦的事情。
实际环境:
- CUDA 12.0
- 其他的 大差不差 比如Python版本,这里是
3.10
,通过Pyenv
管理多版本。
克隆项目
这里我们使用 kohya_ss
来进行微调,它帮我们封装好了。
git clone https://github.com/bmaltais/kohya_ss.git
配置环境
这里使用 pyenv
对项目进行管理,对于 pyenv
的使用和安装,可以看我的其他文章。
cd kohya_ss
pyenv local 3.10
python -m venv env
source env/bin/activate
此时通过 ls
可以查看目录,大致如下:
安装依赖
./setup.sh
此时我们遇到问题,提示缺少 python3-tk
sudo apt update -y && sudo apt install -y python3-tk
安装成功后,我们重新执行 ./setup.sh
可以看到正在安装:cu118,我的CUDA版本不太对的上
-
如果你安装不正常
:那你可以看看我的思路(见 问题章节:CUDA安装异常) -
如果你安装正常
:请忽略
此时我们会看到:
启动项目
恭喜你顺利配置了环境,我们继续!
使用 gui.sh
启动项目
./gui.sh --listen 0.0.0.0 --server_port 6006 --share
访问项目
# 或者是你的 IP 地址
http://localhost:6006
我们可以看到项目的大致页面为:
准备素材
下载素材
我去网络上截图了不到20张小樱
,按理来说,图片越多,风格样式不一样,可以帮助模型更好的学习到特征。
统一裁切
这里为了保证模型更好的学习,建议裁切到统一大小,同时把20张都手动过一遍。(不裁切的话,工具可以自行进行识别和裁切,裁切模型认为好的那部分)
一键裁切为标准的尺寸,我这里选择了 512x512
免费的裁切网站(感谢无私奉献):birme统一裁切
上传素材
用你习惯的方式,将图片上传到某个目录。(记住这个目录,后边要用到)
目录名要求:数字_项目名,我这里是:30_sakura,动漫风格10-50(可以搜索你要训练的风格配置为多少)
因为是学习,大家不用研究那么多,直接按30来就行,先抄着参数跑通再说。
这里大致样子是(忘记截图了,用了别的项目的图):
生成标签
打开项目地址(刚才的6006)标签页,并填写如下参数:
● Image foloder to caption 你上传图片的目录
● Prefix to add to BLIP caption 图片添加的前置词
我这里对应的两个参数地址是:
# 图片目录 Image foloder to caption
/root/autodl-tmp/kohya_ss/wzk_test/image/30_sakura
# 添加的前置词(类似于触发词,以后通过该词触发)Prefix to add to BLIP caption
w_sakura
开始训练
点击Caption Images
开始训练,此时如果你是第一次运行,将会有一些额外的模型需要下载。
如果一切顺利的话,你将会看到模型给我们的图片打上了标签。
文件内变成了:图片+txt标签内容
此时我们可以针对每个txt
的内容,调整提示词,但是作为学习,暂时不考虑,我们优先
查看标签
# 000.txt
w_sakura, a girl with a ponytail and a sailor outfit
# 001.txt
w_sakura, a girl with green eyes and a ponytail
# 002.txt
w_sakura, a girl with a bag of bread and a sandwich