使用TensorFlow的卷积神经网络

时间:2017-12-05 12:00:12

标签: python tensorflow deep-learning conv-neural-network

我正在使用Tensorflow构建CNN模型,而不使用任何前端API,如Keras。我正在创建一个VGG-16模型并使用预先训练过的权重,并希望对最后一层进行微调以达到我的目的。

按照此处的教程,http://cv-tricks.com/tensorflow-tutorial/training-convolutional-neural-network-for-image-classification/ 我重新创建了训练脚本并根据我的要求进行了修改。但是,我的训练没有发生,训练精度停留在50.00%,验证准确性正在形成重复数字的模式。 附件是相同的截图。 terminal output of the training script

我已经被困在这几天了,似乎无法找到错误。任何帮助表示赞赏。

代码很长,因此这是同一个

gist file

1 个答案:

答案 0 :(得分:0)

您的交叉熵是错误的,您正在将您的logits与logits的softmax进行比较。

此:

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=layer_fc2,
                                                    labels=y_pred)

应该是:

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=layer_fc2,
                                                    labels=y_true)

有些事情需要注意。我不会训练一些数据点,然后在同一个数据点上进行评估。这样做可能会影响您的训练准确性。另一点需要注意的是,tf.argmax(tf.softmax(logits))tf.argmax(logits)相同。

相关问题