deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 24|回复: 0

删除免费丹里面他们自己添加的键值键名

[复制链接]

22

主题

159

帖子

1054

积分

初级丹圣

Rank: 8Rank: 8

积分
1054
 楼主| 发表于 昨天 23:28 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
大家公布的免费丹,很多都添加了一些自定义的东西,这是可以理解的,但是里面的语言过激,属实有点不文明。比方说这个里面的



==---------------- Model Options -----------------==

==        gan_patch_size: 36                      ==
==              gan_dims: 16                      ==
==              猫之汉化免费丹 : 564646676               ==
==                  盗卖死妈: 生孩子全身都是痔疮               ==
==                  请自重!: 请自重!                    ==
==                  AI王子: dapixiao                ==
==                  西行之巅: 奥贝赛维                    ==
==                都是死妈骗子: 小心!                     ==


里面的这些属实有点不文明

==                  盗卖死妈: 生孩子全身都是痔疮               ==
==                  请自重!: 请自重!                    ==
==                  AI王子: dapixiao                ==
==                  西行之巅: 奥贝赛维                    ==
==                都是死妈骗子: 小心!                     ==


行了直接说方法:
models里面的都是pickle生成的序列化的数据,知道这个加载修改就行了。
我给大家提供一种脚本,代码如下面,复制后存为py文件就行了。
  1. import pickle
  2. from pathlib import Path
  3. import sys


  4. def load_model(model_path):
  5.     """加载模型文件"""
  6.     try:
  7.         model_data = Path(model_path).read_bytes()
  8.         model = pickle.loads(model_data)
  9.         return model
  10.     except FileNotFoundError:
  11.         print(f"错误: 找不到模型文件 {model_path}")
  12.         return None
  13.     except Exception as e:
  14.         print(f"加载模型时出错: {e}")
  15.         return None


  16. def save_model(model, model_path):
  17.     """保存模型到文件"""
  18.     try:
  19.         model_data = pickle.dumps(model)
  20.         Path(model_path).write_bytes(model_data)
  21.         print(f"模型已成功保存到 {model_path}")
  22.         return True
  23.     except Exception as e:
  24.         print(f"保存模型时出错: {e}")
  25.         return False


  26. def remove_option_from_model(model_path, option_key):
  27.     """从模型中删除指定的options配置并保存"""
  28.     # 加载模型
  29.     model = load_model(model_path)
  30.     if model is None:
  31.         return False

  32.     # 检查是否存在options
  33.     if 'options' in model:
  34.         options = model['options']
  35.         if option_key in options:
  36.             # 删除指定的option
  37.             removed_value = options.pop(option_key)
  38.             print(f"已从模型中删除option '{option_key}': {removed_value}")

  39.             # 保存修改后的模型
  40.             return save_model(model, model_path)
  41.         else:
  42.             print(f"模型中未找到option '{option_key}'")
  43.             return False
  44.     else:
  45.         print("模型中未找到options配置")
  46.         return False


  47. def list_options(model_path):
  48.     """列出模型中的所有options"""
  49.     model = load_model(model_path)
  50.     if model is None:
  51.         return

  52.     if 'options' in model:
  53.         print("当前模型中的options:")
  54.         for key, value in model['options'].items():
  55.             print(f"  {key}: {value}")
  56.     else:
  57.         print("模型中未找到options配置")


  58. def main():
  59.     """主函数"""
  60.     print("=== 模型Options管理工具 ===")

  61.     # 获取模型文件路径
  62.     model_path = input("请输入模型文件路径 (默认: XSeg_data.dat): ").strip()
  63.     if not model_path:
  64.         model_path = r"\DeepFaceLab_NVIDIA_RTX3000_series\workspace\model\XSeg_data.dat"

  65.     while True:
  66.         print("\n请选择操作:")
  67.         print("1. 查看所有options")
  68.         print("2. 删除指定option")
  69.         print("3. 退出")

  70.         choice = input("请输入选择 (1-3): ").strip()

  71.         if choice == '1':
  72.             list_options(model_path)

  73.         elif choice == '2':
  74.             list_options(model_path)
  75.             option_key = input("请输入要删除的option键名: ").strip()
  76.             if option_key:
  77.                 confirm = input(f"确认要删除option '{option_key}'吗? (y/N): ").strip().lower()
  78.                 if confirm == 'y' or confirm == 'yes':
  79.                     remove_option_from_model(model_path, option_key)
  80.                 else:
  81.                     print("操作已取消")
  82.             else:
  83.                 print("未输入有效的option键名")

  84.         elif choice == '3':
  85.             print("再见!")
  86.             break

  87.         else:
  88.             print("无效选择,请重新输入")


  89. if __name__ == "__main__":
  90.     main()
复制代码
把上面的复制到文本里面 存为xxx.py文件就行了。

然后在cmd里面用deepfacelab里面的python调用这个py文件运行就行了

比方说我这个命令行里面   输入
  1. D:\AI\DeepFaceLab_NVIDIA_RTX3000_series\_internal\python-3.6.8\python.exe D:\AI\DeepFaceLab_PyTorch\_internal\修改模型里面的键名.py
复制代码


D:\AI\DeepFaceLab_NVIDIA_RTX3000_series\_internal\python-3.6.8\python.exe 是你的deepfacelab目录里面的python-3.6.8\python.exe
D:\AI\DeepFaceLab_PyTorch\_internal\修改模型里面的键名.py 是上面复制的代码存为的xxx.py的路径


然后按照里面的提示逐步操作就行了


屏幕截图 2026-01-23 232002.png
屏幕截图 2026-01-23 232415.png
屏幕截图 2026-01-23 232447.png
屏幕截图 2026-01-23 232707.png



回复

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2026-1-24 03:16 , Processed in 0.104080 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表