我已经尝试了以下内容来查找我创建的模型的probability
:
X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])
y = tf.placeholder(tf.float32, [None,n_outputs])
prediction=tf.argmax(y,1)
然后在尝试时代评估时:
print ("Probability Training: ", prediction.eval(feed_dict={X: x_train,y:y_train}, session=sess))})
我在jupyter笔记本中得到以下输出:
Probability Training: [0 3 1 ... 2 2 2]
这不是概率,而是输出的最大值我猜。
请帮助我找出模型的概率。请注意,我的模型不是使用convolution
而是使用简单的LSTM
。
您的prediction
变量是argmax评估,它将为您提供最高分的索引。使用softmax代替应该产生所需的输出,因为softmax会将您的分数转换为可以解释为概率的内容:
X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])
y = tf.placeholder(tf.float32, [None,n_outputs])
probabilities=tf.nn.softmax(y)
您仍然可以在稍后阶段在概率之上抛出argmax以提取最可能的类