2019-12-21 14:58:23 +08:00
|
|
|
if (OpName == "DUMMY") {
|
|
|
|
}else if (OpName == "Abs") {
|
|
|
|
ImportNodeOneOut<mlir::ONNXAbsOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Acos") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAcosOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Acosh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAcoshOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Add") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAddOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "And") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAndOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ArgMax") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXArgMaxOp>(node, 1, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ArgMin") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXArgMinOp>(node, 1, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Asin") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAsinOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Asinh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAsinhOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Atan") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAtanOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Atanh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAtanhOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "AveragePool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXAveragePoolOp>(node, 1, 1, {
|
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"ceil_mode","int","0"}
|
|
|
|
,{"count_include_pad","int","0"}
|
|
|
|
,{"kernel_shape","ints", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "BatchNormalization") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXBatchNormalizationOp>(node, 5, 5, {
|
|
|
|
{"epsilon","float","1e-05"}
|
|
|
|
,{"momentum","float","0.9"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "BitShift") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXBitShiftOp>(node, 2, 1, {
|
|
|
|
{"direction","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Cast") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCastOp>(node, 1, 1, {
|
|
|
|
{"to","int", "0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Ceil") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCeilOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Clip") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXClipOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Compress") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCompressOp>(node, 2, 1, {
|
|
|
|
{"axis","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Concat") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConcatOp>(node, 1, 1, {
|
|
|
|
{"axis","int", "0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ConcatFromSequence") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConcatFromSequenceOp>(node, 1, 1, {
|
|
|
|
{"axis","", ""}
|
|
|
|
,{"new_axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Constant") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConstantOp>(node, 0, 1, {
|
|
|
|
{"sparse_value","", ""}
|
|
|
|
,{"value","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ConstantOfShape") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConstantOfShapeOp>(node, 1, 1, {
|
|
|
|
{"value","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Conv") {
|
2020-01-16 02:26:50 +08:00
|
|
|
ImportNodeConv(node, 1, {
|
2019-12-21 14:58:23 +08:00
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"dilations","", ""}
|
|
|
|
,{"group","int", "1"}
|
|
|
|
,{"kernel_shape","", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ConvInteger") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConvIntegerOp>(node, 4, 1, {
|
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"dilations","", ""}
|
|
|
|
,{"group","int","1"}
|
|
|
|
,{"kernel_shape","", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ConvTranspose") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXConvTransposeOp>(node, 3, 1, {
|
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"dilations","", ""}
|
|
|
|
,{"group","int","1"}
|
|
|
|
,{"kernel_shape","", ""}
|
|
|
|
,{"output_padding","", ""}
|
|
|
|
,{"output_shape","", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Cos") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCosOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Cosh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCoshOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "CumSum") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXCumSumOp>(node, 2, 1, {
|
|
|
|
{"exclusive","int","0"}
|
|
|
|
,{"reverse","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "DepthToSpace") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXDepthToSpaceOp>(node, 1, 1, {
|
|
|
|
{"blocksize","", ""}
|
|
|
|
,{"mode","str","DCR"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "DequantizeLinear") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXDequantizeLinearOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Det") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXDetOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Div") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXDivOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Dropout") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXDropoutOp>(node, 1, 2, {
|
|
|
|
{"ratio","float","0.5"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "DynamicQuantizeLinear") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXDynamicQuantizeLinearOp>(node, 1, 3, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Elu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXEluOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","1.0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Equal") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXEqualOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Erf") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXErfOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Exp") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXExpOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Expand") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXExpandOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "EyeLike") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXEyeLikeOp>(node, 1, 1, {
|
|
|
|
{"dtype","", ""}
|
|
|
|
,{"k","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Flatten") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXFlattenOp>(node, 1, 1, {
|
|
|
|
{"axis","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Floor") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXFloorOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GRU") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXGRUOp>(node, 6, 2, {
|
|
|
|
{"activation_alpha","", ""}
|
|
|
|
,{"activation_beta","", ""}
|
|
|
|
,{"activations","", ""}
|
|
|
|
,{"clip","", ""}
|
|
|
|
,{"direction","str","forward"}
|
|
|
|
,{"hidden_size","", ""}
|
|
|
|
,{"linear_before_reset","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Gather") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGatherOp>(node, 2, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GatherElements") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGatherElementsOp>(node, 2, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GatherND") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGatherNDOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Gemm") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGemmOp>(node, 3, 1, {
|
|
|
|
{"alpha","float","1.0"}
|
|
|
|
,{"beta","float","1.0"}
|
|
|
|
,{"transA","int","0"}
|
|
|
|
,{"transB","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GlobalAveragePool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGlobalAveragePoolOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GlobalLpPool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGlobalLpPoolOp>(node, 1, 1, {
|
|
|
|
{"p","int","2"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "GlobalMaxPool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGlobalMaxPoolOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Greater") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXGreaterOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "HardSigmoid") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXHardSigmoidOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","0.2"}
|
|
|
|
,{"beta","float","0.5"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Hardmax") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXHardmaxOp>(node, 1, 1, {
|
|
|
|
{"axis","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Identity") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXIdentityOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "If") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXIfOp>(node, 1, 1, {
|
|
|
|
{"else_branch","", ""}
|
|
|
|
,{"then_branch","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "InstanceNormalization") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXInstanceNormalizationOp>(node, 3, 1, {
|
|
|
|
{"epsilon","float","1e-05"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "IsInf") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXIsInfOp>(node, 1, 1, {
|
|
|
|
{"detect_negative","int","1"}
|
|
|
|
,{"detect_positive","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "IsNaN") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXIsNaNOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LRN") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLRNOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","0.0001"}
|
|
|
|
,{"beta","float","0.75"}
|
|
|
|
,{"bias","float","1.0"}
|
|
|
|
,{"size","int", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LSTM") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXLSTMOp>(node, 8, 3, {
|
|
|
|
{"activation_alpha","", ""}
|
|
|
|
,{"activation_beta","", ""}
|
|
|
|
,{"activations","", ""}
|
|
|
|
,{"clip","", ""}
|
|
|
|
,{"direction","str","forward"}
|
|
|
|
,{"hidden_size","", ""}
|
|
|
|
,{"input_forget","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LeakyRelu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLeakyReluOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","0.01"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Less") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLessOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Log") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLogOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LogSoftmax") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLogSoftmaxOp>(node, 1, 1, {
|
|
|
|
{"axis","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Loop") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLoopOp>(node, 3, 1, {
|
|
|
|
{"body","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LpNormalization") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLpNormalizationOp>(node, 1, 1, {
|
|
|
|
{"axis","int","-1"}
|
|
|
|
,{"p","int","2"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "LpPool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXLpPoolOp>(node, 1, 1, {
|
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"kernel_shape","", ""}
|
|
|
|
,{"p","int","2"}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MatMul") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMatMulOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MatMulInteger") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMatMulIntegerOp>(node, 4, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Max") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMaxOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MaxPool") {
|
2020-01-16 04:16:45 +08:00
|
|
|
ImportNodeMaxPool(node, 1, {
|
2019-12-21 14:58:23 +08:00
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"ceil_mode","int","0"}
|
|
|
|
,{"dilations","", ""}
|
|
|
|
,{"kernel_shape","ints", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"storage_order","int","0"}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MaxRoiPool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMaxRoiPoolOp>(node, 2, 1, {
|
|
|
|
{"pooled_shape","", ""}
|
|
|
|
,{"spatial_scale","float","1.0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MaxUnpool") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMaxUnpoolOp>(node, 3, 1, {
|
|
|
|
{"kernel_shape","", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Mean") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMeanOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "MeanVarianceNormalization") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMeanVarianceNormalizationOp>(node, 1, 1, {
|
|
|
|
{"axes","ints","{'0', '2', '3'}"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Min") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMinOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Mod") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXModOp>(node, 2, 1, {
|
|
|
|
{"fmod","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Mul") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMulOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Multinomial") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXMultinomialOp>(node, 1, 1, {
|
|
|
|
{"dtype","int","6"}
|
|
|
|
,{"sample_size","int","1"}
|
|
|
|
,{"seed","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Neg") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXNegOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "NonMaxSuppression") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXNonMaxSuppressionOp>(node, 5, 1, {
|
|
|
|
{"center_point_box","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "NonZero") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXNonZeroOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Not") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXNotOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "OneHot") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXOneHotOp>(node, 3, 1, {
|
|
|
|
{"axis","int","-1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Or") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXOrOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "PRelu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXPReluOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Pad") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXPadOp>(node, 3, 1, {
|
|
|
|
{"mode","str","constant"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Pow") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXPowOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "QLinearConv") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXQLinearConvOp>(node, 9, 1, {
|
|
|
|
{"auto_pad","str","NOTSET"}
|
|
|
|
,{"dilations","", ""}
|
|
|
|
,{"group","int","1"}
|
|
|
|
,{"kernel_shape","", ""}
|
|
|
|
,{"pads","", ""}
|
|
|
|
,{"strides","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "QLinearMatMul") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXQLinearMatMulOp>(node, 8, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "QuantizeLinear") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXQuantizeLinearOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RNN") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXRNNOp>(node, 6, 2, {
|
|
|
|
{"activation_alpha","floats", "{}"}
|
|
|
|
,{"activation_beta","floats", "{}"}
|
|
|
|
,{"activations","", "{Tannh, Tanh}"}
|
|
|
|
,{"clip","", ""}
|
|
|
|
,{"direction","str","forward"}
|
|
|
|
,{"hidden_size","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RandomNormal") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRandomNormalOp>(node, 0, 1, {
|
|
|
|
{"dtype","int","1"}
|
|
|
|
,{"mean","float","0.0"}
|
|
|
|
,{"scale","float","1.0"}
|
|
|
|
,{"seed","", ""}
|
|
|
|
,{"shape","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RandomNormalLike") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRandomNormalLikeOp>(node, 1, 1, {
|
|
|
|
{"dtype","", ""}
|
|
|
|
,{"mean","float","0.0"}
|
|
|
|
,{"scale","float","1.0"}
|
|
|
|
,{"seed","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RandomUniform") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRandomUniformOp>(node, 0, 1, {
|
|
|
|
{"dtype","int","1"}
|
|
|
|
,{"high","float","1.0"}
|
|
|
|
,{"low","float","0.0"}
|
|
|
|
,{"seed","", ""}
|
|
|
|
,{"shape","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RandomUniformLike") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRandomUniformLikeOp>(node, 1, 1, {
|
|
|
|
{"dtype","", ""}
|
|
|
|
,{"high","float","1.0"}
|
|
|
|
,{"low","float","0.0"}
|
|
|
|
,{"seed","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Range") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRangeOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Reciprocal") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReciprocalOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceL1") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceL1Op>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceL2") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceL2Op>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceLogSum") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceLogSumOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceLogSumExp") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceLogSumExpOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceMax") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceMaxOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceMean") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceMeanOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceMin") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceMinOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceProd") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceProdOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceSum") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceSumOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReduceSumSquare") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReduceSumSquareOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Relu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReluOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Reshape") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReshapeOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Resize") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXResizeOp>(node, 4, 1, {
|
|
|
|
{"coordinate_transformation_mode","str","half_pixel"}
|
|
|
|
,{"cubic_coeff_a","float","-0.75"}
|
|
|
|
,{"exclude_outside","int","0"}
|
|
|
|
,{"extrapolation_value","float","0.0"}
|
|
|
|
,{"mode","str","nearest"}
|
|
|
|
,{"nearest_mode","str","round_prefer_floor"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ReverseSequence") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXReverseSequenceOp>(node, 2, 1, {
|
|
|
|
{"batch_axis","int","1"}
|
|
|
|
,{"time_axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "RoiAlign") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRoiAlignOp>(node, 3, 1, {
|
|
|
|
{"mode","str","avg"}
|
|
|
|
,{"output_height","int","1"}
|
|
|
|
,{"output_width","int","1"}
|
|
|
|
,{"sampling_ratio","int","0"}
|
|
|
|
,{"spatial_scale","float","1.0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Round") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXRoundOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Scan") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXScanOp>(node, 1, 1, {
|
|
|
|
{"body","", ""}
|
|
|
|
,{"num_scan_inputs","", ""}
|
|
|
|
,{"scan_input_axes","", ""}
|
|
|
|
,{"scan_input_directions","", ""}
|
|
|
|
,{"scan_output_axes","", ""}
|
|
|
|
,{"scan_output_directions","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Scatter") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXScatterOp>(node, 3, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ScatterElements") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXScatterElementsOp>(node, 3, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ScatterND") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXScatterNDOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Selu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSeluOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","1.67326"}
|
|
|
|
,{"gamma","float","1.0507"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceAt") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceAtOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceConstruct") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceConstructOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceEmpty") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceEmptyOp>(node, 0, 1, {
|
|
|
|
{"dtype","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceErase") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceEraseOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceInsert") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceInsertOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SequenceLength") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSequenceLengthOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Shape") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXShapeOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Shrink") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXShrinkOp>(node, 1, 1, {
|
|
|
|
{"bias","float","0.0"}
|
|
|
|
,{"lambd","float","0.5"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sigmoid") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSigmoidOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sign") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSignOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sin") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSinOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sinh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSinhOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Size") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSizeOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Slice") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSliceOp>(node, 5, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Softmax") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSoftmaxOp>(node, 1, 1, {
|
|
|
|
{"axis","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Softplus") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSoftplusOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Softsign") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSoftsignOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SpaceToDepth") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSpaceToDepthOp>(node, 1, 1, {
|
|
|
|
{"blocksize","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Split") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSplitOp>(node, 1, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
,{"split","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "SplitToSequence") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSplitToSequenceOp>(node, 2, 1, {
|
|
|
|
{"axis","int","0"}
|
|
|
|
,{"keepdims","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sqrt") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSqrtOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Squeeze") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSqueezeOp>(node, 1, 1, {
|
|
|
|
{"axes","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "StringNormalizer") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXStringNormalizerOp>(node, 1, 1, {
|
|
|
|
{"case_change_action","str","NONE"}
|
|
|
|
,{"is_case_sensitive","int","0"}
|
|
|
|
,{"locale","", ""}
|
|
|
|
,{"stopwords","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sub") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSubOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Sum") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXSumOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Tan") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXTanOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Tanh") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXTanhOp>(node, 1, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "TfIdfVectorizer") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXTfIdfVectorizerOp>(node, 1, 1, {
|
|
|
|
{"max_gram_length","", ""}
|
|
|
|
,{"max_skip_count","", ""}
|
|
|
|
,{"min_gram_length","", ""}
|
|
|
|
,{"mode","", ""}
|
|
|
|
,{"ngram_counts","", ""}
|
|
|
|
,{"ngram_indexes","", ""}
|
|
|
|
,{"pool_int64s","", ""}
|
|
|
|
,{"pool_strings","", ""}
|
|
|
|
,{"weights","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "ThresholdedRelu") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXThresholdedReluOp>(node, 1, 1, {
|
|
|
|
{"alpha","float","1.0"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Tile") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXTileOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "TopK") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXTopKOp>(node, 2, 2, {
|
|
|
|
{"axis","int","-1"}
|
|
|
|
,{"largest","int","1"}
|
|
|
|
,{"sorted","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Transpose") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXTransposeOp>(node, 1, 1, {
|
|
|
|
{"perm","", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Unique") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeMultipleOuts<mlir::ONNXUniqueOp>(node, 1, 4, {
|
|
|
|
{"axis","", ""}
|
|
|
|
,{"sorted","int","1"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Unsqueeze") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXUnsqueezeOp>(node, 1, 1, {
|
|
|
|
{"axes","ints", ""}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Upsample") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXUpsampleOp>(node, 2, 1, {
|
|
|
|
{"mode","str","nearest"}
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Where") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXWhereOp>(node, 3, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}else if (OpName == "Xor") {
|
2019-12-21 14:58:23 +08:00
|
|
|
ImportNodeOneOut<mlir::ONNXXorOp>(node, 2, 1, {
|
|
|
|
});
|
2019-11-19 10:08:21 +08:00
|
|
|
}
|