问题:跑深度学习代码,很多时候需要修改配置文件中的一个或几个参数,如果每次修改都要守在代码面前是很浪费精力的,尤其是如果代码在半夜结束的话,时间其实是被浪费了(卷狗发言)!写一个脚本按自己预先设定的超参数去改代码跑代码很有必要。而且也很简单。
步骤很简单,其实就是两步,改和跑。
1.改
这里提供一个修改的函数,仅供参考(忘了之前从哪篇博客抄来的了T-T)。
def alter(file,target_row,new_str):
"""
替换文件中的字符串
:param file:文件名
:param key_target_rowrow:修改目标
:param new_str:新字符串
:return:
"""
file_data = ""
with open(file, "r", encoding="utf-8") as f:
for line in f:
if target_row in line:
line = line.split(':')[0] + ': ' + new_str + '\n'
file_data += line
with open(file,"w",encoding="utf-8") as f:
f.write(file_data)
改代码无非也就三步,打开文件,定位超参数位置,修改保存。
2.跑
代码改好了就该让代码跑起来了。linux系统下跑代码用os.system(cmd)即可。cmd是你在linux终端跑代码的命令。os.system()命令自带阻塞功能,不用担心多个代码同时运行爆内存显存CPU的问题。