Skip to content
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

Added Python module isolation-forest-onnx which can convert an isolation forest model to ONNX format. #53

Merged
merged 2 commits into from
Sep 3, 2024

Conversation

jverbus
Copy link
Contributor

@jverbus jverbus commented Aug 30, 2024

Added Python module isolation-forest-onnx which can convert an isolation forest model to ONNX format.

Description

This PR introduces the isolation-forest-onnx module to the repository. The module provides a converter for the LinkedIn Isolation Forest model to the ONNX format, enabling seamless integration and deployment across various platforms supporting ONNX.

Key Changes:

  • Updated the gradle build configuration to support Python in addition to the existing Scala from the isolation-forest module.
  • Added the isolation-forest-onnx module, including:
    • The core IsolationForestConverter class for converting Isolation Forest models to ONNX format.
    • Full testing coverage, including end-to-end correctness testing.

Testing:

  • Unit Tests: Added coverage for core functionality with pytest and coverage. These tests include end-to-end correctness testing comparing the output of both the Spark/Scala and ONNX formatted models. All new tests are passing.
  • Manual Verification: Tested the module by converting a sample Isolation Forest model to ONNX and verifying the ONNX output.

Next steps

After this PR is committed, there will be future PRs to do the following:

  • Publish build artifacts to PyPI: Add jobs in GitHub Actions to publish artifacts to the PyPI repository, so they can be easily used via pip install isolation-forest-onnx.
  • Update README.md: Update the README.md to provide instructions on how to use the ONNX converter.

Contributors

Special thanks to the following technical contributors to this converter (alphabetical order): Angie Zhu, Deepesh Nathani, Devendra Jaisinghani, James Verbus, Siva Popuri, Ying Su

@wangzhongqing
Copy link

wangzhongqing commented Aug 30, 2024 via email

Copy link

@angie-z angie-z left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Thank you so much for adding this module!

@jverbus jverbus merged commit ae6efe5 into master Sep 3, 2024
12 checks passed
@jverbus jverbus deleted the isolation-forest-onnx branch September 3, 2024 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants