Files
2026-07-13 13:33:03 +08:00

42 lines
1016 B
C++

//
// PadTf.cpp
// MNNConverter
//
// Created by MNN on 2019/01/31.
// Copyright © 2018, Alibaba Group Holding Limited
//
#include "TfUtils.hpp"
#include "tfOpConverter.hpp"
DECLARE_OP_CONVERTER(PadTf);
MNN::OpType PadTf::opType() {
return MNN::OpType_Padding;
}
MNN::OpParameter PadTf::type() {
return MNN::OpParameter_PadParam;
}
void PadTf::run(MNN::OpT *dstOp, TmpNode *srcNode) {
auto padparm = new MNN::PadParamT;
padparm->mode = MNN::PadValueMode_CONSTANT;
if (srcNode->opType == "MirrorPad") {
tensorflow::AttrValue value;
if (find_attr_value(srcNode->tfNode, "mode", value)) {
if (value.s() == "SYMMETRIC") {
padparm->mode = MNN::PadValueMode_SYMMETRIC;
} else if (value.s() == "REFLECT") {
padparm->mode = MNN::PadValueMode_REFLECT;
}
}
}
dstOp->main.value = padparm;
}
REGISTER_CONVERTER(PadTf, Pad);
REGISTER_CONVERTER(PadTf, PadV2);
REGISTER_CONVERTER(PadTf, MirrorPad);