tf.raw_ops.BroadcastTo
Распространить массив на совместимую форму.
tf.raw_ops.BroadcastTo(
input, shape, name=None
)
Распространение — это процесс приведения массивов к совместимым формам для арифметических операций. Две формы совместимы, если для каждой пары измерений они либо равны, либо одно из них равно единице. При попытке распространить тензор на форму, она начинается с последующих измерений и движется вперед.
Например,
x = tf.constant([1, 2, 3])
y = tf.broadcast_to(x, [3, 3])
print(y)
tf.Tensor(
[[1 2 3]
[1 2 3]
[1 2 3]], shape=(3, 3), dtype=int32)
В приведенном выше примере входной тензор со формой [1, 3] распространяется на выходной тензор с формой [3, 3].
При выполнении операций с распространением, таких как умножение тензора на скаляр, распространение (обычно) обеспечивает некоторую выгоду во времени или пространстве, поскольку распространяемый тензор никогда не материализуется.
Однако broadcast_to не несёт с собой подобных преимуществ. Созданный новый тензор занимает весь объём памяти заданной формы распространения. (В контексте графа broadcast_to может быть объединён со следующей операцией и затем оптимизирован.)
| Аргументы | |
|---|---|
input | A Tensor. Тензор для распространения. |
shape | A Tensor. Должен быть одного из следующих типов: int32, int64. 1-мерный int тензор. Форма желаемого результата. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor. Имеет тот же тип, что и input. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/raw_ops/BroadcastTo