[ log日志画图]分割模型训练结束生成相关日志运用代码画图

文章目录

  • [[ log日志画图]分割模型训练结束生成相关日志运用代码画图](#[ log日志画图]分割模型训练结束生成相关日志运用代码画图)
  • 我的log文件:
  • 画图:
    • 1.loss
        • [1.1 loss是干嘛的](#1.1 loss是干嘛的)
        • [1.2 代码](#1.2 代码)
        • [1.3 生成图](#1.3 生成图)
    • 2.DICE.IOU
        • [2.1 DICE,IOU是干嘛的(常规介绍)](#2.1 DICE,IOU是干嘛的(常规介绍))
        • [2.2 代码](#2.2 代码)
        • [2.3 生成图](#2.3 生成图)
        • 小白tip

[ log日志画图]分割模型训练结束生成相关日志运用代码画图

我的log文件:

这里大家看一下名字设置的和我一样吗,不一样后面自己要更改。

画图:

1.loss

1.1 loss是干嘛的

(常规介绍)

模型训练loss值是用来度量模型在训练数据上的拟合程度和预测误差的指标。

在训练过程中,模型通过最小化loss值来优化模型的参数,使其能够更好地拟合训练数据。当loss值越小,说明模型在训练数据上的预测结果与真实值的差距越小,表示模型的性能越好。

通过监控和分析loss值的变化,可以帮助我们理解模型的训练过程。如果loss值在训练过程中持续下降,表示模型正逐渐学习到数据的特征并进行拟合;如果loss值在训练过程中出现波动,可能表示模型遇到了一些困难,需要调整学习率或其他参数来优化模型;如果loss值在训练过程中停止下降或者开始上升,可能表示模型已经过拟合了训练数据,需要采取一些正则化方法来避免过拟合。

总之,通过监控和分析loss值,可以帮助我们追踪模型的训练过程和性能,并根据需要对模型进行调整和优化。

1.2 代码
python 复制代码
from matplotlib import rcParams
import matplotlib.pyplot as plt
import re

# 显示中文
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = 'SimSun,Times New Roman'

text = ''
file = open('log2.txt')  # 您的log.txt文件放在与python文件同级目录下
for line in file:
    text += line
file.close()
all_list = re.findall('Train loss: .*[0-9]', text)

train_loss = []
for i in all_list:
    train_loss.append(float(i.split('Train loss: ')[1].split(' ||')[0]))

plt.plot(train_loss, label='Train loss')

plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.title('Training Loss')
plt.legend(loc='best')
plt.show()
1.3 生成图

2.DICE.IOU

2.1 DICE,IOU是干嘛的(常规介绍)

DICE(Diversity, Independence, Complete Explanation )是一种用于评估机器学习模型性能的指标。在分割模型中,DICE系数被广泛应用。
DICE系数用于度量两个集合的相似性,通常用于评估分割模型的预测准确性。在分割任务中,模型预测出的分割结果与真实的分割结果进行比较。DICE系数的计算公式如下:

DICE = (2 * TP) / (2 * TP + FP + FN)

其中,TP表示正确预测的正样本数量,FP表示错误预测的正样本数量,FN表示未能预测到的正样本数量。DICE系数的取值范围为[0, 1],数值越接近1表示模型预测结果越接近真实结果,数值越接近0表示模型预测结果与真实结果差异越大。

在分割模型中,DICE系数常被用作评估模型的性能指标。通过计算模型预测结果与真实结果之间的DICE系数,可以衡量模型在分割任务中的准确性和稳定性。较高的DICE系数通常表示模型预测结果与真实结果较为一致,而较低的DICE系数可能暗示模型存在较大的误差或不准确性。

因此,DICE系数在分割模型中的作用是评估模型的预测准确性,并提供一种量化的衡量方式,帮助研究人员和从业者比较不同模型的性能,并进行模型的优化和改进。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

IOU(Intersection over Union)被用于评估分割结果的准确性。IOU衡量了预测分割结果与真实分割结果之间的重叠程度。

具体来说,IOU是通过计算预测分割结果的边界框(或像素)与真实分割结果的边界框(或像素)之间的交集面积除以它们的并集面积得到的。IOU的取值范围是0到1,表示预测分割结果与真实分割结果的重叠程度,数值越大表示分割结果越准确。

在训练过程中,常常使用IOU作为损失函数的一部分,帮助模型学习到更准确的分割结果。同时,在评估模型性能时,也会使用IOU作为一个重要的指标来衡量模型的分割准确性。
公式形式如下: IOU = (交集面积) / (并集面积)

2.2 代码
python 复制代码
from matplotlib import rcParams
import matplotlib.pyplot as plt
import re

# 显示中文
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = 'SimSun,Times New Roman'

text = ''
file = open('log2.txt')  # 您的log.txt文件放在与python文件同级目录下
for line in file:
    text += line
file.close()
all_list_iou = re.findall('IOU: .*[0-9]', text)
all_list_dice = re.findall('DICE: .*[0-9]', text)

iou_scores = []
dice_scores = []
for i in all_list_iou:
    iou_scores.append(float(i.split('IOU: ')[1].split(', DICE:')[0]))
for i in all_list_dice:
    dice_scores.append(float(i.split('DICE: ')[1].split(' ||')[0]))

plt.plot(iou_scores, label='IOU')
plt.plot(dice_scores, label='DICE')

plt.xlabel('Epoch')
plt.ylabel('Score')
plt.title('IOU and DICE Scores')
plt.legend(loc='best')
plt.show()
2.3 生成图
小白tip

训练完成后可能没有log.txt文件哈,小白看这里!这里可能会生成一个日期时间(或者其他任何).log文件,你直接打开文件点击查看,这个文件扩展名给它打上勾,然后回去到那个日志文件直接更改成log.txt

相关推荐
week_泽24 分钟前
第4课:为什么记忆能力如此重要 - 学习笔记_4
人工智能·笔记·学习·ai agent
week_泽1 小时前
第6课:如何管理短期记忆和长期记忆 - 学习笔记_6
人工智能·笔记·学习·ai agent
之歆8 小时前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
知乎的哥廷根数学学派8 小时前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词8 小时前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
待续3018 小时前
订阅了 Qoder 之后,我想通过这篇文章分享一些个人使用心得和感受。
人工智能
weixin_397578028 小时前
人工智能发展历史
人工智能
人工干智能8 小时前
OpenAI Assistants API 中 client.beta.threads.messages.create方法,兼谈一星*和两星**解包
python·llm
databook8 小时前
当条形图遇上极坐标:径向与圆形条形图的视觉革命
python·数据分析·数据可视化
强盛小灵通专卖员8 小时前
基于深度学习的山体滑坡检测科研辅导:从论文实验到系统落地的完整思路
人工智能·深度学习·sci·小论文·山体滑坡