นี่คือโปรแกรมยูทิลิตี้น้ำหนักเบาสำหรับไฟล์ Safetensors ที่เขียนใน Python เท่านั้น (ไม่มีการพึ่งพาภายนอกที่สำคัญ) ขณะนี้สามารถทำสิ่งต่อไปนี้:
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
}
},
คุณสามารถสร้างไฟล์ JSON ที่มีรายการ __metadata__:
{
"__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
}
}
และเขียนลงในส่วนหัวไฟล์ safetensors โดยใช้คำสั่ง writemd :
python safetensors_util.py writemd input.safetensors input.json output.safetensors