Tensorflow 相当于 Theano 的 extra_ops.Unique

Tensorflow equivalent of Theano's extra_ops.Unique

如何找到与 Theano 的 extra_ops.Unique 函数等效的 Tensorflow?

tf.extra_ops.Unique(True, False, False)(la)[0].reshape([-1])

您可以使用 tf.unique.

  • 默认 tf.unique returns 元组 (unique_elements, idx)。对应于 theano.extra_ops.Unique(return_index=False, return_inverse=True, return_counts=False).

  • 如果需要return_counts=True,那么应该使用tf.unique_with_counts,对应theano.extra_ops.Unique(return_index=False, return_inverse=True, return_counts=True)

  • tf.unique 不支持 Theano(通过 ) supports, but you can reproduce that behavior with the following function (fetched on that github issue)的 return_index 论点:

    def unique_with_inverse(x):
      y, idx = tf.unique(x)
      num_segments = tf.shape(y)[0]
      num_elems = tf.shape(x)[0]
      return (y, tf.math.unsorted_segment_min(tf.range(num_elems), idx, num_segments))
    

    这个函数对应于theano.extra_ops.Unique(return_index=True, return_inverse=False, return_counts=False)