精华内容
下载资源
问答
  • lossaccuracy关系

    万次阅读 2017-05-16 16:52:00
    http://www.cnblogs.com/dengdan890730/p/6132937.html
    展开全文
  • 根据log日志画accuracy loss

    千次阅读 2017-10-13 09:59:24
    在训练过程中画出accuracy 和loss曲线能够更直观的观察网络训练的状态,以便更好的优化网络的训练。 一、设置训练配置文件参数,保存训练时的参数至log文件  [python] view plain copy ...

     在训练过程中画出accuracy loss曲线能够更直观的观察网络训练的状态,以便更好的优化网络的训练。

    一、设置训练配置文件参数,保存训练时的参数至log文件 

    [python]  view plain  copy
    1. TOOLS=./build/tools  
    2. LOG=examples/testCreateLmDB/log/log-`date +%Y-%m-%d-%H-%M-%S`.log  
    3. $TOOLS/caffe train \  
    4.   --solver=examples/testCreateLmDB/my_quick_solver.prototxt 2>&1   | tee $LOG $@  

    其中:tee :将输出内容 重定向到日志文件中,同时在终端打印输出

                 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行


    二、开始训练后,在log目录里面生成“log-2017-03-22-10-33-20.log”日志文件

     

    三、解析log中的内容 分成train test 会在当前文件夹下生成log-data.train  log-data.test两个文件

     tools/extra

        ./parse_log.sh  log-2017-03-22-10-33-20.log

     

    四、调用py程序绘制图形 

    tools/extra

    ./plot_training_log.py.example 0 save.png log-data.log

    其中0代表曲线类型, save.png 代表保存的图片名称  caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下

    Notes:    1. Supporting multiple logs.    

              2. Log file name must end with the lower-cased ".log".

     Supported chart types:    0: Test accuracy  vs. Iters    1: Test accuracy  vs. Seconds    2: Test loss  vs. Iters     3: Test loss  vs. Seconds     4: Train learning rate  vs. Iters    5: Train learning rate  vs. Seconds     6: Train loss  vs. Iters     7: Train loss  vs. Seconds

    其结果如下:

    [python]  view plain  copy
    1. ./plot_training_log.py.example 0 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log   



    [python]  view plain  copy
    1. ./plot_training_log.py.example 2 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log   



    遇到问题:no display name and no $DISPLAY environment variable

    解决方案:vim 脚本plot_training_log.py.example并在脚本内添加

    import matplotlib
    matplotlib.use('Agg')
    :wq  运行命令,问题解决
    展开全文
  • 最近打算总结一下这部分东西,先记录留个脚印。 转载于:https://www.cnblogs.com/jianyingzhou/p/4269487.html

    最近打算总结一下这部分东西,先记录留个脚印。

    转载于:https://www.cnblogs.com/jianyingzhou/p/4269487.html

    展开全文
  • 准确率Accuracy与损失函数Loss关系

    千次阅读 多人点赞 2020-03-06 17:32:31
    在进行一项分类任务训练时,观察到验证集上的accuracy增加的同时,loss也在增加,因此产生了一些疑惑,对accuracyloss之间的关系进行探索。 定义 在理解他们的关系之前,先来回顾一下什么是交叉熵损失和准确率。...

    背景

    在进行一项分类任务训练时,观察到验证集上的accuracy增加的同时,loss也在增加,因此产生了一些疑惑,对accuracy和loss之间的关系进行探索。
    在这里插入图片描述

    定义

    在理解他们的关系之前,先来回顾一下什么是交叉熵损失和准确率。交叉熵损失函数:交叉熵输出的是正确标签的似然对数,和准确率有一定的关系,但是取值范围更大。交叉熵损失公式:
    在这里插入图片描述
    其中 y ^ ( i ) \widehat{y}^{(i)} y (i)为预测值, y ( i ) y^{(i)} y(i)为真实标签,可以看出交叉熵损失只关心对正确类别的预测概率。(在这里为简化讨论,我们假设一个样本里只要一个标签,即简单的0-1二分类问题。)
    当训练样本为n时,交叉熵损失函数为:
    在这里插入图片描述
    准确率:在分类问题中,准确率的定义简单粗暴,就是看预测的类别是否和真实的类别一致。在分类任务中,对于一个N类任务,输出就是一个N维的向量,向量每一个位置就代表了一种类别,对应位置的值就代表预测的目标属于该类的概率,比如猫狗的分类,输出向量为[0.3, 0.7],就表示输入的图属于猫的概率为0.3,属于狗的为0.7。在输出预测结果时,我们是取概率最大的索引所对应的的标签作为最终预测的结果标签,比如在上个例子中,预测输出:输入的图像类别为狗。

    关系

    清楚了定义之后,仔细思考就会发现其中的问题,因为准确率是输出最大的概率,因此0.9的概率值和0.5的概率值效果是等价的,只要保证他们是最大概率即可!请看下面的例子:
    比如我们现在预测猫和狗的类别,
    有一个样本预测输出是[0.1, 0.9], 它的交叉熵损失为loss = -1* log(0.9) = 0.046, 预测结果为:狗
    另一个样本的预测输出是[0.4, 0.6], 它的交叉熵损失为loss = -1 * log(0.6) = 0.222, 预测结果为:狗
    可以看出两个样本都预测的为狗,但是他们的交叉熵损失差别很大。因此我们在训练时,可能会出现准确率和交叉熵同时上升的情况。
    那么问题来了:
    既然准确率和损失都是评价模型好坏的,那么用一个不行吗?为什么要用两个并不完全等价的评价指标呢?
    这是因为,在分类问题中,可能准确率更加的直观,也更具有可解释性,更重要,但是它不可微,无法直接用于网络训练,因为反向传播算法要求损失函数是可微的。而损失函数一个很好的性质就是可微,可以求梯度,运用反向传播更新参数。即首选损失不能直接优化(比如准确率)时,可以使用与真实度量类似的损失函数。 损失函数的可微性,使得可以采用多种方式进行优化求解,例如牛顿法、梯度下降法、极大似然估计等。另外在分类任务中,使用accuracy可以,但是在回归任务中,accuracy便不再可用,只能使用loss。

    • 通过模型在 dev/test 集上的 accuracy ,计算模型正确分类的样本数与总样本数之比以衡量模型的效果,目标是对模型的效果进行度量。
    • 通过损失函数的计算,更新模型参数,目标是为了减小优化误差(Optimization error),即在损失函数与优化算法的共同作用下,减小模型的经验风险。

    总结准确度和交叉熵会出现以下情况:

    1. 如果正确标签的概率降低,但这个标签依然是概率最高的,会出现损失增加单准确度不变的结果。
    2. 如果数据集的标签很不平均,比如90%是类别A,那么模型一味增加预测A的比例,可能会让准确度上升,但loss可能也会以更大幅度上升(cross entropy的幅度可以很大)
    3. 如果模型非常自信,大多数正确标签的概率都接近1,那如果出现一个错误,准确率可能只会降低很少,但交叉熵可能会非常高。

    参考:
    https://blog.csdn.net/quiet_girl/article/details/86138489
    https://www.zhihu.com/question/264892967

    展开全文
  • Cross-Entropy LossAccuracy的数值关系

    千次阅读 2017-03-15 02:44:30
    Cross-Entropy LossAccuracy的数值关系
  • 在上一篇博文([歌词生成] 基于LSTM语言模型和seq2seq序列模型:数据爬取、模型思想、网络搭建、歌词生成)中,seq2seq训练之后,我们发现其在训练集合验证集上lossaccuracy变化如下: 我们首先来回顾一下过拟合...
  • 关于Pytorch中accuracyloss的计算

    千次阅读 2019-09-23 09:20:46
    这几天关于accuracyloss的计算有一些疑惑,原来是自己还没有弄清楚。 给出实例 def train(train_loader, model, criteon, optimizer, epoch): train_loss = 0 train_acc = 0 num_correct= 0 for step,...
  • accuracy:训练集准确率 val_loss:测试集损失值 val_accruacy:测试集准确率 以下5种情况可供参考: train loss 不断下降,test loss不断下降,说明网络仍在学习;(最好的) train loss 不断下降,test loss趋于不变,...
  • 总结: 博主认为,正是由于Accuracy计算时,采用的是相对最大概率,所以存在计算的lossaccuracy不成正比关系,即当accuracy很高时,有可能存在loss很高,这是由于,我们的目的是:使得最大下标的概率很大,接近于...
  • http://www.cnblogs.com/dengdan890730/p/6132937.html
  • 使用keras进行LSTM时序预测,我改变了epoch,但训练过程中的loss始终为0.05左右,accuracy始终为0.5左右,测试集上的lossaccuracy也是这两个数,请问是出现了什么问题,怎么解决呢
  • Caffe学习系列: 绘制lossaccuracy曲线

    千次阅读 2016-07-13 10:37:18
    Caffe学习系列: 绘制lossaccuracy曲线
  • 如何在window下绘制caffe的lossaccuracy曲线其大概方法都是要先生成log文件,然后通过其来绘制这两条曲线。生产log文件基本有两种方法。方法一 通过命令行来进行生成,其使用bat文件时的配置为: h: cd H:\VC...
  • print("loss:{}".format(loss)) graph.write_png('small_tree_accuracy{}.png'.format(accuracy)) 因为想要控制格式%3d,但是失败了, graph.write_png(‘small_tree_accuracy1+{accuracy:3d}+.png’) 貌似这会把...
  • 训练及loss以及测试集loss之间关系

    万次阅读 2018-08-15 23:58:30
    一,train loss与test loss结果分析 4666 train loss 不断下降,test loss不断下降,说明网络仍在学习; train loss 不断下降,test loss趋于不变,说明网络过拟合; train loss 趋于不变,test loss...
  • 如何在window下绘制caffe的lossaccuracy曲线 其大概方法都是要先生成log文件,然后通过其来绘制这两条曲线。生产log文件基本有两种方法。 方法一 通过命令行来进行生成,其使用bat文件时的配置为: h: cd H:...
  • train loss 不断下降,test loss不断下降,说明网络仍在学习; train loss 不断下降,test loss趋于不变,说明网络过拟合; train loss 趋于不变,test loss不断下降,说明数据集100%有问题; train loss 趋于不变,...
  • 使用caffe做二分类问题的时候,对于loss层的选择主要有以下两种常用的方法:1、sigmoid cross entropy 最后一层fc的输出设置为一个结点,输入的label是0或1。2、softmax with loss 最后一层fc的输出设置为两个结点...
  • caffe 显示各类 accuracy(含 accuracy_layer 源码修改)Tags: Deep_Learning本文主要包含如下内容:caffe 显示各类 accuracyaccuracy_layer 源码修改 方式一修改 prototxt 文件 方式二直接修改 accuracy_layercpp...
  • caffe中的Accuracy

    千次阅读 2017-12-13 12:58:47
    Caffe 中的 Accuracy 是precision,即:理解为你预测对的正例数,占预测正例总量的比率今天才偶然发现,caffe在计算Accuracy时,利用的是最后一个全链接层的输出(不带有acitvation function),比如:alexnet的...
  • python pyplot accuracy cost曲线绘制

    千次阅读 2018-07-22 20:28:55
    本文主要内容是使用python matplotlib绘制accuracy, cost曲线。在使用机器学习算法训练时往往需要输出训练的accuracy以及cost,但是最直观的方法还是绘制对应的曲线(根据训练的迭代期n),本文给出简要的绘制方法。...
  • Accuracy Layer

    千次阅读 2016-09-27 22:14:47
    如果为了使输出具有统计意义,需要加入softmax function,它只是使前面的全连接层的输出(fc8)具有了概率意义,并不改变这些输出之前的大小关系,因为softmax function本身就是增函数; 为了利用误差反向传播,...
  • 【AI Talking】Focal Loss ICCV2017 现场演讲(Tsung-Yi Lin) 文章目录1 Background and Motivation2 Advantages / Contributions / Innovations3 Related Work4 Method4.1 Focal Loss Definition4.2 Retina...
  • 本篇文章详细解读了Focal loss这篇文章的技术原理和同时提出的网络RetinaNet。
  • 1 train loss 不断下降,test loss 不断下降,说明网络正在学习 2 train loss 不断下降,test loss 趋于不变,说明网络过拟合 (如何解决网络过拟合) 3 train loss 趋于不变,test loss 趋于不变,说明学习遇到瓶颈,需要...
  • 目录 1、简介 2、不同情况的分析 ...而正确的情况应该是:一个好的loss的定义应该使得模型在训练集上随着loss的下降accuracy渐渐提高 2、不同情况的分析 val_loss和val_acc一起上升 深度学习中loss和accu.
  • 我是否意外地将训练和验证loss绘图的标签切换了? 潜在地。 我没有像matplotlib这样的绘图库,因此将丢失日志通过管道传输到CSV文件,然后在Excel中进行绘图。 绝对容易发生人为错误。 我的代码中有错误吗? 几乎...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,103
精华内容 3,241
关键字:

accuracyloss关系