lsmpp's picture
Add files using upload-large-folder tool
d477207 verified
#!/usr/bin/env python3
"""
检查提取的VAE和UNet组件的精度和基本信息
"""
import os
import sys
from pathlib import Path
from safetensors.torch import load_file
def check_component_info(file_path):
"""检查组件文件的信息"""
if not Path(file_path).exists():
print(f"❌ 文件不存在: {file_path}")
return
print(f"\n📄 检查文件: {Path(file_path).name}")
try:
# 加载权重
state_dict = load_file(file_path)
# 统计信息
total_params = 0
dtypes = set()
for key, tensor in state_dict.items():
total_params += tensor.numel()
dtypes.add(str(tensor.dtype))
file_size = Path(file_path).stat().st_size / (1024**3) # GB
print(f" 📊 参数数量: {total_params:,}")
print(f" 💾 文件大小: {file_size:.2f} GB")
print(f" 🎯 数据精度: {', '.join(dtypes)}")
print(f" 🔧 参数种类: {len(state_dict)} 个张量")
# 显示前几个参数的键名
keys = list(state_dict.keys())[:5]
print(f" 🔑 示例参数: {', '.join(keys)}")
if len(state_dict) > 5:
print(f" ... 还有 {len(state_dict) - 5} 个参数")
except Exception as e:
print(f"❌ 检查失败: {e}")
def main():
# 设置路径
script_dir = Path(__file__).parent.absolute()
base_dir = script_dir.parent
extracted_dir = base_dir / "models" / "extracted_components"
print("🔍 检查提取的组件信息")
print("=" * 50)
# 检查各个组件文件
components = [
"waiNSFWIllustrious_v140_vae.safetensors",
"waiNSFWIllustrious_v140_unet.safetensors"
]
for component in components:
file_path = extracted_dir / component
check_component_info(file_path)
print(f"\n📂 检查目录: {extracted_dir}")
# 检查配置文件
config_files = [
"waiNSFWIllustrious_v140_vae_config.json",
"waiNSFWIllustrious_v140_unet_config.json"
]
print(f"\n📋 配置文件:")
for config_file in config_files:
config_path = extracted_dir / config_file
if config_path.exists():
print(f" ✅ {config_file}")
else:
print(f" ❌ {config_file} (缺失)")
if __name__ == "__main__":
main()