diff --git a/mindspore/ccsrc/frontend/operator/composite/do_signature.cc b/mindspore/ccsrc/frontend/operator/composite/do_signature.cc index 29bafc7d57..5e2dd2cac5 100644 --- a/mindspore/ccsrc/frontend/operator/composite/do_signature.cc +++ b/mindspore/ccsrc/frontend/operator/composite/do_signature.cc @@ -143,7 +143,7 @@ TypeId GetMaxTypeId(const std::vector &input_types, std::vector } } if (max_type_id != kNumberTypeFloat16 && max_type_id != kNumberTypeFloat32 && max_type_id != kNumberTypeFloat64 && - has_scalar_float32) { + max_type_id != kTypeUnknown && has_scalar_float32) { max_type_id = kNumberTypeFloat32; } return max_type_id; diff --git a/mindspore/ccsrc/pipeline/pynative/pynative_execute.cc b/mindspore/ccsrc/pipeline/pynative/pynative_execute.cc index 968d01301c..d7f7d79d82 100644 --- a/mindspore/ccsrc/pipeline/pynative/pynative_execute.cc +++ b/mindspore/ccsrc/pipeline/pynative/pynative_execute.cc @@ -224,7 +224,7 @@ std::map GetDstType(const py::tuple &py_args, } } if (max_type != TypeId::kNumberTypeFloat16 && max_type != TypeId::kNumberTypeFloat32 && - max_type != TypeId::kNumberTypeFloat64 && has_float) { + max_type != TypeId::kNumberTypeFloat64 && max_type != TypeId::kTypeUnknown && has_float) { max_type = TypeId::kNumberTypeFloat32; } if (max_type == TypeId::kNumberTypeUInt8 && has_int8) {