TensorFlow - 占位符上的softmax

时间:2016-12-12 02:58:30

标签: python tensorflow softmax

我刚开始玩TensorFlow。我无法让tf.nn.softmaxtf.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上运行。

1 个答案:

答案 0 :(得分:0)

代码适用于我(Ubuntu,Python 2,TensorFlow 0.11 GPU,CUDA 8)。 Windows对TensorFlow的支持非常新(大约一个月左右) - 看起来你可能想在他们的问题中提到这一点:https://github.com/tensorflow/tensorflow/issues