赞
踩
同上一篇博客,云平台:CPU 1核,GPU 0.5卡,内存 20G;python版本:3.10
准备两个Terminal页面备用,一个打开上一篇博客已经装好的SD WebUI,一个我们安装训练图形化界面kohya_ss,都启动虚拟环境py310。
- 至少15张图片,每张图片的训练步数不少于100。
- 照片人像要求多角度,特别是脸部特写(尽量高分辨率),多角度,多表情,不同灯光效果,不同姿势等
- 图片构图尽量简单,避免复杂的其他因素干扰
- 可以单张脸部特写+单张服装按比例组成的一组照片(这里比例是3:1)
- 减少重复或高度相似的图片,避免造成过拟合
- 图片解析:stable diffusion webui
- (可选)编辑tag:kohay_ss的Utilities下的Captioning批量给我们处理后的解析词文件增加对应的角色tag和服饰tag或者使用软件
实际训练准备:
图片收集(打开我电脑中 《紫罗兰永恒花园》主角姬圈天菜·战力爆棚·人美心善的薇尔莉特 的收藏夹),选二十张图片(主要是头部,包括正面、侧面、抬头、低头等角度),来一张镇楼:
批量裁剪,统一格式为512×512,jpg格式(其实格式可以随意,在SD中能够一并转换为png),可以使用Birme网站,非常方便快捷。
git clone https://github.com/bmaltais/kohya_ss.git
cd /home/share/kohya_ss
accelerate config
python kohya_gui.py --listen 0.0.0.0 --server_port 7861 --inbrowser --share
AttributeError: module 'gradio' has no attribute 'themes'
,更新gradio即可pip install gradio --upgrade
本文如标题所示,是使用Lora训练,其他的训练方法例如Dreambooth,可以参考此篇博客Stable Diffusion 绘图了解详情~
单个图片训练次数_任意命名
”文件夹,例如单张图片训练100次,命名为mr,则该文件夹名设置为“100_mr“,接着再将dest文件夹中的所有内容复制到100_mr文件夹下( 源代码在loraui.py文件中,通过split函数来获取训练次数repeats,所以千万不要设置错误 )。此外,根据资料,lora最低训练总次数是1500次
,为了避免过拟合,尽量图片在15张及以上,15张对应单张训练100次,10张对应单张训练150次。简而言之:
a. 打开对应训练方法的参数配置界面Dreambooth LoRA
b. Folders首先复制三个文件夹到对应位置,接着命名输出模型
c. 至于Training Parameters设置,综合网上的资料+个人训练效果,感觉默认参数对配置要求不高,如果是小白,默认就足够了,大佬估计看看名称也知道调什么能出更好的效果(比如训练批次、学习率这些)。
ls -lh
就可以看到训练后的文件stable-diffusion-webui/models/Lora
文件夹下,重启一下Stable Diffusion WeuUI,然后点击“Show Extra Network
”按钮。在Lora标签里选择刚生成的Lora模型,在上方Prompt框里会显示Lora模型已经使用,两端有尖括号
,填入提示词即可生成相应的图片。某人的痛苦回忆录
sh webui.sh --share
启动sd。pip install -r requirements_versions.txt
ValueError: invalid literal for int() with base 10: '.ipynb'‘
cd ./stable-diffusion-webui/models/train/image_violet/
ls -la
发现数据文件夹中存在.ipynb_checkpoints,“.”的存在会影响int使用,删除这个checkpoints文件,重新点train model即可
rm -rf .ipynb_checkpoints
find . -name ".ipynb_checkpoints" -exec rm -rf {} \;
NameError: name 'split' is not defined
python kohya_gui.py --listen 0.0.0.0 --server_port 7861 --inbrowser –share
AttributeError: module 'gradio' has no attribute 'themes'
更新gradiopip install gradio --upgrade
ValueError: SchedulerType.CONSTANT does not require num_warmup_steps. Set None or 0
OSError: Port 7861 is in use. If a gradio.Blocks is running on the port, you can close() it or gradio.close_all().
subprocess.CalledProcessError: Command '['./envs/py310/bin/python', 'train_network.py', '--enable_bucket','.....']' returned non-zero exit status 1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。