我刚开始玩TensorFlow。我无法让tf.nn.softmax
与tf.placeholder
合作。这段代码:
import tensorflow as tf
import numpy as np
shape = [1, 3]
value = 0.
probs = tf.constant(value, shape=shape)
sampling_prob = tf.nn.softmax(probs)
with tf.Session() as sess:
print(sess.run(sampling_prob))
按预期,返回[[ 0.33333334 0.33333334 0.33333334]]
。但是当我把它改为:
probs2 = tf.placeholder(tf.float32, shape=shape)
sampling_prob2 = tf.nn.softmax(probs2)
with tf.Session() as sess:
print(sess.run(sampling_prob2, feed_dict={probs2: np.full(shape, value)}))
我突然得到[[ 0. 0. 0.]]
。怎么可能呢?
在Windows 10,Python 3.5.2,TensorFlow 0.12,CUDA 8上运行。
答案 0 :(得分:0)
代码适用于我(Ubuntu,Python 2,TensorFlow 0.11 GPU,CUDA 8)。 Windows对TensorFlow的支持非常新(大约一个月左右) - 看起来你可能想在他们的问题中提到这一点:https://github.com/tensorflow/tensorflow/issues。