ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
loco::Permutation< Domain::Matrix > Class Reference

Mapping between Matrix/Tensor Axis. More...

#include <PermutingCodec.h>

Public Member Functions

 Permutation ()=default
 
bool mapped (const MatrixAxis &axis_f) const
 Return whether a given matrix axis has a corresponding tensor axis.
 
TensorAxis axis (const MatrixAxis &axis_f) const
 Get the tensor axis corresponding to a given matrix axis.
 
TensorAxisaxis (const MatrixAxis &axis_f)
 Set the tensor axis corresponding to a given matrix axis.
 
TensorAxis operator[] (const MatrixAxis &axis_f) const
 
TensorAxisoperator[] (const MatrixAxis &axis_f)
 

Detailed Description

Mapping between Matrix/Tensor Axis.

Definition at line 327 of file PermutingCodec.h.

Constructor & Destructor Documentation

◆ Permutation()

loco::Permutation< Domain::Matrix >::Permutation ( )
default

Member Function Documentation

◆ axis() [1/2]

uint32_t & loco::Permutation< Domain::Matrix >::axis ( const MatrixAxis axis_f)

Set the tensor axis corresponding to a given matrix axis.

Definition at line 561 of file PermutingCodec.cpp.

562{
563 assert(valid(axis_f) && "invalid matrix axis");
564 return _map[axis_f];
565}
bool valid(Graph *g, std::unique_ptr< ErrorListener > &&l=nullptr)
Validate a loco graph.
Definition Verifier.cpp:100

References loco::valid().

Referenced by metrics.categorical_accuracy.CategoricalAccuracy::update_state().

◆ axis() [2/2]

uint32_t loco::Permutation< Domain::Matrix >::axis ( const MatrixAxis axis_f) const

Get the tensor axis corresponding to a given matrix axis.

This method works correctly only for mapped matrix axes.

Definition at line 554 of file PermutingCodec.cpp.

555{
556 assert(valid(axis_f) && "invalid matrix axis");
557 assert(mapped(axis_f) && "unmapped matrix axis");
558 return _map.at(axis_f);
559}
bool mapped(const MatrixAxis &axis_f) const
Return whether a given matrix axis has a corresponding tensor axis.

References loco::valid().

Referenced by metrics.categorical_accuracy.CategoricalAccuracy::update_state().

◆ mapped()

bool loco::Permutation< Domain::Matrix >::mapped ( const MatrixAxis axis_f) const

Return whether a given matrix axis has a corresponding tensor axis.

This method does not validate the corresponding value.

Definition at line 548 of file PermutingCodec.cpp.

549{
550 assert(valid(axis_f) && "invalid matrix axis");
551 return _map.find(axis_f) != _map.end();
552}

References loco::valid().

◆ operator[]() [1/2]

TensorAxis & loco::Permutation< Domain::Matrix >::operator[] ( const MatrixAxis axis_f)
inline

Definition at line 353 of file PermutingCodec.h.

353{ return axis(axis_f); }
TensorAxis axis(const MatrixAxis &axis_f) const
Get the tensor axis corresponding to a given matrix axis.

◆ operator[]() [2/2]

TensorAxis loco::Permutation< Domain::Matrix >::operator[] ( const MatrixAxis axis_f) const
inline

Definition at line 352 of file PermutingCodec.h.

352{ return axis(axis_f); }

The documentation for this class was generated from the following files: