训练Lora 本文共有3203个字,关键词: 删除现有的cuda\nvcc\nccl\nvidia* ``` sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" libnccl-dev libnccl2 -y sudo apt-get --purge remove "*nvidia*" -y sudo apt autoremove -y sudo rm -rf /usr/local/cuda* ``` 准备工作【可以不做】 设置apt源 清华 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/ 阿里 https://developer.aliyun.com/mirror/ubuntu --- cuda-toolkit下载入口 https://developer.nvidia.com/cuda-toolkit-archive nccl下载入口https://docs.nvidia.com/deeplearning/nccl/install-guide/#down --- ``` apt-get update #如果遇到包损坏的问题,可以修改apt的sources.list,注释掉NVIDIA网址 ``` 从上面的cuda-toolkit进去找到适合的版本并安装cuda-keyring*.deb ``` apt-get update sudo apt-get -y install cuda #中途输入18和1 sudo apt-get -y install libnccl2 libnccl-dev ``` me.toml ``` [general] enable_bucket = true [[datasets]] resolution = 512 batch_size = 4 [[datasets.subsets]] image_dir = '/root/train' class_tokens = 'zg' num_repeats = 20 ``` ``` accelerate launch --num_cpu_threads_per_process 4 $WORK_DIR/sd-scripts/train_network.py \ --pretrained_model_name_or_path="/root/share/majicMIX_realistic_v7.safetensors" \ --dataset_config="/root/me.toml" \ --output_dir="/root/lora_out" \ --output_name="cyberdragon" \ --save_model_as=safetensors \ --clip_skip=2 \ --prior_loss_weight=1.0 \ --max_train_steps=4000 \ --learning_rate=1e-4 \ --unet_lr=1e-4 \ --text_encoder_lr=1e-5 \ --optimizer_type="AdamW" \ --xformers \ --mixed_precision="no" \ --cache_latents \ --gradient_checkpointing \ --save_n_epoch_ratio=8 \ --network_module=networks.lora \ --network_dim=64 \ --network_alpha=32 ``` ``` # --pretrained_model_name_or_path:指向基底模型的路径,支持 .ckpt、.safetensors 和 Diffusers 格式。可以考虑使用与数据集画风接近的基底模型。 # --output_dir:指定模型保存的路径。 # --output_name:指定模型保存的文件名(不含扩展名)。 # --save_model_as:模型保存格式,ckpt, safetensors, diffusers, diffusers_safetensors. # --dataset_config:指向 TOML 配置文件的路径。 # --max_train_steps / --max_train_epochs:指定训练的 steps 数或者 epochs 数。 # --save_every_n_steps / --save_every_n_epochs:每隔多少 steps 或者 epochs 保存模型。 # --mixed_precision:使用混合精度来节省显存。 # --gradient_checkpointing:用于节省显存,但是会增加训练时间。 # --xformers / --mem_eff_attn:用于节省显存。 # --clip_skip:使用 CLIP 的倒数第几层特征,最好与基底模型保持一致。 # --network_dim: 指定 LoRA 的秩(即网络维度),默认为 4. 值越大网络越大、参数越多、能力越强,但是不应盲目增大。训练人物可以考虑设为 16/32/64. # --network_alpha: 用于保证训练过程的数值稳定性,防止下溢,默认为 1. # --network_weights: 加载预训练的 LoRA 模型并继续训练。 # --network_train_unet_only: 只训练 U-Net 的 LoRA. 也许对 fine-tuning-style 有用。 # --network_train_text_encoder_only: 只训练 Text Encoder 的 LoRA. 类似于 Textual Inversion 的效果。 # --optimizer_type:选择优化器。 # --learning_rate:设置学习率。 # --unet_lr: 对 U-Net 的 LoRA 单独设置学习率,一般可以设为 1e-4,覆盖 --learning rate 的设置。 # --text_encoder_lr: 为 Text Encoder 的 LoRA 单独设置学习率,一般可以设为 5e-5,覆盖 --learning rate 的设置。 # --lr_scheduler / --lr_warmup_steps / --lr_scheduler_num_cycles / --lr_scheduler_power:设置学习率 scheduler、warmup. ``` links: https://zhuanlan.zhihu.com/p/628398504 https://zhuanlan.zhihu.com/p/640144661?utm_id=0 https://www.bilibili.com/read/cv21373135/ https://www.skycaiji.com/aigc/ai2014.html 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 梦白沙 (๑>ڡ<)☆谢谢老板~ 1元 2元 5元 10元 50元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 ubuntu系统,随手发现 2024-02-26 评论 316 次浏览