np.split(),输出来自tf.nn.softmax

时间:2017-08-04 11:32:26

标签: python arrays numpy tensorflow

我正在使用Tensorflow进行部分语音标记。我通过这种方式得到softmax层的输出(它使用tf.nn.softmax):

pos_tags_confidences = sess.run(
        self.pos_tags_softmax_op,
        feed_dict=self.feed_dict(batch, is_test=True)
    )

POS-tags置信度有一个形状(580,21),看起来像这样:

[[  2.84045556e-04   1.08584835e-07   5.98690785e-05 ...,   
    7.19540509e-18
    9.11230517e-18   1.95343427e-21]
[  9.98795390e-01   4.86789819e-12   1.50688564e-07 ...,   
   8.64652642e-23
2.89635869e-14   1.35281987e-18]
[  1.54589606e-03   1.40889606e

我想在前一个数组上使用np.split()并将其拆分为[550,30]

问题是我得到以下结果:

  • 形状为(550,21)
  • 的数组
  • 一个空数组,
  • 另一个形状为(550,21)
  • 的数组

而不是:

  • 形状为(550,21)
  • 的数组
  • 形状为(30,21)
  • 的数组

可能出了什么问题?请注意,我在项目的其他地方使用相同的代码并且运行良好。

1 个答案:

答案 0 :(得分:2)

pos_tags_confidences = pos_tags_confidences.squeeze()
assert pos_tags_confidences.shape==(580, 21) 
split_arrays = np.split(pos_tags_confidences, [550], axis=0)