当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.sets.difference用法及代码示例


计算 ab 的最后一维元素的集合差。

用法

tf.sets.difference(
    a, b, aminusb=True, validate_indices=True
)

参数

  • a TensorSparseTensorb 的类型相同。如果稀疏,则索引必须按行优先顺序排序。
  • b TensorSparseTensora 的类型相同。如果稀疏,则索引必须按行优先顺序排序。
  • aminusb 是否从 a 中减去 b ,反之亦然。
  • validate_indices 是否验证 ab 中稀疏索引的顺序和范围。

返回

  • 一个 SparseTensor ,其形状与 ab 的等级相同,并且除了最后一个维度之外的所有维度都相同。沿最后一个维度的元素包含差异。

抛出

  • TypeError 如果输入是无效类型,或者如果ab 具有不同的类型。
  • ValueError 如果a 是稀疏的,而b 是稠密的。
  • errors_impl.InvalidArgumentError 如果 ab 的形状在除最后一个维度之外的任何维度中都不匹配。

除了ab 的最后一个维度之外的所有维度都必须匹配。

例子:

import tensorflow as tf
  import collections

  # Represent the following array of sets as a sparse tensor:
  # a = np.array([[{1, 2}, {3}], [{4}, {5, 6}]])
  a = collections.OrderedDict([
      ((0, 0, 0), 1),
      ((0, 0, 1), 2),
      ((0, 1, 0), 3),
      ((1, 0, 0), 4),
      ((1, 1, 0), 5),
      ((1, 1, 1), 6),
  ])
  a = tf.sparse.SparseTensor(list(a.keys()), list(a.values()),
                             dense_shape=[2, 2, 2])

  # np.array([[{1, 3}, {2}], [{4, 5}, {5, 6, 7, 8}]])
  b = collections.OrderedDict([
      ((0, 0, 0), 1),
      ((0, 0, 1), 3),
      ((0, 1, 0), 2),
      ((1, 0, 0), 4),
      ((1, 0, 1), 5),
      ((1, 1, 0), 5),
      ((1, 1, 1), 6),
      ((1, 1, 2), 7),
      ((1, 1, 3), 8),
  ])
  b = tf.sparse.SparseTensor(list(b.keys()), list(b.values()),
                             dense_shape=[2, 2, 4])

  # `set_difference` is applied to each aligned pair of sets.
  tf.sets.difference(a, b)

  # The result will be equivalent to either of:
  #
  # np.array([[{2}, {3}], [{}, {}]])
  #
  # collections.OrderedDict([
  #     ((0, 0, 0), 2),
  #     ((0, 1, 0), 3),
  # ])

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.sets.difference。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。