An extension of Feedzai's Machine Learning API to integrate ML platforms with the data science and runtime environment.
Check out the openml-example project for a trivial example of implementing a new provider.
While building your OpenML Provider with Maven, you can add dependencies on the artifacts in this repository. Learn more in the following sections.
The OpenML API module contains the primary concepts facilitating the interaction between the platform and any external ML platform.
<dependency>
<groupId>com.jiyang</groupId>
<artifactId>openml-api</artifactId>
<!-- Check project tags for the latest version -->
<version>1.2.0</version>
</dependency>
The openml-utils module can help you manipulate some of the core concepts.
<dependency>
<groupId>com.jiyang</groupId>
<artifactId>openml-utils</artifactId>
<!-- Check project tags for the latest version -->
<version>1.2.0</version>
</dependency>
Build this Maven project with the following command:
mvn clean install
Ensure your provider is identified according to the specification of Java's Service Loader. This means generating a Jar with the code (potentially with all necessary dependencies included in it or a set of Jars), and making sure to include a file resources/META-INF/services/com.jiyang.openml.MachineLearningProvider
to indicate the providers in your code. Explore our example in this repository. Google's Auto Service might assist in setting this up for you.
To ease the creation of new OpenML Providers, a Maven archetype was created. To get started, run:
mvn archetype:generate -DarchetypeGroupId=com.jiyang -DarchetypeArtifactId=openml-provider-archetype -DarchetypeVersion=1.2.0
After providing all necessary details (your new provider groupId, artifactId, and version), a provider template with some advice will be accessible on your workspace.
This project uses the jgitver Maven plugin. If you are using IntelliJ IDEA, you must configure the project to skip the plugin. See the related issue.