我想问一下我到目前为止所训练的训练模型,即它趋向于准确性吗?

时间:2019-08-29 19:17:44

标签: tensorflow tensorboard

摘要

我是深度学习的新手,想了解有关张量板的历元准确性。我训练了深度学习模型,该模型具有400张图像(每个图像约960x1280像素),并已在张量板上可视化。谁能告诉我历元准确性的含义,在我看来这是足够好吗?或者我应该怎么做才能匹配训练和验证准确性呢?图片如下: enter image description here

2 个答案:

答案 0 :(得分:0)

标题 epoch_acc取决于您的代码。

如果您使用任何预定义的模型(例如keras ResNet50或github上的现成模型),则 epoch_acc 标题将在代码中提到。

在您的描述中,没有提供源代码。另外,不清楚您使用的是哪个tensorflow api( tensorflow core keras支持的tensorflow )。很难说清epoch_acc的含义。

此处epoch_acc相对于历元增量数可能是 总准确度 。我的意思是, Y 轴用于准确性,而 X 轴用于简单的时期计数 (多少次)您正在重复整个火车数据集。)

但是,请让我举一个例子,请看下面的代码。

准确度指标 title 分别为softmax_out_accring_loss_acc 如果我使用-

model.compile(loss = {'softmax_out' : 'categorical_crossentropy', 
                     'ring_loss' : identity_loss},
               metrics = ['accuracy'], 
               ... )
32/32 [==============================] - 116s 4s/step - loss: 3.1720 - softmax_out_loss: 0.8834 - ring_loss_loss: 22.8862 - softmax_out_acc: 0.5391 - ring_loss_acc: 0.0000e+00 - val_loss: 3.1074 - val_softmax_out_loss: 0.9071 - val_ring_loss_loss: 22.0037 - val_softmax_out_acc: 0.4590 - val_ring_loss_acc: 0.0000e+00

或者,如果您在张量板编写器like this:cross_entropy中使用tf.summary.scalar string

with tf.name_scope('cross_entropy'):
  with tf.name_scope('total'):
    cross_entropy = tf.losses.sparse_softmax_cross_entropy(labels=y_, logits=y)
tf.summary.scalar('cross_entropy', cross_entropy)

输出将如下所示

enter image description here

因此,深度学习中没有明确定义的epoch_acc,或者epoch_acc不是标准指标,它完全取决于您的代码。

答案 1 :(得分:0)

虽然Uzzal Podder's answer是正确的,但我认为在您的代码中,纪元_acc 可能代表了经过完整训练后的模型的准确性。

时期通常代表训练数据集的完整迭代。因此,对于您的数据集,这意味着要对400张图像进行完整的训练。

如果此假设正确,则 epoch_acc 将反映您的训练准确性。为了获得测试的准确性,您可能希望使用经过训练的模型来评估holdout set of data

缩小CNN的训练和测试准确性之间差距的方法已在此站点上得到了多次回答,我建议您首先研究一下这些答案。