diff --git a/mace/ops/transpose.cc b/mace/ops/transpose.cc index 3a5eb68b441ae9bf32664a38f8587e93c42a879b..2d15d05312030f05d03f7853d3cac07582fc6dd8 100644 --- a/mace/ops/transpose.cc +++ b/mace/ops/transpose.cc @@ -65,6 +65,8 @@ class TransposeOp : public Operation { void RegisterTranspose(OpRegistry *op_registry) { MACE_REGISTER_OP(op_registry, "Transpose", TransposeOp, DeviceType::CPU, float); + MACE_REGISTER_OP(op_registry, "Transpose", TransposeOp, + DeviceType::CPU, half); MACE_REGISTER_BF16_OP(op_registry, "Transpose", TransposeOp, DeviceType::CPU); } diff --git a/tools/python/transform/onnx_converter.py b/tools/python/transform/onnx_converter.py index 00e0aca83be082a510667cb60159762d2b04dafe..62b380c3079c7ee853c289d79c19b2070ae06823 100644 --- a/tools/python/transform/onnx_converter.py +++ b/tools/python/transform/onnx_converter.py @@ -1236,6 +1236,8 @@ class OnnxConverter(base_converter.ConverterInterface): paddings_arg = op.arg.add() paddings_arg.name = MaceKeyword.mace_paddings_str paddings_value = node.attrs['pads'] + paddings_value = np.asarray(paddings_value).reshape( + (2, -1)).transpose().reshape(-1).tolist() paddings_arg.ints.extend(paddings_value) if 'value' in node.attrs: constant_value_arg = op.arg.add()