我有一个神经网络模型,它的最后一层是9个输出神经元的完全连接层。
为了正确训练我的网络,我正在使用softmax_cross_entropy_with_logits。
它训练好,但是当我想评估我的模型时,我也想要概率。
所以我拿一个评估样本并将其提供给网络。
之后我将softmax应用于输出并得到
[[ 0. 0. 0. 0. 0. 1. 0. 0. 0.]]
这里还有非标准化的概率:
[[ -2710.10620117 -2914.37866211 -5045.04443359 -4361.91601562
-459.57000732 8843.65820312 -1871.62756348 5447.12451172
-10947.22949219]]
我也得到1的可行性,休息是0。 有人可以帮忙解决这个问题吗?
编辑:
输入图像的形状为64 * 160
所有激活功能都是relu。
最大池数为2x2。
在conv_plus_max_pool_layer(x_image,5,1,96)中,5是内核大小。
这是网络布局:
hidden_block_1 = conv_plus_max_pool_layer(x_image, 5, 1, 96)
hidden_block_2 = conv_plus_max_pool_layer(hidden_block_1, 5, 96, 256)
hidden_block_3 = conv_plus_max_pool_layer(hidden_block_2, 3, 256, 384)
hidden_block_4 = conv_plus_max_pool_layer(hidden_block_3, 3, 384, 512)
fc1 = dropout_plus_fc(4 * 10 * 512, 512, hidden_block_4, keep_prob_drop1)
output = dropout_plus_fc(512, model_net10_train.class_num, fc1, keep_prob_drop2)
答案 0 :(得分:2)
看起来您的网络非常确定输出;)
在这种情况下,如果没有您的网络布局,我认为我们可以为您做很多事情......我的一些直觉:通往您的输出层的图层有太多节点(因此给出了你这些huuuge数字),我怀疑你不使用RELU或tanh等非线性。您可能想要检查的另一件事是权重的初始值(可能太大),以及您正在使用的学习率(可能太高)。