Python tensorflow:输出层始终显示[1]
这是一个我正在训练的辨别网络,所以我可以在生成网络中使用它。我在一个具有2个特征的数据集上进行了培训,并进行了二进制分类。1=冥想0=不冥想。(数据来源于siraj raval的一段视频) 出于某些原因,输出层(ol)总是在每个测试用例中输出[1] 我的数据集: 主要问题 首先,这是无效的交叉熵损失。您使用的方程式仅适用于2个或更多输出。对于单个sigmoid输出,您必须执行以下操作Python tensorflow:输出层始终显示[1],python,machine-learning,tensorflow,neural-network,tensorflow-gpu,Python,Machine Learning,Tensorflow,Neural Network,Tensorflow Gpu,这是一个我正在训练的辨别网络,所以我可以在生成网络中使用它。我在一个具有2个特征的数据集上进行了培训,并进行了二进制分类。1=冥想0=不冥想。(数据来源于siraj raval的一段视频) 出于某些原因,输出层(ol)总是在每个测试用例中输出[1] 我的数据集: 主要问题 首先,这是无效的交叉熵损失。您使用的方程式仅适用于2个或更多输出。对于单个sigmoid输出,您必须执行以下操作 -tf.reduce_sum(labels*tf.log(ol) + (1-labels)*tf.log(1-o
-tf.reduce_sum(labels*tf.log(ol) + (1-labels)*tf.log(1-ol), name = 'loss')
否则,最佳解决方案是始终回答“1”(现在正在发生)
为什么?
请注意,标签仅为0或1,您的全部损失是标签和预测对数的乘积。因此,当真标签为0时,无论您的预测如何,您的损失都是0,因为无论x是什么,0*log(x)=0(只要定义了log(x))。因此,您的模型只会因为没有预测“1”而受到惩罚,因此它会一直学习输出1
还有一些奇怪的事情
2017-10-11 00:49:47.453721: W C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-10-11 00:49:47.454212: W C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-11 00:49:49.608862: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:955] Found device 0 with properties:
name: GeForce GTX 960M
major: 5 minor: 0 memoryClockRate (GHz) 1.176
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.35GiB
2017-10-11 00:49:49.609281: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:976] DMA: 0
2017-10-11 00:49:49.609464: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:986] 0: Y
2017-10-11 00:49:49.609659: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 960M, pci bus id: 0000:01:00.0)
Loss @ epoch 0 = 0.000135789
Loss @ epoch 1 = 4.16049e-05
Loss @ epoch 2 = 1.84776e-05
Loss @ epoch 3 = 9.41758e-06
Loss @ epoch 4 = 5.24522e-06
Loss @ epoch 5 = 2.98024e-06
Loss @ epoch 6 = 1.66893e-06
Loss @ epoch 7 = 1.07288e-06
Loss @ epoch 8 = 5.96047e-07
Loss @ epoch 9 = 3.57628e-07
Loss @ epoch 10 = 2.38419e-07
Loss @ epoch 11 = 1.19209e-07
Loss @ epoch 12 = 1.19209e-07
Loss @ epoch 13 = 1.19209e-07
Loss @ epoch 14 = -0.0
Loss @ epoch 15 = -0.0
Loss @ epoch 16 = -0.0
Loss @ epoch 17 = -0.0
Loss @ epoch 18 = -0.0
Loss @ epoch 19 = -0.0
Loss @ epoch 20 = -0.0
Loss @ epoch 21 = -0.0
Loss @ epoch 22 = -0.0
Loss @ epoch 23 = -0.0
Loss @ epoch 24 = -0.0
Loss @ epoch 25 = -0.0
Loss @ epoch 26 = -0.0
Loss @ epoch 27 = -0.0
Loss @ epoch 28 = -0.0
Loss @ epoch 29 = -0.0
Testing...
[[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]
[ 1.]]
Saving model...
[Finished in 57.9s]
-tf.reduce_sum(labels*tf.log(ol) + (1-labels)*tf.log(1-ol), name = 'loss')