Python Tensorflow多类分类损失
我最近一直在尝试基于以下示例实现多类分类LSTM体系结构: 在我改变之后Python Tensorflow多类分类损失,python,tensorflow,Python,Tensorflow,我最近一直在尝试基于以下示例实现多类分类LSTM体系结构: 在我改变之后 self.label = tf.placeholder(tf.int32, [None]) 到 模型似乎训练正常,但我在这一步上遇到了问题: self.loss = tf.reduce_mean( tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y_hat, labels=self.label)) # prediction
self.label = tf.placeholder(tf.int32, [None])
到
模型似乎训练正常,但我在这一步上遇到了问题:
self.loss = tf.reduce_mean(
tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y_hat, labels=self.label))
# prediction
self.prediction = tf.argmax(tf.nn.softmax(y_hat), 1)
因为,即使模型学习正常,预测似乎对多个变量不起作用。我想知道应该如何对self.prediction对象进行编码,以便它为单个实例发出预测向量
多谢各位
我想知道应该如何对self.prediction对象进行编码,所以
它为单个实例发出一个预测向量
通常
tf.nn.softmax
返回概率向量。您无法看到它们,因为您使用的是返回最大值的索引的tf.argmax
。因此,您将只获得一个号码。只要删除tf.argmax,您就会没事了 如果您想获得概率输出而不是标签,那么只删除tf.argmax
part怎么样self.prediction=tf.nn.softmax(y\u hat)
。谢谢,概率矩阵正是我想要的。不客气。我也希望能投赞成票:)谢谢!
self.loss = tf.reduce_mean(
tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y_hat, labels=self.label))
# prediction
self.prediction = tf.argmax(tf.nn.softmax(y_hat), 1)