TensorFlow数学函数:tf.setdiff1d
2018-01-18 11:23 更新
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.