代码拉取完成,页面将自动刷新
"""
@author: zhangkai
@license: (C) Copyright 2017-2023
@contact: myjjzhk@126.com
@Software : PyCharm
@file: restore.py
@time: 2021-11-12 10:39:34
@desc:
"""
import argparse
import os
import shutil
def parse_args(argv=None):
parser = argparse.ArgumentParser(description="Project")
parser.add_argument('-epoch', default=1, type=int, help='')
args = parser.parse_args(argv)
return args
def restore_eval(epoch, folder: str = 'logger'):
current = epoch
while True:
directory = os.path.join(folder, "eval_logs", "%d" % current)
file = os.path.join(folder, "eval_logs", "%d.txt" % current)
if os.path.exists(directory):
shutil.rmtree(directory)
os.remove(file)
else:
break
current += 1
lines = []
with open(os.path.join(folder, "eval_logs", "eval.log"), 'r') as f:
lines = f.readlines()
# epoch 28 - mAP : 0.561
lines = [x for x in lines if int(x.strip().split(' - ')[0].split(' ')[1]) < epoch]
os.remove(os.path.join(folder, "eval_logs", "eval.log"))
with open(os.path.join(folder, "eval_logs", "eval.log"), 'w') as f:
for line in lines:
f.write(line)
f.flush()
def restore_test(epoch: int, folder: str = 'logger'):
while True:
directory = os.path.join(folder, "test_logs", "%d" % epoch)
if os.path.exists(directory):
shutil.rmtree(directory)
else:
break
epoch += 1
def restore_train(epoch, folder: str = 'logger'):
current = epoch
while True:
file = os.path.join(folder, "train_logs", "%d.pth" % current)
if os.path.exists(file):
os.remove(file)
else:
break
current += 1
lines = []
with open(os.path.join(folder, "train_logs", "checkpoint.log"), 'r') as f:
lines = f.readlines()
# epoch 28 - mAP : 0.561
lines = [x for x in lines if int(x.strip().split(' - ')[0].split(' ')[1]) < epoch]
os.remove(os.path.join(folder, "train_logs", "checkpoint.log"))
with open(os.path.join(folder, "train_logs", "checkpoint.log"), 'w') as f:
for line in lines:
f.write(line)
f.flush()
with open(os.path.join(folder, "train_logs", "loss.log"), 'r') as f:
lines = f.readlines()
# epoch 28 - mAP : 0.561
lines = [x for x in lines if int(x.strip().split(' - ')[0].split(' ')[1]) < epoch]
os.remove(os.path.join(folder, "train_logs", "loss.log"))
with open(os.path.join(folder, "train_logs", "loss.log"), 'w') as f:
for line in lines:
f.write(line)
f.flush()
if __name__ == '__main__':
args = parse_args()
epoch = args.epoch
restore_test(epoch)
restore_eval(epoch)
restore_train(epoch)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。