diff --git a/mace/core/net.cc b/mace/core/net.cc index 8a9c121aa864bd66a21ae6a1dade49466aaa1bd2..ec8afdd14f6a7abf8fbe4bd8d4b0bab4dd5e4e94 100644 --- a/mace/core/net.cc +++ b/mace/core/net.cc @@ -48,8 +48,6 @@ SerialNet::SerialNet( ProtoArgHelper::GetOptionalArg( operator_def, "device", static_cast(device_type_)); if (op_device == type) { - VLOG(3) << "Creating operator " << operator_def.name() << "(" - << operator_def.type() << ")"; OperatorDef temp_def(operator_def); std::unique_ptr op( op_registry->CreateOperator(temp_def, ws, type, mode)); diff --git a/mace/core/operator.cc b/mace/core/operator.cc index 90013d7f30180f472fae9dba0f4385348ac9aac3..20769fa30bfb5e87eb21fdcbb0c3b98b98365570 100644 --- a/mace/core/operator.cc +++ b/mace/core/operator.cc @@ -62,6 +62,8 @@ std::unique_ptr OperatorRegistryBase::CreateOperator( const int op_mode_i = ProtoArgHelper::GetOptionalArg( operator_def, "mode", static_cast(NetMode::NORMAL)); const NetMode op_mode = static_cast(op_mode_i); + VLOG(3) << "Creating operator " << operator_def.name() << "(" + << operator_def.type() << "<" << dtype << ">" << ")"; if (op_mode == mode) { return registry_.Create( OpKeyBuilder(operator_def.type().data()) diff --git a/mace/kernels/opencl/cl/common.h b/mace/kernels/opencl/cl/common.h index 8f4aa37fb3f9c6476fc2626e1f89224dbfc943c6..df34fee96c19909397ae96557f4cad3e0b9f9745 100644 --- a/mace/kernels/opencl/cl/common.h +++ b/mace/kernels/opencl/cl/common.h @@ -63,7 +63,7 @@ __constant sampler_t SAMPLER = inline float4 do_sigmoid(float4 in) { // native_func not support half - return native_recip(1.0 + native_exp(-in)); + return native_recip(1.0f + native_exp(-in)); } inline DATA_TYPE4 do_activation(DATA_TYPE4 in, diff --git a/mace/python/tools/converter_tool/transformer.py b/mace/python/tools/converter_tool/transformer.py index ba88217741f3396799d772257413aaaf365d018e..e254f3e47849ce381553ea3e29a1cc476b03eb39 100644 --- a/mace/python/tools/converter_tool/transformer.py +++ b/mace/python/tools/converter_tool/transformer.py @@ -104,6 +104,7 @@ class Transformer(base_converter.ConverterInterface): self._target_data_format = DataFormat.NHWC self._input_output_added = False self._opencl_max_image_size = [0, 0] + self._output_op_names = set() self._quantize_activation_info = {} self._quantized_tensor = set() @@ -1388,6 +1389,7 @@ class Transformer(base_converter.ConverterInterface): ConverterUtil.add_data_type_arg(op_def, mace_pb2.DT_FLOAT) ConverterUtil.add_data_format_arg(op_def, DataFormat.NHWC) + self._output_op_names.add(op_def.name) self._input_output_added = True @@ -1525,7 +1527,8 @@ class Transformer(base_converter.ConverterInterface): data_type_arg.name = MaceKeyword.mace_op_data_type_str data_type_arg.i = self._option.data_type elif data_type_arg.i != self._option.data_type \ - and data_type_arg.i == mace_pb2.DT_FLOAT: + and data_type_arg.i == mace_pb2.DT_FLOAT \ + and op.name not in self._output_op_names: data_type_arg.i = self._option.data_type return False