Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于numpy索引和TensorFlow中的唯一运算符创建新的张量_Python_Tensorflow - Fatal编程技术网

Python 基于numpy索引和TensorFlow中的唯一运算符创建新的张量

Python 基于numpy索引和TensorFlow中的唯一运算符创建新的张量,python,tensorflow,Python,Tensorflow,我想创建一个新的张量,其中包含另一个张量的唯一元素,并根据索引张量进行排序。 以下是迄今为止的说明性代码: import tensorflow as tf a, _ = tf.unique([[1, 2], [3, 4], [1, 2], [3, 4], [3, 4]]) b, _ = tf.unique([1, 0, 1, 0, 0]) d = a[b, :] e = tf.global_variables_initializer() with tf.Session() as sess:

我想创建一个新的张量,其中包含另一个张量的唯一元素,并根据索引张量进行排序。
以下是迄今为止的说明性代码:

import tensorflow as tf
a, _ = tf.unique([[1, 2], [3, 4], [1, 2], [3, 4], [3, 4]])
b, _ = tf.unique([1, 0, 1, 0, 0])
d = a[b, :]
e = tf.global_variables_initializer()
with tf.Session() as sess:
  sess.run(e)
  sess.run(d)
  print d
基本上,在这种情况下,期望的输出张量应该等于 [[3, 4], [1, 2]]

为什么我的代码没有按预期工作?

您遇到的问题是由于tf.unique需要一维输入张量(请参阅此处:)

如果在1-D b张量上运行tf.unique,它会起作用:

将tensorflow导入为tf
a、 唯一的([[1,2],[3,4],[1,2],[3,4],[3,4])
b、 _uTF=tf.unique([1,0,1,0,0])
e=tf.global_variables_initializer()
使用tf.Session()作为sess:
sess.run(e)

打印(sess.run(b))
这里是我得到的错误:ValueError:形状必须是相等的秩,但是在将形状0与其他形状合并时是1和0。对于输入形状为[?],[]的“跨步”切片[U 1/堆栈[U 1”(op:'Pack')。