import pandas as pd
# 读取 TXT 文件
with open(r"results.txt", 'r') as file:
lines = file.readlines()
# 定义标题行
headers = [
"训练次数", "GPU消耗", "训练集边界框损失", "训练集目标检测损失", "训练集分类损失", "训练集总损失",
"targets目标", "输入图片大小", "Precision", "Recall", "mAP@.5", "mAP@.5:.95",
"验证集边界框损失", "验证集目标检测损失", "验证集分类损失"
]
# 解析每一行数据并将其存储在列表中
data = []
for line in lines:
# 按空格分隔每一行的数据
row = line.strip().split()
data.append(row)
# 将数据转换为 DataFrame
df = pd.DataFrame(data)
# 添加标题行
df.columns = headers
# 将数据转换为数字类型
df = df.apply(pd.to_numeric, errors='ignore')
# 找出 mAP@.5 列的最大值
max_map_5 = df["mAP@.5"].max()
# 找到最大值所在的行
max_row = df[df["mAP@.5"] == max_map_5]
# 打印 mAP@.5:.95 列的值
for _, row in max_row.iterrows():
print(f"最大 mAP@.5: {max_map_5}, 对应 mAP@.5:.95: {row['mAP@.5:.95']}")
# 将 DataFrame 保存到 Excel 文件中
df.to_excel('output.xlsx', index=False)
print(f"数据已保存到 output.xlsx")
04-14
9408
07-11
3766
07-13
2万+