Skip to content

Commit

Permalink
Prefix increment
Browse files Browse the repository at this point in the history
  • Loading branch information
adityagoel4512 committed Jan 12, 2024
1 parent 536a6ff commit d490b08
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 54 deletions.
64 changes: 36 additions & 28 deletions onnxruntime/core/providers/cpu/cpu_execution_provider.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2505,16 +2505,24 @@ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kML
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 1, 2, float, TreeEnsembleRegressor);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 1, 2, double, TreeEnsembleRegressor);
class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 1, ZipMap);

class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_string, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_float, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_float, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_int64, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_string, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_int64, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_int64, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_string, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_float, LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_string,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_float,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_float,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_int64,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_string,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_int64,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_int64,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_string,
LabelEncoder);
class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_float,
LabelEncoder);
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 3, float, TreeEnsembleClassifier);
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 3, double, TreeEnsembleClassifier);
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 3, int64_t, TreeEnsembleClassifier);
Expand Down Expand Up @@ -2610,24 +2618,24 @@ Status RegisterOnnxMLOperatorKernels(KernelRegistry& kernel_registry) {
TreeEnsembleRegressor)>,
BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 1, ZipMap)>,

BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_string,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_float,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_float,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_int64,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_string,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_int64,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, int64_int64,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, string_string,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3, float_float,
LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
float_string, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
string_float, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
int64_float, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
float_int64, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
int64_string, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
string_int64, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
int64_int64, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
string_string, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 2, 3,
float_float, LabelEncoder)>,
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 3, float,
TreeEnsembleClassifier)>,
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kMLDomain, 3, double,
Expand Down
48 changes: 24 additions & 24 deletions onnxruntime/core/providers/cpu/ml/label_encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ void LabelEncoder_2<float, std::string>::InitializeSomeFields(const OpKernelInfo
key_field_name_ = "keys_floats";
value_field_name_ = "values_strings";
info.GetAttrOrDefault<std::string>("default_string", &default_value_, std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, string_float,
Expand All @@ -88,7 +88,7 @@ void LabelEncoder_2<std::string, float>::InitializeSomeFields(const OpKernelInfo
key_field_name_ = "keys_strings";
value_field_name_ = "values_floats";
info.GetAttrOrDefault<float>("default_float", &default_value_, -0.0f);
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, int64_float,
Expand All @@ -102,7 +102,7 @@ void LabelEncoder_2<std::int64_t, float>::InitializeSomeFields(const OpKernelInf
key_field_name_ = "keys_int64s";
value_field_name_ = "values_floats";
info.GetAttrOrDefault<float>("default_float", &default_value_, -0.0f);
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, float_int64,
Expand All @@ -116,7 +116,7 @@ void LabelEncoder_2<float, std::int64_t>::InitializeSomeFields(const OpKernelInf
key_field_name_ = "keys_floats";
value_field_name_ = "values_int64s";
info.GetAttrOrDefault<std::int64_t>("default_int64", &default_value_, (std::int64_t)-1);
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, string_string,
Expand All @@ -130,7 +130,7 @@ void LabelEncoder_2<std::string, std::string>::InitializeSomeFields(const OpKern
key_field_name_ = "keys_strings";
value_field_name_ = "values_strings";
info.GetAttrOrDefault<std::string>("default_string", &default_value_, std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, float_float,
Expand All @@ -144,7 +144,7 @@ void LabelEncoder_2<float, float>::InitializeSomeFields(const OpKernelInfo& info
key_field_name_ = "keys_floats";
value_field_name_ = "values_floats";
info.GetAttrOrDefault<float>("default_float", &default_value_, -0.0f);
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, int64_string,
Expand All @@ -158,7 +158,7 @@ void LabelEncoder_2<std::int64_t, std::string>::InitializeSomeFields(const OpKer
key_field_name_ = "keys_int64s";
value_field_name_ = "values_strings";
info.GetAttrOrDefault<std::string>("default_string", &default_value_, std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, string_int64,
Expand All @@ -172,7 +172,7 @@ void LabelEncoder_2<std::string, std::int64_t>::InitializeSomeFields(const OpKer
key_field_name_ = "keys_strings";
value_field_name_ = "values_int64s";
info.GetAttrOrDefault<std::int64_t>("default_int64", &default_value_, static_cast<std::int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_VERSIONED_TYPED_ML_KERNEL(
LabelEncoder, 2, 3, int64_int64,
Expand All @@ -186,7 +186,7 @@ void LabelEncoder_2<std::int64_t, std::int64_t>::InitializeSomeFields(const OpKe
key_field_name_ = "keys_int64s";
value_field_name_ = "values_int64s";
info.GetAttrOrDefault<std::int64_t>("default_int64", &default_value_, static_cast<std::int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, int64_int64,
Expand All @@ -200,7 +200,7 @@ void LabelEncoder_4<std::int64_t, std::int64_t>::InitializeAttrFields(const OpKe
key_field_name_ = "keys_int64s";
value_field_name_ = "values_int64s";
default_value_ = GetDefault(kernel_info, "default_int64", static_cast<int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, int64_string,
Expand All @@ -214,7 +214,7 @@ void LabelEncoder_4<std::int64_t, std::string>::InitializeAttrFields(const OpKer
key_field_name_ = "keys_int64s";
value_field_name_ = "values_strings";
default_value_ = GetDefault(kernel_info, "default_string", std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, int64_float,
Expand All @@ -228,7 +228,7 @@ void LabelEncoder_4<std::int64_t, float>::InitializeAttrFields(const OpKernelInf
key_field_name_ = "keys_int64s";
value_field_name_ = "values_floats";
default_value_ = GetDefault(kernel_info, "default_float", 0.f);
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(LabelEncoder, 4, float_float,
KernelDefBuilder()
Expand All @@ -243,7 +243,7 @@ void LabelEncoder_4<float, float>::InitializeAttrFields(const OpKernelInfo& kern
key_field_name_ = "keys_floats";
value_field_name_ = "values_floats";
default_value_ = GetDefault(kernel_info, "default_float", -0.f);
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, float_string,
Expand All @@ -257,7 +257,7 @@ void LabelEncoder_4<float, std::string>::InitializeAttrFields(const OpKernelInfo
key_field_name_ = "keys_floats";
value_field_name_ = "values_strings";
default_value_ = GetDefault(kernel_info, "default_string", std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, float_int64,
Expand All @@ -271,7 +271,7 @@ void LabelEncoder_4<float, std::int64_t>::InitializeAttrFields(const OpKernelInf
key_field_name_ = "keys_floats";
value_field_name_ = "values_int64s";
default_value_ = GetDefault(kernel_info, "default_int64", static_cast<int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, string_int64,
Expand All @@ -285,7 +285,7 @@ void LabelEncoder_4<std::string, std::int64_t>::InitializeAttrFields(const OpKer
key_field_name_ = "keys_strings";
value_field_name_ = "values_int64s";
default_value_ = GetDefault(kernel_info, "default_int64", static_cast<int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, string_float,
Expand All @@ -299,7 +299,7 @@ void LabelEncoder_4<std::string, float>::InitializeAttrFields(const OpKernelInfo
key_field_name_ = "keys_strings";
value_field_name_ = "values_floats";
default_value_ = GetDefault(kernel_info, "default_float", 0.f);
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, string_string,
Expand All @@ -313,7 +313,7 @@ void LabelEncoder_4<std::string, std::string>::InitializeAttrFields(const OpKern
key_field_name_ = "keys_strings";
value_field_name_ = "values_strings";
default_value_ = GetDefault(kernel_info, "default_string", std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, string_int16,
Expand All @@ -326,7 +326,7 @@ template <>
void LabelEncoder_4<std::string, std::int16_t>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
key_field_name_ = "keys_strings";
default_value_ = static_cast<std::int16_t>(GetDefault(kernel_info, "", static_cast<std::int16_t>(-1)));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(LabelEncoder, 4, double_double,
KernelDefBuilder()
Expand All @@ -339,7 +339,7 @@ ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(LabelEncoder, 4, double_double,
template <>
void LabelEncoder_4<double, double>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
default_value_ = GetDefault(kernel_info, "default_float", -0.);
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, double_string,
Expand All @@ -352,7 +352,7 @@ template <>
void LabelEncoder_4<double, std::string>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
value_field_name_ = "values_strings";
default_value_ = GetDefault(kernel_info, "default_string", std::string("_Unused"));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, string_double,
Expand All @@ -365,7 +365,7 @@ template <>
void LabelEncoder_4<std::string, double>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
key_field_name_ = "keys_strings";
default_value_ = GetDefault(kernel_info, "default_float", -0.);
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, double_int64,
Expand All @@ -378,7 +378,7 @@ template <>
void LabelEncoder_4<double, std::int64_t>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
value_field_name_ = "values_int64s";
default_value_ = GetDefault(kernel_info, "default_int64", static_cast<int64_t>(-1));
};
}

ONNX_CPU_OPERATOR_TYPED_ML_KERNEL(
LabelEncoder, 4, int64_double,
Expand All @@ -391,7 +391,7 @@ template <>
void LabelEncoder_4<std::int64_t, double>::InitializeAttrFields(const OpKernelInfo& kernel_info) {
key_field_name_ = "keys_int64s";
default_value_ = GetDefault(kernel_info, "default_float", -0.);
};
}

} // namespace ml
} // namespace onnxruntime
4 changes: 2 additions & 2 deletions onnxruntime/core/providers/cpu/ml/label_encoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ class LabelEncoder_2 final : public OpKernel {
while (input_iter != input.end()) {
const auto found = map_.find(*input_iter);
*output_iter = found == map_.end() ? default_value_ : found->second;
output_iter++;
input_iter++;
++output_iter;
++input_iter;
}
return Status::OK();
}
Expand Down

0 comments on commit d490b08

Please sign in to comment.