Tensorflow多类分类丢失

问题描述 投票:0回答:1

基于这个例子,我最近一直在尝试实现一个多类分类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对象进行编码,以便它为各个实例发出一个预测向量?

非常感谢你。

python tensorflow
1个回答
1
投票

我想知道如何对self.prediction对象进行编码,以便它为各个实例发出一个预测向量?

通常,tf.nn.softmax返回概率向量。你只是看不到它们,因为你正在使用tf.argmax,它返回最大值的索引。因此,您只需获得一个号码。只需删除tf.argmax就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.