enum ov::op::AutoBroadcastType¶
Overview¶
Specifies the algorithm to use for implicit broadcasting of a tensor to align with another tensor. More…
#include <attr_types.hpp>
enum AutoBroadcastType
{
NONE = 0,
EXPLICIT = NONE,
NUMPY,
PDPD,
};
Detailed Documentation¶
Specifies the algorithm to use for implicit broadcasting of a tensor to align with another tensor.
NONE - No implicit broadcasting of tensor NUMPY - Numpy-style implicit broadcasting (https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) Right-align dimensions of the two tensors, with missing dimensions treated as size 1 dimensions. After alignment, for each dimension, their sizes should either match or one of them should be of size 1. Size 1 dimension will be implicitly broadcast to match the other size.
E.g., A: Shape(2, 1, 6) B: Shape( 3, 1) Result: Shape(2, 3, 6)
A: Shape(2, 1, 6)
B: Shape( 3, 1)
Result: Shape(2, 3, 6) PDPD - PaddlePaddle-style implicit broadcasting (https://github.com/PaddlePaddle/Paddle/blob/release/1.5/paddle/ fluid/operators/elementwise/elementwise_op.h#L126) Broadcast B to match the shape of A, where axis is the start dimension index to align B with A. If axis is -1 (default), i axis = rank(A) - rank(B). The trailing dimensions of size 1 for B will be ignored.
E.g., A: Shape(2, 3, 4, 5) B: Shape( 3, 4 ) with axis =1 Result: Shape(2, 3, 4, 5)
A: Shape(2, 3, 4, 5)
B: Shape( 3, 1 ) with axis = 1
Result: Shape(2, 3, 4, 5)