# ml **Repository Path**: mirrors_allenai/ml ## Basic Information - **Project Name**: ml - **Description**: Re-usable low-level ML components - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-24 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ML Components Repository for low-level production-grade ML inference. The current motivating example is the CRF inference component which is used in the AI2 fork of Grobid and Science Parse. It's currently 100% Java, but can also have Scala too. ## Getting Started This project is currently Java 8 built with `gradle`. To install `gradle` simply install via `brew install gradle` via [Homebrew](http://brew.sh). Then if you can do: ```bash > gradle test # Run unit tests > gradle idea # Generate IntelliJ project ``` ## Project Conventions ### Documentation You can use Markdown in your Javadoc using [Pegdown](https://github.com/sirthias/pegdown). ### Test Coverage You can run `gradle jacoco` and this will produce a testing report. ```bash > gradle jacoco > open build/reports/jacoco/test/html/index.html ``` ### Benchmark Tests ```bash > gradle jmh > open build/reports/jmh/results.txt ``` ### Lombok This project uses [Lombok](https://projectlombok.org) which requires you to enable annotation processing inside of an IDE. [Here](https://plugins.jetbrains.com/plugin/6317) is the IntelliJ plugin and you'll need to enable annotation processing (instructions [here](https://www.jetbrains.com/idea/help/configuring-annotation-processing.html)). Lombok has a lot of useful annotations that give you some of the nice things in Scala: * `val` is equivalent to `final` and the right-hand-side class. It gives you type-inference via some tricks * Checkout [`@Data`](https://projectlombok.org/features/Data.html) ### Efficient Primitive Collections Using [GSCollections](https://github.com/goldmansachs/gs-collections) which has been found as efficient as the best libraries across a wide-range of tasks (in particular way faster than [trove](http://trove.starlight-systems.com)).