safetensors_util
1.0.0
這是一個輕巧的實用程序,用於僅用Python編寫的SafetEnsors文件(沒有主要的外部依賴項)。目前,它可以執行以下操作:
Usage: safetensors_util.py [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
-q, --quiet quiet mode, don't print informational stuff
--help Show this message and exit.
Commands:
checklora see if input file is a SD 1.x LoRA file
extractdata extract one tensor and save to file
extracthdr extract file header and save to output file
header print file header
listkeys print header key names (except __metadata__) as a Python list
metadata print only __metadata__ in file header
writemd read __metadata__ from json and write to safetensors file
最有用的事情可能是讀寫元數據命令。閱讀元數據:
python safetensors_util.py metadata input_file.safetensors -pm
許多SafetEnsors文件,尤其是LORA文件,在文件標頭中都有一個__ metadata__字段,記錄培訓信息,例如學習率,時代數量,所使用的圖像數量等。您可以看到您喜歡的文件是如何經過培訓的,並且可能將來對您自己的模型使用一些培訓參數。
可選的-PM標誌旨在使輸出更可讀。因為SafetEnsors文件僅允許在元數據中允許字符串到字符串字典,因此必須引用非弦樂值。基本上-PM標誌試圖轉動以下方式:
"ss_dataset_dirs":"{"abc": {"n_repeats": 2, "img_count": 60}}",
介入:
"ss_dataset_dirs":{
"abc":{
"n_repeats":2,
"img_count":60
}
},
您可以創建一個包含__ metadata__ __輸入的JSON文件:
{
"__metadata__":{
"Description": "Stable Diffusion 1.5 LoRA trained on cat pictures",
"Trigger Words":["cat from hell","killer kitten"],
"Base Model": "Stable Diffusion 1.5",
"Training Info": {
"trainer": "modified Kohya SS",
"resolution":[512,512],
"lr":1e-6,
"text_lr":1e-6,
"schedule": "linear",
"text_scheduler": "linear",
"clip_skip": 0,
"regularization_images": "none"
},
"ss_network_alpha":16,
"ss_network_dim":16
}
}
並使用writemd命令將其寫入SafetEnsors文件標頭:
python safetensors_util.py writemd input.safetensors input.json output.safetensors