forked from Akegarasu/lora-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
resize.ps1
41 lines (32 loc) · 1.67 KB
/
resize.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# LoRA resize script by @bdsqlsz
$save_precision = "fp16" # precision in saving, default float | 保存精度, 可选 float、fp16、bf16, 默认 float
$new_rank = 4 # dim rank of output LoRA | dim rank等级, 默认 4
$model = "./output/lora_name.safetensors" # original LoRA model path need to resize, save as cpkt or safetensors | 需要调整大小的模型路径, 保存格式 cpkt 或 safetensors
$save_to = "./output/lora_name_new.safetensors" # output LoRA model path, save as ckpt or safetensors | 输出路径, 保存格式 cpkt 或 safetensors
$device = "cuda" # device to use, cuda for GPU | 使用 GPU跑, 默认 CPU
$verbose = 1 # display verbose resizing information | rank变更时, 显示详细信息
$dynamic_method = "" # Specify dynamic resizing method, --new_rank is used as a hard limit for max rank | 动态调节大小,可选"sv_ratio", "sv_fro", "sv_cumulative",默认无
$dynamic_param = "" # Specify target for dynamic reduction | 动态参数,sv_ratio模式推荐1~2, sv_cumulative模式0~1, sv_fro模式0~1, 比sv_cumulative要高
# Activate python venv
.\venv\Scripts\activate
$Env:HF_HOME = "huggingface"
$ext_args = [System.Collections.ArrayList]::new()
if ($verbose) {
[void]$ext_args.Add("--verbose")
}
if ($dynamic_method) {
[void]$ext_args.Add("--dynamic_method=" + $dynamic_method)
}
if ($dynamic_param) {
[void]$ext_args.Add("--dynamic_param=" + $dynamic_param)
}
# run resize
accelerate launch --num_cpu_threads_per_process=8 "./sd-scripts/networks/resize_lora.py" `
--save_precision=$save_precision `
--new_rank=$new_rank `
--model=$model `
--save_to=$save_to `
--device=$device `
$ext_args
Write-Output "Resize finished"
Read-Host | Out-Null ;