【问题标题】:Generate a Prediction List生成预测列表
【发布时间】:2019-04-10 08:27:41
【问题描述】:

使用 Tensorflow,是否可以输出网络预测?

我的输出对 12 个类使用了 One Hot Representation

[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0]
etc...

当尝试从我的模型中对给定输入进行预测时,我运行了以下代码

    prediction=tf.argmax(y,1)
    best = sess.run([prediction],feed_dict={x: batch_x, y: batch_y,
                                  seqlen: batch_seqlen})
    print("Prediction: ")
    print(best)

我运行此代码并打印预测时的输出是:

[array([1, 5, 7, 7, 7, 4, 7, 9, 4, 4, 9, 6, 7, 8, 3, 2], dtype=int64)]

我输入的批量大小是 16,因此有 16 个输出确实有意义。但是,这些都不是 One Hot 表示(不确定 tensorflow 的输出是否打算作为索引进行交互,所以 1 实际上是某种形式的 onehot

有没有办法为每个特定的 X 创建一个排名预测列表,模型在给定 X 的情况下最有可能发现什么?

这有意义吗?

【问题讨论】:

    标签: python tensorflow neural-network recurrent-neural-network


    【解决方案1】:

    您正在使用 1-hot 向量的 tf.argmax,这就是为什么您看到的是索引而不是您预期的 1-hot 向量。

    要获得分类预测的排序列表,您可以获取预测向量并应用 values, indices = tf.nn.top_k(prediction)values 将是按 DESCENDING 排序的预测,indices 将是排序的 values' 索引。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 2011-04-24
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      相关资源
      最近更新 更多