|  | 
 
| 本帖最后由 江苏人 于 2024-1-25 21:15 编辑 
 小白专用,快速更改训练迭代
 
 版权声明:此非原创 仅为搬运帖
 
 下载连结:
 
 https://wwjm.lanzouq.com/iFmhi1mamsih
 密码:cbn3
 (仅适用DF原版或兼容的MVE版本模型,魔改版DF不适用)
 前言:
 设计这修改迭代,是基于有些参数改完后,或者更换了素材
 要重新计数,以便于知道修改后或更换素材后,知道训练了多少迭代
 一把菜刀能用来使坏也可以用来厨艺做菜,请往好的方向考量!
 ================================================
 以下将代码拷贝到记事本,储存为 .bat 脚本(或者上方连结直接下载亦可)
 放置在 df 工作目录,运行修改迭代的程序
 
 @echo off
 mode con cols=85 lines=60
 REM 以下为检测python版本路径是否正确
 if not exist  "%~dp0_internal\python-3.6.8\" (
 cls
 @echo .
 @echo .
 @echo .       检测到你的python不是 3.6.8
 @echo .
 @echo .       请用记事本,将本脚本上有 python-3.6.8 的文字
 @echo .
 @echo .       改为你自己的python目录名称路径
 @echo .
 @echo .       ===== 按任何键结束 =====
 @echo .
 pause>nul
 exit)
 
 REM 以下为检测模型是否存在
 if not exist  "%~dp0workspace\model\*_data.dat" (
 cls
 @echo .
 @echo .
 @echo .               没检测到存在的模型
 @echo .
 @echo .              请核实后再运行本脚本
 @echo .
 @echo .
 @echo .       ===== 按任何键结束 =====
 @echo .
 pause>nul
 exit)
 
 
 cls
 REM dir 指令查询存在的模型
 @echo .
 @echo 以下为找到的 df 模型
 dir/b "%~dp0workspace\model\*_data.dat"
 @echo =================================
 @echo .
 @echo .
 @echo .    1.xseg_data.dat的档名是遮罩模型,请勿更改!
 @echo .    2.以下你仅需输入档名,副档名 .dat 不用输入
 @echo .      例如new_SAEHD_data.dat 仅输入 new_SAEHD_data
 @echo .    3.严格区分大小写,档名如为 new_SAEHD_data或中文字均可
 @echo .      不可以输入NEW_SAEHD_DATA 切记!! 建议用复制方式贴上
 @echo .
 set /p model=请参考上面列出的模型,手动输入档名→
 
 REM 以下检测你输入的模型是否正确
 if not exist  "%~dp0workspace\model\%model%.dat" (
 cls
 @echo .
 @echo .
 @echo .              你输入的模型档名错误!
 @echo .
 @echo .              请核实后再运行本脚本
 @echo .
 @echo .
 @echo .       ===== 按任何键结束 =====
 @echo .
 pause>nul
 exit)
 
 REM 以下输入要修改的迭代数
 @echo .
 @echo .
 @echo . 请输入要修改的迭代数,必须是三位数以上 例如100 2000 等
 @echo . 请勿输入个位数和两位数,例如 0-99 这样会出错
 @echo .
 @echo .
 set /p Iterate=. 请输入你要修改的迭代数→
 
 cls
 rem =============修改迭代开始==============
 REM 以下两行删除先前的暂存档(若有),则直接删除
 del test.py/Q > nul
 del "%~dp0_internal\python-3.6.8\test.py" /Q > nul
 rem  用导管建立临时的 test.py 档案
 echo from os import path>>test.py
 echo import pickle>>test.py
 echo from pathlib import Path>>test.py
 echo model_data_path = r"..\..\workspace\model/%model%.dat">>test.py
 echo filepath = Path(model_data_path)>>test.py
 echo if filepath.exists():>>test.py
 echo         d_dumped = filepath.read_bytes()>>test.py
 echo         d = pickle.loads(d_dumped)>>test.py
 echo         d['options']['target_iter'] = 0>>test.py
 echo         d['iter'] = %Iterate%>>test.py
 echo         d['loss_history'] = []>>test.py
 echo         d['sample_for_preview'] = []>>test.py
 echo         d_dumped = pickle.dumps (d, 4)>>test.py
 echo         p_tmp = filepath.parent / (filepath.name + '.tmp')>>test.py
 echo         p_tmp.write_bytes(d_dumped)>>test.py
 echo         if filepath.exists():>>test.py
 echo             filepath.unlink()>>test.py
 echo         p_tmp.rename (filepath)>>test.py
 echo filepath.write_bytes(pickle.dumps(d))>>test.py
 xcopy test.py .\_internal\python-3.6.8\ /Y/Q > nul
 cd _internal
 cd python-3.6.8
 python test.py>nul
 cd..
 cd..
 del "%~dp0_internal\python-3.6.8\test.py" /Q > nul
 del test.py/Q > nul
 rem =============修改迭代结束==============
 
 cls
 @echo .
 @echo .
 @echo .
 @echo .      你修改的模型 %model%.dat
 @echo .      迭代数为 %Iterate%
 @echo .
 @echo .      按任何键关闭本程序。。。
 @echo .
 pause>nul
 exit/b
 
 
 
 
   
 
 
 
 
 
 
 
 | 
 |