批量上唯一的Tensorflow

时间:2018-11-29 14:34:17

标签: python python-3.x tensorflow gpu-programming

我想找到许多集合的整数集的大小(无重复)。目前 我用

if (found) {
// do something
} else {
// do something else
}

实现这一目标。但这仅适用于一维张量。我有两个问题:

1)迁移到例如100个向量的批次(矩阵)是否可以在GPU上并行运行代码,从而节省性能?

2)如果是,那么如何使用批处理支持的tf.unique()版本?

  • 我可以使用 map_fn 以某种方式并行运行 unique()吗?

3)如果不是,那么如何确保以上代码在GPU上有效运行?

---------编辑-----

我能够使用

运行 tf.unique()
...
un_3 = tf.unique(dataset_iter.get_next())
with tf.Session() as sess:
    while True:
       result = sess.run(un_3, feed_dict={Y: some_other_data})
       ...save result..

但是问题仍然存在-它将在GPU上并行运行吗?

1 个答案:

答案 0 :(得分:0)

map_fn版本不是并行的。因此,我使用以下(不太干净)的代码来处理批处理:

un_3_00, _ = tf.unique(un_2[0,:])
un_3_01, _ = tf.unique(un_2[1,:])
un_3_02, _ = tf.unique(un_2[2,:])
...