阅读(1648) (13)

TensorFlow数学函数:tf.setdiff1d

2018-01-18 11:04:14 更新

tf.setdiff1d 函数

setdiff1d(
    x,
    y,
    index_dtype=tf.int32,
    name=None
)

定义在:tensorflow/python/ops/array_ops.py.

请参阅指南:数学>序列比较和索引,张量转换>分割和连接

计算两个数字或字符串列表之间的差异.

给定一个列表x和一个列表y,这个操作返回一个列表out,它表示 x 而不是 y 中的所有值.返回的列表out按照数字出现的顺序排序x(保留重复项).该操作还返回一个列表idx表示每个x中out元素的位置.换一种说法:

out[i] = x[idx[i]] for i in [0, 1, ..., len(out) - 1]

例如,给出这个输入:

x = [1, 2, 3, 4, 5, 6]
y = [1, 3, 5]

该操作将返回:

out ==> [2, 4, 6]
idx ==> [1, 3, 5]

函数参数

  • x:一个Tensor;1-d;要保持的值.
  • y:一个Tensor;必须与x具有相同的类型;1-d;要删除的值.
  • out_idx:可选的tf.DType来自:tf.int32, tf.int64;默认为tf.int32.
  • name:操作的名称(可选).

函数返回值

Tensor对象的元组(out,idx).

  • out:一个Tensor.与x有相同的类型;1-d;出现在x,但而不是y中的值.
  • idx:out_idx类型的Tensor;1-d;x的值的位置保存在out.