tf.sets.difference
Stay organized with collections
Save and categorize content based on your preferences.
Compute set difference of elements in last dimension of a
and b
.
tf.sets.difference(
a, b, aminusb=True, validate_indices=True
)
All but the last dimension of a
and b
must match.
Example:
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),
# ])
Args |
a
|
Tensor or SparseTensor of the same type as b . If sparse, indices
must be sorted in row-major order.
|
b
|
Tensor or SparseTensor of the same type as a . If sparse, indices
must be sorted in row-major order.
|
aminusb
|
Whether to subtract b from a , vs vice versa.
|
validate_indices
|
Whether to validate the order and range of sparse indices
in a and b .
|
Returns |
A SparseTensor whose shape is the same rank as a and b , and all but
the last dimension the same. Elements along the last dimension contain the
differences.
|
Raises |
TypeError
|
If inputs are invalid types, or if a and b have
different types.
|
ValueError
|
If a is sparse and b is dense.
|
errors_impl.InvalidArgumentError
|
If the shapes of a and b do not
match in any dimension other than the last dimension.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.sets.difference\n\n\u003cbr /\u003e\n\n|-----------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/ops/sets_impl.py#L208-L286) |\n\nCompute set difference of elements in last dimension of `a` and `b`.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.sets.difference`](https://www.tensorflow.org/api_docs/python/tf/sets/difference), [`tf.compat.v1.sets.set_difference`](https://www.tensorflow.org/api_docs/python/tf/sets/difference)\n\n\u003cbr /\u003e\n\n tf.sets.difference(\n a, b, aminusb=True, validate_indices=True\n )\n\nAll but the last dimension of `a` and `b` must match.\n\n#### Example:\n\n import tensorflow as tf\n import collections\n\n # Represent the following array of sets as a sparse tensor:\n # a = np.array([[{1, 2}, {3}], [{4}, {5, 6}]])\n a = collections.OrderedDict([\n ((0, 0, 0), 1),\n ((0, 0, 1), 2),\n ((0, 1, 0), 3),\n ((1, 0, 0), 4),\n ((1, 1, 0), 5),\n ((1, 1, 1), 6),\n ])\n a = tf.sparse.SparseTensor(list(a.keys()), list(a.values()),\n dense_shape=[2, 2, 2])\n\n # np.array([[{1, 3}, {2}], [{4, 5}, {5, 6, 7, 8}]])\n b = collections.OrderedDict([\n ((0, 0, 0), 1),\n ((0, 0, 1), 3),\n ((0, 1, 0), 2),\n ((1, 0, 0), 4),\n ((1, 0, 1), 5),\n ((1, 1, 0), 5),\n ((1, 1, 1), 6),\n ((1, 1, 2), 7),\n ((1, 1, 3), 8),\n ])\n b = tf.sparse.SparseTensor(list(b.keys()), list(b.values()),\n dense_shape=[2, 2, 4])\n\n # `set_difference` is applied to each aligned pair of sets.\n tf.sets.difference(a, b)\n\n # The result will be equivalent to either of:\n #\n # np.array([[{2}, {3}], [{}, {}]])\n #\n # collections.OrderedDict([\n # ((0, 0, 0), 2),\n # ((0, 1, 0), 3),\n # ])\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------------------|-----------------------------------------------------------------------------------------------------------|\n| `a` | `Tensor` or `SparseTensor` of the same type as `b`. If sparse, indices must be sorted in row-major order. |\n| `b` | `Tensor` or `SparseTensor` of the same type as `a`. If sparse, indices must be sorted in row-major order. |\n| `aminusb` | Whether to subtract `b` from `a`, vs vice versa. |\n| `validate_indices` | Whether to validate the order and range of sparse indices in `a` and `b`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `SparseTensor` whose shape is the same rank as `a` and `b`, and all but the last dimension the same. Elements along the last dimension contain the differences. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|------------------------------------|-------------------------------------------------------------------------------------------|\n| `TypeError` | If inputs are invalid types, or if `a` and `b` have different types. |\n| `ValueError` | If `a` is sparse and `b` is dense. |\n| `errors_impl.InvalidArgumentError` | If the shapes of `a` and `b` do not match in any dimension other than the last dimension. |\n\n\u003cbr /\u003e"]]