Функция meshgrid
Функция meshgrid принимает один или несколько одномерных тензоров и возвращает список тензоров, представляющих координатную сетку. Первым параметром передаются входные тензоры, вторым необязательным параметром можно задать индексацию indexing со значением 'xy' или 'ij'. Функция часто используется для построения сеток значений при вычислении функций двух и более переменных.
Синтаксис
tf.meshgrid(*args, [indexing])
Пример
Давайте создадим координатную сетку из двух одномерных тензоров:
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5])
res = tf.meshgrid(x, y)
print(res)
Результат выполнения кода:
[<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
[1, 2, 3]], dtype=int32)>, <tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[4, 4, 4],
[5, 5, 5]], dtype=int32)>]
Пример
Давайте распакуем полученные тензоры и выведем каждый отдельно:
<+python+>
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5])
xx, yy = tf.meshgrid(x, y)
print(xx)
print(yy)
<-python+>
Результат выполнения кода:
tf.Tensor(
[[1 2 3]
[1 2 3]], shape=(2, 3), dtype=int32)
tf.Tensor(
[[4 4 4]
[5 5 5]], shape=(2, 3), dtype=int32)
Пример
Давайте создадим сетку с индексацией 'ij':
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5])
xx, yy = tf.meshgrid(x, y, indexing='ij')
print(xx)
print(yy)
Результат выполнения кода:
tf.Tensor(
[[1 1]
[2 2]
[3 3]], shape=(3, 2), dtype=int32)
tf.Tensor(
[[4 5]
[4 5]
[4 5]], shape=(3, 2), dtype=int32)
Смотрите также
-
функцию
linspace,
которая создает тензор из равномерно распределенных значений -
функцию
range,
которая создает тензор из последовательности чисел -
функцию
reshape,
которая изменяет форму тензора -
функцию
broadcast_to,
которая расширяет тензор до заданной формы