ONE - On-device Neural Engine
|
Convert loco::DepthwiseConv2D to locoex::TFLDepthwiseConv2D and auxiliary. More...
#include <DepthwiseConv2DConverter.h>
Public Member Functions | |
const char * | name (void) const final |
bool | convert (loco::DepthwiseConv2D *origin) final |
Public Member Functions inherited from exo::CanonicalNodeConverter< loco::DepthwiseConv2D > | |
bool | run (loco::Graph *graph) |
Run the pass. | |
Public Member Functions inherited from logo::Pass | |
virtual | ~Pass ()=default |
Additional Inherited Members |
Convert loco::DepthwiseConv2D to locoex::TFLDepthwiseConv2D and auxiliary.
<BEFORE>
IFM -----— DepthwiseConv2D — Out [Feature] / [Feature] / KER ----— [DWFilter]
<AFTER> TFLConst (bias) ------------------------— \ IFM ---— FeatureDecode ---------------— TFLDepthwiseConv2D — FeatureEncode — Out [Feature] [Tensor] / [Tensor] [Feature] / KER ----— DepthwiseFilterDecode — TFLReshape [DWFilter] [Tensor / H W C M] [Tensor / 1 H W CM]
Definition at line 50 of file DepthwiseConv2DConverter.h.
|
finalvirtual |
Implements exo::CanonicalNodeConverter< loco::DepthwiseConv2D >.
Definition at line 33 of file DepthwiseConv2DConverter.cpp.
References loco::NodeShape::as(), loco::dtype_get(), loco::dtype_known(), EXO_ASSERT, loco::Node::graph(), loco::Stride< 2 >::horizontal(), loco::DepthwiseConv2D::ifm(), loco::DepthwiseConv2D::ker(), exo::make_dw_filter_decode< DepthwiseFilterLayout::HWCM >(), exo::make_feature_decode< FeatureLayout::NHWC >(), exo::make_feature_encode< FeatureLayout::NHWC >(), locoex::NONE, loco::DepthwiseConv2D::pad(), loco::replace(), locoex::SAME, locoex::set_new_shape(), loco::shape_get(), loco::shape_known(), locoex::TFLDepthwiseConv2D::stride(), loco::DepthwiseConv2D::stride(), locoex::VALID, loco::Stride< 2 >::vertical(), locoex::Stride::w(), and loco::Subst< SubstQualifier::Default >::with().
|
inlinefinalvirtual |
Reimplemented from exo::CanonicalNodeConverter< loco::DepthwiseConv2D >.
Definition at line 53 of file DepthwiseConv2DConverter.h.