Machine learning 如何从TensorFlow预测中获取类标签

Machine learning 如何从TensorFlow预测中获取类标签,machine-learning,tensorflow,neural-network,Machine Learning,Tensorflow,Neural Network,我在TF中有一个分类模型,可以得到下一个类(preds)的概率列表。现在我想选择最高的元素(argmax)并显示其类标签 这可能看起来很傻,但如何才能得到与预测张量中的某个位置相匹配的类标签呢 feed_dict={g['x']: current_char} preds, state = sess.run([g['preds'],g['final_state']], feed_dict) prediction = tf.argmax(preds,

我在TF中有一个分类模型,可以得到下一个类(preds)的概率列表。现在我想选择最高的元素(argmax)并显示其类标签

这可能看起来很傻,但如何才能得到与预测张量中的某个位置相匹配的类标签呢

        feed_dict={g['x']: current_char}
        preds, state = sess.run([g['preds'],g['final_state']], feed_dict)
        prediction = tf.argmax(preds, 1)
preds为每个类提供了一个预测向量。肯定有一种简单的方法可以输出最可能的类(标签)

关于我的模型的一些信息:

x = tf.placeholder(tf.int32, [None, num_steps], name='input_placeholder')
y = tf.placeholder(tf.int32, [None, 1], name='labels_placeholder')
batch_size = batch_size = tf.shape(x)[0]  
x_one_hot = tf.one_hot(x, num_classes)
rnn_inputs = [tf.squeeze(i, squeeze_dims=[1]) for i in
              tf.split(x_one_hot, num_steps, 1)] 

tmp = tf.stack(rnn_inputs)
print(tmp.get_shape())
tmp2 = tf.transpose(tmp, perm=[1, 0, 2])
print(tmp2.get_shape())
rnn_inputs = tmp2


with tf.variable_scope('softmax'):
    W = tf.get_variable('W', [state_size, num_classes])
    b = tf.get_variable('b', [num_classes], initializer=tf.constant_initializer(0.0))


rnn_outputs = rnn_outputs[:, num_steps - 1, :]
rnn_outputs = tf.reshape(rnn_outputs, [-1, state_size])
y_reshaped = tf.reshape(y, [-1])
logits = tf.matmul(rnn_outputs, W) + b
predictions = tf.nn.softmax(logits)

您可以为此使用
tf.reduce_max()
。我想请你参考一下。
让我知道它是否有效-如果无效,将进行编辑。

您可以使用
tf.reduce\u max()
进行此操作。我想请你参考一下。
让我知道它是否有效-如果无效,将进行编辑。

谢谢,但如果我知道最大值,我仍然不知道哪个类标签对应。抱歉问。但这给出了预测值(例如0.8)。我怎样才能知道.8属于哪个类?我也有同样的疑问。在我们调用这个之后,我们得到给定类的最大概率。我们如何将这个概率转换成一个标签?谢谢,但是如果我知道最大值,我仍然不清楚哪个类标签对应。抱歉问。但这给出了预测值(例如0.8)。我如何从那里知道.8属于哪个类?我也有同样的疑问。在我们调用它之后,我们得到给定类的最大概率。我们如何将这个概率转换成一个标签?