// TensorFlow dialect transforms
KNOB_BOOL(FuseBinaryIntoPreceding, true, Fuse Binary node to preceding node)
KNOB_BOOL(ResolveFusedBatchNorm, true, Enable ResolveFusedBatchNorm transform)
+KNOB_BOOL(ResolveReshapeWildcardDim, true, Resolve wildcard dimension in TFReshape node)
// Canonicalization
KNOB_BOOL(CanonicalizeBiasAdd, true, Enable Canonicalize for BiasAdd node)
{
phase.emplace_back(stdex::make_unique<moco::tf::FuseBinaryIntoPreceding>());
}
+ if (moco::tf::get<moco::tf::Knob::ResolveReshapeWildcardDim>())
+ {
+ phase.emplace_back(stdex::make_unique<moco::tf::ResolveReshapeWildcardDim>());
+ }
// Fix shape and pad for added nodes doing above transformations
// TODO need to merge or remove the ones in importer
phase.emplace_back(stdex::make_unique<moco::tf::FixShapeTransform>());
phase.emplace_back(stdex::make_unique<moco::tf::ResolveConstantShape>());
- phase.emplace_back(stdex::make_unique<moco::tf::ResolveReshapeWildcardDim>());
/* TRANSFORM DECLARATION END */
moco::tf::PhaseRunner<moco::tf::PhaseStrategy::Saturate> phase_runner{g};