-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Import Featurizers #2643
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Import Featurizers #2643
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
a5b4e4f
Build recent version of the Featureizers library in external/featurizers
yuslepukhin daf4a35
Build and test most recent DateTimeTransformer impl.
yuslepukhin 72e9784
Add FeaturizersLibrary as a submodule to run CI pipielines.
yuslepukhin 3e5dfca
Merge branch 'master' into yuslepukhin/import_featurizers
yuslepukhin 48df74f
Remove submodule
yuslepukhin 8b3b4bc
Merge branch 'master' into yuslepukhin/import_featurizers
yuslepukhin e6d04df
Promote FeaturizersLibrary.
yuslepukhin a680d18
Fix compile issue in automl_defs
yuslepukhin adc9792
Remove unused var.
yuslepukhin 2dd73e5
Merge branch 'yuslepukhin/import_featurizers' of https://github.com/m…
yuslepukhin 1ea2dde
Advance commit for CMakeFile.
yuslepukhin 08614e1
Include Featurizer Library into component registry.
yuslepukhin ea6968c
Advance commit.
yuslepukhin 835ba7f
Merge branch 'master' into yuslepukhin/import_featurizers
yuslepukhin 7b4d8b3
Rework module import.
yuslepukhin fe0b110
Advance for C++11 fixes.
yuslepukhin a589df8
Set position independent code for featurizers
yuslepukhin 4c47fa2
Fix GIT TAG review comment.
yuslepukhin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. | ||
# This source code should not depend on the onnxruntime and may be built independently | ||
|
||
set(featurizers_URL "https://github.com/microsoft/FeaturizersLibrary.git") | ||
set(featurizers_TAG "006df6bff45dac59d378609fe85f6736a901ee93") | ||
|
||
set(featurizers_pref FeaturizersLibrary) | ||
set(featurizers_ROOT ${PROJECT_SOURCE_DIR}/external/${featurizers_pref}) | ||
set(featurizers_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/external/${featurizers_pref}) | ||
|
||
# Only due to GIT_CONFIG | ||
# Uncoment UPDATE_COMMAND if you work locally | ||
# on the featurizers so cmake does not undo your changes. | ||
if (WIN32) | ||
ExternalProject_Add(featurizers_lib | ||
PREFIX ${featurizers_pref} | ||
GIT_REPOSITORY ${featurizers_URL} | ||
GIT_TAG ${featurizers_TAG} | ||
# Need this to properly checkout crlf | ||
GIT_CONFIG core.autocrlf=input | ||
SOURCE_DIR ${featurizers_ROOT} | ||
# Location of CMakeLists.txt | ||
SOURCE_SUBDIR src/Featurizers | ||
BINARY_DIR ${featurizers_BINARY_DIR} | ||
# UPDATE_COMMAND "" | ||
INSTALL_COMMAND "" | ||
) | ||
else() | ||
ExternalProject_Add(featurizers_lib | ||
PREFIX ${featurizers_pref} | ||
GIT_REPOSITORY ${featurizers_URL} | ||
GIT_TAG ${featurizers_TAG} | ||
SOURCE_DIR ${featurizers_ROOT} | ||
# Location of CMakeLists.txt | ||
SOURCE_SUBDIR src/Featurizers | ||
BINARY_DIR ${featurizers_BINARY_DIR} | ||
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON | ||
# UPDATE_COMMAND "" | ||
INSTALL_COMMAND "" | ||
) | ||
endif() | ||
|
||
add_library(automl_featurizers STATIC IMPORTED) | ||
add_dependencies(automl_featurizers featurizers_lib) | ||
target_include_directories(automl_featurizers INTERFACE ${featurizers_ROOT}/src) | ||
|
||
if(MSVC) | ||
set_property(TARGET automl_featurizers PROPERTY IMPORTED_LOCATION | ||
${CMAKE_CURRENT_BINARY_DIR}/external/${featurizers_pref}/${CMAKE_BUILD_TYPE}/FeaturizersCode.lib) | ||
else() | ||
set_property(TARGET automl_featurizers PROPERTY IMPORTED_LOCATION | ||
${CMAKE_CURRENT_BINARY_DIR}/external/${featurizers_pref}/libFeaturizersCode.a) | ||
endif() | ||
|
||
if (WIN32) | ||
# Add Code Analysis properties to enable C++ Core checks. Have to do it via a props file include. | ||
set_target_properties(automl_featurizers PROPERTIES VS_USER_PROPS ${PROJECT_SOURCE_DIR}/ConfigureVisualStudioCodeAnalysis.props) | ||
endif() | ||
|
||
# Build this in CentOS | ||
# foreach(_test_name IN ITEMS | ||
# CatImputerFeaturizer_UnitTests | ||
# DateTimeFeaturizer_UnitTests | ||
# HashOneHotVectorizerFeaturizer_UnitTests | ||
# ImputationMarkerFeaturizer_UnitTests | ||
# LabelEncoderFeaturizer_UnitTests | ||
# MaxAbsScalarFeaturizer_UnitTests | ||
# MinMaxScalarFeaturizer_UnitTests | ||
# MissingDummiesFeaturizer_UnitTests | ||
# OneHotEncoderFeaturizer_UnitTests | ||
# RobustScalarFeaturizer_UnitTests | ||
# SampleAddFeaturizer_UnitTest | ||
# StringFeaturizer_UnitTest | ||
# Structs_UnitTest | ||
# TimeSeriesImputerFeaturizer_UnitTest | ||
# ) | ||
# add_executable(${_test_name} ${featurizers_ROOT}/src/Featurizers/UnitTests/${_test_name}.cpp) | ||
# add_dependencies(${_test_name} automl_featurizers) | ||
# target_include_directories(${_test_name} PRIVATE ${featurizers_ROOT}/src) | ||
# target_link_libraries(${_test_name} automl_featurizers) | ||
# list(APPEND featurizers_TEST_SRC ${featurizers_ROOT}/src/Featurizers/UnitTests/${_test_name}.cpp) | ||
# endforeach() | ||
|
||
# source_group(TREE ${featurizers_ROOT}/src/Featurizers/UnitTests FILES ${featurizers_TEST_SRC}) |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just wondering, does the lib has any C++ types in its public interface?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, they are not public outisde ORT. ORT consumes this library.
In reply to: 357838315 [](ancestors = 357838315)