tf.sets.intersection
Stay organized with collections
Save and categorize content based on your preferences.
Compute set intersection of elements in last dimension of a
and b
.
tf.sets.intersection(
a, b, 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])
# b = np.array([[{1}, {}], [{4}, {5, 6, 7, 8}]])
b = collections.OrderedDict([
((0, 0, 0), 1),
((1, 0, 0), 4),
((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])
# `tf.sets.intersection` is applied to each aligned pair of sets.
tf.sets.intersection(a, b)
# The result will be equivalent to either of:
#
# np.array([[{1}, {}], [{4}, {5, 6}]])
#
# collections.OrderedDict([
# ((0, 0, 0), 1),
# ((1, 0, 0), 4),
# ((1, 1, 0), 5),
# ((1, 1, 1), 6),
# ])
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.
|
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
intersections.
|
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.
[null,null,["Last updated 2024-04-26 UTC."],[],[],null,["# tf.sets.intersection\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#L137-L205) |\n\nCompute set intersection 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.intersection`](https://www.tensorflow.org/api_docs/python/tf/sets/intersection), [`tf.compat.v1.sets.set_intersection`](https://www.tensorflow.org/api_docs/python/tf/sets/intersection)\n\n\u003cbr /\u003e\n\n tf.sets.intersection(\n a, b, 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 # b = np.array([[{1}, {}], [{4}, {5, 6, 7, 8}]])\n b = collections.OrderedDict([\n ((0, 0, 0), 1),\n ((1, 0, 0), 4),\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 # `tf.sets.intersection` is applied to each aligned pair of sets.\n tf.sets.intersection(a, b)\n\n # The result will be equivalent to either of:\n #\n # np.array([[{1}, {}], [{4}, {5, 6}]])\n #\n # collections.OrderedDict([\n # ((0, 0, 0), 1),\n # ((1, 0, 0), 4),\n # ((1, 1, 0), 5),\n # ((1, 1, 1), 6),\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| `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 intersections. ||\n\n\u003cbr /\u003e"]]