当前位置: 首页 > news >正文

网站搭建与网站建设生意街创业商机网

网站搭建与网站建设,生意街创业商机网,网站字体加载不出来怎么办,网站开发课题背景分享下自己改进的一个lora训练脚本#xff0c;在ubuntu下如果SD-WEBUI的环境已经搭好的话#xff0c;只需要下载lora-script就可以支持训练了#xff0c;直接命令行方式训练。 首先#xff0c;我们需要克隆下项目#xff1a; git clone https://github.com/Akegarasu/lo…分享下自己改进的一个lora训练脚本在ubuntu下如果SD-WEBUI的环境已经搭好的话只需要下载lora-script就可以支持训练了直接命令行方式训练。 首先我们需要克隆下项目 git clone https://github.com/Akegarasu/lora-scripts 其次更改项目里的train.sh脚本如下 #!/bin/bash # LoRA train script by Akegarasu# Train data path | 设置训练用模型、图片 #pretrained_model/data/models/checkpoint/theAllysMixXSDXL_v10.safetensors # base model path | 底模路径 #绘画风XL pretrained_model/data/models/checkpoint/hellopure_V30a.safetensors # base model path | 底模路径 #绘画风 #pretrained_model/data/models/checkpoint/orangechillmix_v70Fixed.safetensors # base model path | 底模路径 #真实风is_v2_model0 # SD2.0 model | SD2.0模型 2.0模型下 clip_skip 默认无效 parameterization0 # parameterization | 参数化 本参数需要和 V2 参数同步使用 实验性功能 train_data_dir/data/models/Train/image/ # train dataset path | 训练数据集路径 reg_data_dir # directory for regularization images | 正则化数据集路径默认不使用正则化图像。# Network settings | 网络设置 network_modulenetworks.lora # 在这里将会设置训练的网络种类默认为 networks.lora 也就是 LoRA 训练。如果你想训练 LyCORISLoCon、LoHa 等则修改这个值为 lycoris.kohya network_weights # pretrained weights for LoRA network | 若需要从已有的 LoRA 模型上继续训练请填写 LoRA 模型路径。 network_dim128 # network dim | 常用 4~128不是越大越好 network_alpha128 # network alpha | 常用与 network_dim 相同的值或者采用较小的值如 network_dim的一半 防止下溢。默认值为 1使用较小的 alpha 需要提升学习率。 #network_dim要和network_alpha一致network_dim默认32角色可以到96。画风可以到128影响最终输出的模型文件尺寸# Train related params | 训练相关参数 resolution768,768 # image resolution w,h. 图片分辨率宽,高。支持非正方形但必须是 64 倍数。 batch_size4 # batch size max_train_epoches8 # max train epoches | 最大训练 epoch,5~10一般为6 save_every_n_epochs2 # save every n epochs | 每 N 个 epoch 保存一次#train_unet_only1 # train U-Net only | 仅训练 U-Net开启这个会牺牲效果大幅减少显存使用。6G显存可以开启,训SDXL可以考虑开启 train_unet_only0 # train U-Net only | 仅训练 U-Net开启这个会牺牲效果大幅减少显存使用。6G显存可以开启 train_text_encoder_only0 # train Text Encoder only | 仅训练 文本编码器 stop_text_encoder_training0 # stop text encoder training | 在第N步时停止训练文本编码器noise_offset0 # noise offset | 在训练中添加噪声偏移来改良生成非常暗或者非常亮的图像如果启用推荐参数为0.1 keep_tokens0 # keep heading N tokens when shuffling caption tokens | 在随机打乱 tokens 时保留前 N 个不变。 min_snr_gamma0 # minimum signal-to-noise ratio (SNR) value for gamma-ray | 伽马射线事件的最小信噪比SNR值 默认为 0# Learning rate | 学习率 lr1e-4 # learning rate | 学习率在分别设置下方 U-Net 和 文本编码器 的学习率时该参数失效 unet_lr1e-4 # U-Net learning rate | U-Net 学习率 text_encoder_lr1e-5 # Text Encoder learning rate | 文本编码器 学习率 lr_schedulercosine_with_restarts # linear, cosine, cosine_with_restarts, polynomial, constant, constant_with_warmup, adafactor lr_warmup_steps0 # warmup steps | 学习率预热步数lr_scheduler 为 constant 或 adafactor 时该值需要设为0。 lr_restart_cycles1 # cosine_with_restarts restart cycles | 余弦退火重启次数仅在 lr_scheduler 为 cosine_with_restarts 时起效。# 优化器设置 optimizer_typeAdamW8bit # Optimizer type | 优化器类型 默认为 AdamW8bit可选AdamW AdamW8bit Lion Lion8bit SGDNesterov SGDNesterov8bit DAdaptation AdaFactor prodigy# Output settings | 输出设置 output_nametblife-dzpg3 # output model name | 模型保存名称 save_model_assafetensors # model save ext | 模型保存格式 ckpt, pt, safetensors# Resume training state | 恢复训练设置 save_state0 # save state | 保存训练状态 名称类似于 output_name-??????-state ?????? 表示 epoch 数 resume # resume from state | 从某个状态文件夹中恢复训练 需配合上方参数同时使用 由于规范文件限制 epoch 数和全局步数不会保存 即使恢复时它们也从 1 开始 与 network_weights 的具体实现操作并不一致# 其他设置 min_bucket_reso256 # arb min resolution | arb 最小分辨率 max_bucket_reso1024 # arb max resolution | arb 最大分辨率 persistent_data_loader_workers1 # persistent dataloader workers | 保留加载训练集的worker减少每个 epoch 之间的停顿 clip_skip2 # clip skip | 玄学 一般用 2 multi_gpu0 # multi gpu | 多显卡训练 该参数仅限在显卡数 2 使用 lowram0 # lowram mode | 低内存模式 该模式下会将 U-net 文本编码器 VAE 转移到 GPU 显存中 启用该模式可能会对显存有一定影响# LyCORIS 训练设置 algolora # LyCORIS network algo | LyCORIS 网络算法 可选 lora、loha、lokr、ia3、dylora。lora即为locon conv_dim4 # conv dim | 类似于 network_dim推荐为 4 conv_alpha4 # conv alpha | 类似于 network_alpha可以采用与 conv_dim 一致或者更小的值 dropout0 # dropout | dropout 概率, 0 为不使用 dropout, 越大则 dropout 越多推荐 0~0.5 LoHa/LoKr/(IA)^3暂时不支持# 远程记录设置 use_wandb0 # use_wandb | 启用wandb远程记录功能 wandb_api_key # wandb_api_key | API,通过 https://wandb.ai/authorize 获取 log_tracker_name # log_tracker_name | wandb项目名称,留空则为network_train# 根据参数决定输出的文件和训练参数 # 参数1为output_name 参数2不输则训练1.5的模型输入xl则训练xl的模型输入错误也还是训练1.5模型if [ -n $1 ]; then output_name$1 pretrained_model/data/models/checkpoint/hellopure_V30a.safetensors # 25D模型resolution768,1024train_unet_only0batch_size3xl_flag0 fiif [ $2 xl ]; thenpretrained_model/data/models/checkpoint/theAllysMixXSDXL_v10.safetensors #25DXL模型resolution768,896 #使用768,1024都会爆显存催悲train_unet_only1batch_size1xl_flag1 fiecho extend by Jim[231203] echo 将以以下参数训练模型 echo 输出文件$output_name echo 底模模型$pretrained_model echo 分辨率$resolution echo 批量大小$batch_size echo 训练深度$network_dim echo 总epoch$max_train_epoches echo 仅训练UNET$train_unet_only echo # DO NOT MODIFY CONTENTS BELOW | 请勿修改下方内容 export HF_HOMEhuggingface export TF_CPP_MIN_LOG_LEVEL3extArgs() launchArgs() if [[ $multi_gpu 1 ]]; then launchArgs(--multi_gpu); fiif [[ $is_v2_model 1 ]]; thenextArgs(--v2) elseextArgs(--clip_skip $clip_skip) fiif [[ $parameterization 1 ]]; then extArgs(--v_parameterization); fiif [[ $train_unet_only 1 ]]; then extArgs(--network_train_unet_only); fiif [[ $train_text_encoder_only 1 ]]; then extArgs(--network_train_text_encoder_only); fiif [[ $network_weights ]]; then extArgs(--network_weights $network_weights); fiif [[ $reg_data_dir ]]; then extArgs(--reg_data_dir $reg_data_dir); fiif [[ $optimizer_type ]]; then extArgs(--optimizer_type $optimizer_type); fiif [[ $optimizer_type DAdaptation ]]; then extArgs(--optimizer_args decoupleTrue); fiif [[ $save_state 1 ]]; then extArgs(--save_state); fiif [[ $resume ]]; then extArgs(--resume $resume); fiif [[ $persistent_data_loader_workers 1 ]]; then extArgs(--persistent_data_loader_workers); fiif [[ $network_module lycoris.kohya ]]; thenextArgs(--network_args conv_dim$conv_dim conv_alpha$conv_alpha algo$algo dropout$dropout) fiif [[ $stop_text_encoder_training -ne 0 ]]; then extArgs(--stop_text_encoder_training $stop_text_encoder_training); fiif [[ $noise_offset ! 0 ]]; then extArgs(--noise_offset $noise_offset); fiif [[ $min_snr_gamma -ne 0 ]]; then extArgs(--min_snr_gamma $min_snr_gamma); fiif [[ $use_wandb 1 ]]; thenextArgs(--log_withall) elseextArgs(--log_withtensorboard) fiif [[ $wandb_api_key ]]; then extArgs(--wandb_api_key $wandb_api_key); fiif [[ $log_tracker_name ]]; then extArgs(--log_tracker_name $log_tracker_name); fiif [[ $lowram ]]; then extArgs(--lowram); fi#SDXL参数1.train_unet_only必须打开显存使用超过16G2.使用脚本sdxl_train_network.py3.使用参数--no_half_vae #python -m accelerate.commands.launch ${launchArgs[]} --num_cpu_threads_per_process8 ./sd-scripts/sdxl_train_network.py \if [[ $xl_flag 1 ]]; thenextArgs(--no_half_vae)script_filesdxl_train_network.py elsescript_filetrain_network.py fipython -m accelerate.commands.launch ${launchArgs[]} --num_cpu_threads_per_process8 ./sd-scripts/$script_file \--enable_bucket \--pretrained_model_name_or_path$pretrained_model \--train_data_dir$train_data_dir \--output_dir./output \--logging_dir./logs \--log_prefix$output_name \--resolution$resolution \--network_module$network_module \--max_train_epochs$max_train_epoches \--learning_rate$lr \--unet_lr$unet_lr \--text_encoder_lr$text_encoder_lr \--lr_scheduler$lr_scheduler \--lr_warmup_steps$lr_warmup_steps \--lr_scheduler_num_cycles$lr_restart_cycles \--network_dim$network_dim \--network_alpha$network_alpha \--output_name$output_name \--train_batch_size$batch_size \--save_every_n_epochs$save_every_n_epochs \--mixed_precisionfp16 \--save_precisionfp16 \--seed1337 \--cache_latents \--prior_loss_weight1 \--max_token_length225 \--caption_extension.txt \--save_model_as$save_model_as \--min_bucket_reso$min_bucket_reso \--max_bucket_reso$max_bucket_reso \--keep_tokens$keep_tokens \--xformers --shuffle_caption ${extArgs[]} 根据自己机器的显存适当调整下参数例如我的16G显存的3070就只能训练768x896的然后根据1.5和SDXL的底模分开这样就可以训练两个不同系列的大模型下的LORA了。区分起来很简单命令行如下 训练1.5的 nohup trainlora mylora 训练SDXL的 nohup trainlora mylora xl 对应的mylora.sh如下 #!/bin/bash input_params$ cd /root/sd-webui-aki-v4.4 source venv/bin/activate cd /root/lora-scripts/ ./train.sh $input_params 用起来相当方便在开始训练时还可以打印相关的训练参数以免弄错错了就是至少半个小时啊。。。 注意 1里面的pretrained_model路径对应大模型底模根据自己的需要修改 2训练的素材是放到/data/models/Train/下的所有的大模型数据等被我单独挂载到一个独立分区了image_bak是备份历史训练数据 3训练完成后lora文件会输出到lora-scripts/output/里 4你可以用tail -f命令查看nohup.out了解训练进度
http://www.huolong8.cn/news/208932/

相关文章:

  • 涉密项目单位网站建设流程wordpress主题破解下载
  • 残联网站建设wordpress模板修改字体
  • 专业微信网站建设上海网站建设网站优化app
  • 网站外链接自己可以怎么做的pc网站建设建议
  • 阿里云网站空间申请vi形象设计企业vi设计公司
  • 网站的发展趋势统一汤达人选择她做汤面活动网站
  • 麻涌镇网站建设公司网站运维
  • 建设网站教学wordpress修改没
  • 郑州营销型网站制作自建网站如何上传视频
  • 杭州 seo网站建设 网络服务黄岛网站建设价格
  • 网站建商城网页设计图片代码怎么写
  • 网站更改关键词设计感 网站
  • 网站里 动效是用什么做的无锡seo网站排名
  • 北京政平建设投资集团有限公司网站电商网站建设与开发课程试卷
  • 单位建设网站需要招标潜江做网站的公司
  • 网站特效 素材wordpress文章更新
  • 做搜狐网站页面网络营销师培训费用是多少
  • 做响应式网站的微博号小学门户网站建设情况汇报
  • 网站的建设意见网页紧急升级维护中升级
  • 重庆企业网站昆山网站制作哪家强
  • 头疼是什么原因导致的seo实战培训
  • 网站代码制作河北省住宅和城乡建设厅网站
  • 公众平台如何做网站汽车网络营销方式
  • 网站排版中铁三局招聘2022
  • Wordpress网站能做seo吗宁波网站建设公司名单推荐
  • 常州手机网站开发网站的ftp帐号密码
  • 网站建设公司黄页wordpress seo 百度
  • 网站设计建设网站做网站 哪里发布
  • 有网站源码如何搭建自己的网站网络营销app有哪些
  • 惠州技术支持网站建设手机网站制作招聘