【问题标题】:How to find the intersection between two matrix array in Tensorflow 2.0如何在 Tensorflow 2.0 中找到两个矩阵数组之间的交集
【发布时间】:2020-06-19 06:29:14
【问题描述】:
return tf.sets.intersection(set_1,set_2)

我收到了错误消息

    return ops.EagerTensor(value, ctx.device_name, dtype)
ValueError: TypeError: object of type 'RaggedTensor' has no len()

我的 set_1 和 set_2 的类型如下

> set_1-> <tf.RaggedTensor [[0.1733333319425583, 0.2866666615009308,
> 1.5666667222976685, 1.3966666460037231], [0.5233333110809326, 0.1433333307504654, 0.9599999785423279, 0.5533333420753479]]>
> 
> set_2-> tf.Tensor( [[-0.03684211 -0.03684211  0.06315789  0.06315789] 
> [-0.05755278 -0.05755278  0.08386857  0.08386857]  [-0.05755278
> -0.02219744  0.08386857  0.04851323]  ...  [ 0.          0.          1.          1.        ]  [-0.1363961   0.18180195  1.1363961   0.81819805]  [ 0.18180195 -0.1363961   0.81819805  1.1363961 ]], shape=(8732, 4), dtype=float64) set1-> <tf.RaggedTensor
> [[0.1733333319425583, 0.2866666615009308, 1.5666667222976685,
> 1.3966666460037231], [0.5233333110809326, 0.1433333307504654, 0.9599999785423279, 0.5533333420753479]]> set_2-> tf.Tensor( [[-0.03684211 -0.03684211  0.06315789  0.06315789]  [-0.05755278
> -0.05755278  0.08386857  0.08386857]  [-0.05755278 -0.02219744  0.08386857  0.04851323]  ...  [ 0.          0.          1.          1.        ]  [-0.1363961   0.18180195  1.1363961   0.81819805]  [ 0.18180195
> -0.1363961   0.81819805  1.1363961 ]], shape=(8732, 4), dtype=float64)

set_1 是参差不齐的张量,set_2 是张量
因为

new_boxes = tf.ragged.constant(new_boxes)
dataset = tf.data.Dataset.from_tensor_slices((images,new_boxes,labels))

如果我没有将 new_boxes 更改为 ragged_tensor,这将不起作用
我想找到两个 set_1 和 set_2 的交集。
我应该如何解决它以及如何处理它?

【问题讨论】:

    标签: tensorflow tensorflow2.0 data-analysis tensor ragged


    【解决方案1】:

    不规则张量不支持该操作,但它适用于稀疏张量,因此您只需将不规则张量转换为 .to_sparse()

    return tf.sets.intersection(set_1.to_sparse(), set_2)
    

    您也可以使用.to_tensor() 将其转换为常规张量,但这会更昂贵,并且还需要您找到未出现在数据中的default_value

    【讨论】:

      猜你喜欢
      • 2018-08-31
      • 2012-08-07
      • 2015-08-28
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2021-09-20
      相关资源
      最近更新 更多