[ 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

相关推荐
vivo互联网技术2 小时前
未来,什么才是 AI“正确的使用方式”
人工智能·ai编程
甲维斯2 小时前
豆包Seed2.1Pro编程能力测试!
人工智能·ai编程
Zy宇3 小时前
从养 OpenClaw 到养社区 AI:一套 Multi-Agent 社区的设计思路
人工智能·ai
雪隐3 小时前
个人电脑玩AI-06让5060 Ti给你打工——Qwen3.6-35B-A3B + LM Studio + openWebUI
人工智能·后端
得物技术3 小时前
从表单到 Agent:得物社区活动搭建的 AI 实践之路
人工智能·架构·agent
Weigang4 小时前
给 Agent 接入 Qdrant 前,先写清楚检索合同
人工智能
字节跳动数据库4 小时前
文章分享——庖丁解牛-图解查询分析和调优利器Optimizer Trace
人工智能·程序员
宇宙之一粟4 小时前
乐企版式文件生成平台
java·后端·python
以和为贵4 小时前
前端手写 RAG 踩坑实录:四个让检索"翻车"的坑
前端·人工智能·面试
何时梦醒4 小时前
深入理解 LLM Tokenization:从文本分词到语义向量化的完整旅程
人工智能