// // SqueezeTflite.cpp // MNNConverter // // Created by MNN on 2019/01/31. // Copyright © 2018, Alibaba Group Holding Limited // #include #include "TfliteUtils.hpp" #include "liteOpConverter.hpp" DECLARE_OP_COVERTER(SqueezeTflite); MNN::OpType SqueezeTflite::opType(int quantizedModel) { DCHECK(!quantizedModel); if (quantizedModel) return MNN::OpType_Squeeze; return MNN::OpType_Squeeze; } MNN::OpParameter SqueezeTflite::type(int quantizedModel) { DCHECK(!quantizedModel); if (quantizedModel) return MNN::OpParameter_SqueezeParam; return MNN::OpParameter_SqueezeParam; } void SqueezeTflite::run(MNN::OpT *dstOp, const std::unique_ptr &tfliteOp, const std::vector > &tfliteTensors, const std::vector > &tfliteModelBuffer, const std::vector > &tfliteOpSet, int quantizedModel) { DCHECK(!quantizedModel); auto squeezeParam = new MNN::SqueezeParamT; const auto &squeezeOption = tfliteOp->builtin_options.AsSqueezeOptions(); squeezeParam->squeezeDims = squeezeOption->squeeze_dims; // set input output index dstOp->inputIndexes.resize(1); dstOp->outputIndexes.resize(1); dstOp->inputIndexes[0] = tfliteOp->inputs[0]; dstOp->outputIndexes[0] = tfliteOp->outputs[0]; dstOp->main.value = squeezeParam; } using namespace tflite; REGISTER_CONVERTER(SqueezeTflite, BuiltinOperator_SQUEEZE);