tf.sets.intersection的错误:ValueError:形状必须至少为2级,但对于'DenseToDenseSetOperation_12'为1级

时间:2019-09-13 04:44:46

标签: python tensorflow

我已在下面复制并隔离了我的错误。我是Tensorflow的新手。是否由于我没有正确初始化idx1和idx2变量而发生此错误?如果是这样,我该怎么办?

我得到的错误是“ ValueError:形状必须至少为2级,但对于'DenseToDenseSetOperation_12'(op:'DenseToDenseSetOperation'),输入形状为[3],[3],其等级为1。”

import tensorflow as tf

idx1 = [1,2,3]
idx2 = [2,4,5]

intersection = tf.sets.intersection(tf.convert_to_tensor(idx1), tf.convert_to_tensor(idx2))
sess = tf.compat.v1.Session()
with sess.as_default():
  assert tf.compat.v1.get_default_session() is sess
  print(intersection.eval())

1 个答案:

答案 0 :(得分:0)

该错误表明您的idx变量不符合intersection方法的要求(有关rank的详细信息,请参见docs)。例如,您不应该使用二维数组来得到此错误:

idx1 = [[1, 2, 3]]
idx2 = [[2, 4, 5]]