22.08
|
A BatchMatMulDescriptor for the BatchMatMul operator. More...
#include <Descriptors.hpp>
Public Member Functions | |
BatchMatMulDescriptor (Optional< DataLayout > dataLayoutX=EmptyOptional(), Optional< DataLayout > dataLayoutY=EmptyOptional(), std::vector< unsigned int > transposeX={}, std::vector< unsigned int > transposeY={}, std::vector< unsigned int > adjointX={}, std::vector< unsigned int > adjointY={}) | |
bool | operator== (const BatchMatMulDescriptor &rhs) const |
Public Member Functions inherited from BaseDescriptor | |
virtual bool | IsNull () const |
virtual | ~BaseDescriptor ()=default |
Static Public Member Functions | |
static std::pair< std::pair< unsigned int, unsigned int >, std::pair< unsigned int, unsigned int > > | GetAxesToMul (const BatchMatMulDescriptor &desc, const TensorShape &tensorXShape, const TensorShape &tensorYShape) |
Static helper to get the two axes (for each input) for multiplication. More... | |
static std::pair< std::vector< unsigned int >, std::vector< unsigned int > > | GetAxesNotMul (const BatchMatMulDescriptor &desc, const TensorShape &inputXShape, const TensorShape &inputYShape) |
Static helper to get the axes (for each input) that will not be multiplied together. More... | |
Public Attributes | |
Optional< DataLayout > | m_DataLayoutX |
Data layout of each input tensor, such as NHWC/NDHWC (or leave as EmptyOptional for arbitrary layout) More... | |
Optional< DataLayout > | m_DataLayoutY |
std::vector< unsigned int > | m_TransposeX |
Transpose vector for each input tensor (leave as empty vector for no pre-transposing) Transpose and Adjoint can not both be set to true for the same tensor at the same time. More... | |
std::vector< unsigned int > | m_TransposeY |
std::vector< unsigned int > | m_AdjointX |
Adjoint vector for each input tensor (leave as empty vector for no pre-adjoint) Transpose and Adjoint can not both be set to true for the same tensor at the same time. More... | |
std::vector< unsigned int > | m_AdjointY |
A BatchMatMulDescriptor for the BatchMatMul operator.
Definition at line 1554 of file Descriptors.hpp.
|
inline |
Definition at line 1556 of file Descriptors.hpp.
|
static |
Static helper to get the axes (for each input) that will not be multiplied together.
Definition at line 508 of file Descriptors.cpp.
References BatchMatMulDescriptor::GetAxesToMul(), and TensorShape::GetNumDimensions().
Referenced by BatchMatMulQueueDescriptor::Validate().
|
static |
Static helper to get the two axes (for each input) for multiplication.
Definition at line 459 of file Descriptors.cpp.
References TensorShape::GetNumDimensions(), OptionalBase::has_value(), BatchMatMulDescriptor::m_DataLayoutX, BatchMatMulDescriptor::m_DataLayoutY, armnn::NCDHW, armnn::NCHW, armnn::NDHWC, armnn::NHWC, and OptionalReferenceSwitch< IsReference, T >::value().
Referenced by BatchMatMulDescriptor::GetAxesNotMul(), BatchMatMulLayer::InferOutputShapes(), BatchMatMul::RecurseBMM(), and BatchMatMulQueueDescriptor::Validate().
|
inline |
Definition at line 1570 of file Descriptors.hpp.
References BatchMatMulDescriptor::m_AdjointX, BatchMatMulDescriptor::m_AdjointY, BatchMatMulDescriptor::m_DataLayoutX, BatchMatMulDescriptor::m_DataLayoutY, BatchMatMulDescriptor::m_TransposeX, and BatchMatMulDescriptor::m_TransposeY.
std::vector<unsigned int> m_AdjointX |
Adjoint vector for each input tensor (leave as empty vector for no pre-adjoint) Transpose and Adjoint can not both be set to true for the same tensor at the same time.
Definition at line 1591 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::operator==().
std::vector<unsigned int> m_AdjointY |
Definition at line 1592 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::operator==().
Optional<DataLayout> m_DataLayoutX |
Data layout of each input tensor, such as NHWC/NDHWC (or leave as EmptyOptional for arbitrary layout)
Definition at line 1581 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::GetAxesToMul(), and BatchMatMulDescriptor::operator==().
Optional<DataLayout> m_DataLayoutY |
Definition at line 1582 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::GetAxesToMul(), and BatchMatMulDescriptor::operator==().
std::vector<unsigned int> m_TransposeX |
Transpose vector for each input tensor (leave as empty vector for no pre-transposing) Transpose and Adjoint can not both be set to true for the same tensor at the same time.
Definition at line 1586 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::operator==().
std::vector<unsigned int> m_TransposeY |
Definition at line 1587 of file Descriptors.hpp.
Referenced by BatchMatMulDescriptor::operator==().