Skip to main content

FastTrackML banner

FastTrackML

An experiment tracking server focused on speed and scalability, fully compatible with MLFlow.

Quickstart

Run the tracking server

[!NOTE] For the full guide, see our quickstart guide.

FastTrackML can be installed and run with pip:

pip install fasttrackml
fml server

Alternatively, you can run it within a container with Docker:

docker run --rm -p 5000:5000 -ti gresearch/fasttrackml

Verify that you can see the UI by navigating to http://localhost:5000/.

FastTrackML UI

For more info, --help is your friend!

Track your experiments

Install the MLFlow Python package:

pip install mlflow-skinny

Here is an elementary example Python script:

import mlflow
import random

# Set the tracking URI to the FastTrackML server
mlflow.set_tracking_uri("http://localhost:5000")
# Set the experiment name
mlflow.set_experiment("my-first-experiment")

# Start a new run
with mlflow.start_run():
    # Log a parameter
    mlflow.log_param("param1", random.randint(0, 100))

    # Log a metric
    mlflow.log_metric("foo", random.random())
    # metrics can be updated throughout the run
    mlflow.log_metric("foo", random.random() + 1)
    mlflow.log_metric("foo", random.random() + 2)

Developer

FastTrackML can be built and tested within a dev container. This is the recommended way as the whole environment comes preconfigured with all the dependencies (Go SDK, Postgres, Minio, etc.) and settings (formatting, linting, extensions, etc.) to get started instantly.

GitHub Codespaces

If you have a GitHub account, you can simply open FastTrackML in a new GitHub Codespace by clicking on the green "Code" button at the top of this page.

You can build, run, and attach the debugger by simply pressing F5. The unit tests can be run from the Test Explorer on the left. There are also many targets within the Makefile that can be used (e.g. build, run, test-go-unit).

Visual Studio Code

If you want to work locally in Visual Studio Code, all you need is to have Docker and the Dev Containers extension installed.

Simply open up your copy of FastTrackML in VS Code and click "Reopen in container" when prompted. Once the project has been opened, you can follow the GitHub Codespaces instructions above.

[!IMPORTANT] Note that on MacOS, port 5000 is already occupied, so some adjustments are necessary.

CLI

If the CLI is how you roll, then you can install the Dev Container CLI tool and follow the instruction below.

CLI instructions

[!WARNING] This setup is not recommended or supported. Here be dragons!

You will need to edit the .devcontainer/docker-compose.yml file and uncomment the services.db.ports section to expose the ports to the host. You will also need to add FML_LISTEN_ADDRESS=:5000 to .devcontainer/.env.

You can then issue the following command in your copy of FastTrackML to get up and running:

devcontainer up

Assuming you cloned the repo into a directory named fasttrackml and did not fiddle with the dev container config, you can enter the dev container with:

docker compose --project-name fasttrackml_devcontainer exec --user vscode --workdir /workspaces/fasttrackml app zsh

If any of these is not true, here is how to render a command tailored to your setup (it requires jq to be installed):

devcontainer up | tail -n1 | jq -r '"docker compose --project-name \(.composeProjectName) exec --user \(.remoteUser) --workdir \(.remoteWorkspaceFolder) app zsh"'

Once in the dev container, use your favorite text editor and Makefile targets:

vscode ➜ /workspaces/fasttrackml (main) $ vi main.go
vscode ➜ /workspaces/fasttrackml (main) $ emacs .
vscode ➜ /workspaces/fasttrackml (main) $ make run

License

Copyright 2022-2023 G-Research

Copyright 2019-2022 Aimhub, Inc.

Copyright 2018 Databricks, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

Metadata

Release files for FastTrackML 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for FastTrackML 0.6.0
File
FastTrackML-0.6.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
FastTrackML-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64, Linux musl 1.1+ x86-64 Details
FastTrackML-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64, Linux musl 1.1+ ARM64 Details
FastTrackML-0.6.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
FastTrackML-0.6.0-py3-none-macosx_10_13_x86_64.whl Python 3 none macOS 10.13+ x86-64 Details

Total release size: 119.7 MB

Release files / FastTrackML-0.6.0-py3-none-win_amd64.whl

Download URL FastTrackML-0.6.0-py3-none-win_amd64.whl
Size 24.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
b9b93763dda2a416088029975c73f98bb7e2bda34c3f745f4f099cede0493c0a
BLAKE2b-256 checksum
How to use checksums
4263b43b12f286d27283e74c8107b93a6d6778d98eee3ca6de65e6bd656c2d09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / FastTrackML-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl

Download URL FastTrackML-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
Size 24.3 MB
Tags Linux glibc 2.17+ x86-64 Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5811dfab5ea52ccb40f263c5949362393eb2b1647a4281352cb94add35213c88
BLAKE2b-256 checksum
How to use checksums
8191b19f38ee3ba5f87ff1896305e1bb7881fb2103f48c5fdc33e4450fff64ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / FastTrackML-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl

Download URL FastTrackML-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Size 23.0 MB
Tags Linux glibc 2.17+ ARM64 Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5e32cc4a5221a8dc7518f0bdc5c5eb44a82daee313a7e540bfb56ef0a8ed1025
BLAKE2b-256 checksum
How to use checksums
9b4c00cd7b6efd7defa72fcb1d4c121a489f18f78660672037b8ccab0cce7bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / FastTrackML-0.6.0-py3-none-macosx_11_0_arm64.whl

Download URL FastTrackML-0.6.0-py3-none-macosx_11_0_arm64.whl
Size 23.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fe97cd8318da82dfc94423d93e100773a00f18ba47b64cd15e6e8fe22a172ea5
BLAKE2b-256 checksum
How to use checksums
5f061f88adc277f0362e7cd028cc0c28671fc0f94f6c1b58cfcc8e8a7777065b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / FastTrackML-0.6.0-py3-none-macosx_10_13_x86_64.whl

Download URL FastTrackML-0.6.0-py3-none-macosx_10_13_x86_64.whl
Size 24.5 MB
Tags Python 3 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8fcde438ee3e9222649c54ad0f9d94ba74aaf285a9e2b0abfbb0e237f7c4d4a9
BLAKE2b-256 checksum
How to use checksums
d788fd7b021aa40bb39e86e59d5bc5e1bae2a3286e8f3ccc099f1a06c06c6f2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page