42 lines
931 B
C++
42 lines
931 B
C++
//
|
|
// TopKV2Tf.cpp
|
|
// MNNConverter
|
|
//
|
|
// Created by MNN on 2019/01/31.
|
|
// Copyright © 2018, Alibaba Group Holding Limited
|
|
//
|
|
|
|
#include "TfUtils.hpp"
|
|
#include "tfOpConverter.hpp"
|
|
|
|
#include "graph.pb.h"
|
|
|
|
DECLARE_OP_CONVERTER(TopKV2Tf);
|
|
|
|
MNN::OpType TopKV2Tf::opType() {
|
|
return MNN::OpType_TopKV2;
|
|
}
|
|
MNN::OpParameter TopKV2Tf::type() {
|
|
return MNN::OpParameter_TopKV2;
|
|
}
|
|
|
|
void TopKV2Tf::run(MNN::OpT *dstOp, TmpNode *srcNode) {
|
|
auto topkv2Param = new MNN::TopKV2T;
|
|
|
|
tensorflow::AttrValue value;
|
|
topkv2Param->sorted = false;
|
|
if (find_attr_value(srcNode->tfNode, "sorted", value)) {
|
|
topkv2Param->sorted = value.b();
|
|
}
|
|
|
|
topkv2Param->T = MNN::DataType_DT_FLOAT;
|
|
if (find_attr_value(srcNode->tfNode, "T", value)) {
|
|
topkv2Param->T = (MNN::DataType)value.type();
|
|
}
|
|
dstOp->outputIndexes = {-1, -1};
|
|
|
|
dstOp->main.value = topkv2Param;
|
|
}
|
|
|
|
REGISTER_CONVERTER(TopKV2Tf, TopKV2);
|