基于这个例子,我最近一直在尝试实现一个多类分类LSTM架构:biLSTM example
我换了之后
self.label = tf.placeholder(tf.int32, [None])
至
self.label = tf.placeholder(tf.int32, [None,self.n_class)
该模型似乎正常训练,但我在这一步遇到了麻烦:
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就可以了。