Skip to main content

An experiment tracking server focused on speed and scalability

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

FastTrackML-0.4.0-py3-none-win_amd64.whl (22.4 MB view details)

Uploaded Python 3Windows x86-64

FastTrackML-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl (22.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64musllinux: musl 1.1+ x86-64

FastTrackML-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (21.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64musllinux: musl 1.1+ ARM64

FastTrackML-0.4.0-py3-none-macosx_11_0_arm64.whl (22.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

FastTrackML-0.4.0-py3-none-macosx_10_13_x86_64.whl (22.8 MB view details)

Uploaded Python 3macOS 10.13+ x86-64

File details

Details for the file FastTrackML-0.4.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: FastTrackML-0.4.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 22.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for FastTrackML-0.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 eda995db0381a241d44f31e3a9469f6a6c8133f92ee9608c310d848ad8f9c676
MD5 7b992e639d6e268c61ca63d71900c8f5
BLAKE2b-256 cc81c190a3603939522f84ed4aa9976bfb8bfd6bbb34f9343c690883a2176447

See more details on using hashes here.

File details

Details for the file FastTrackML-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for FastTrackML-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ab338b912145228ceffe46d0987c52a4127b5a769d0679823987a352ebca01cf
MD5 326fce3932d335db73c31fe4ddc38c46
BLAKE2b-256 ea0fd9d98b3a4d44aff044644a3ffd5247e4ec05a910351270b7a4a9c6eed96b

See more details on using hashes here.

File details

Details for the file FastTrackML-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for FastTrackML-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c46f9e40194a2fd9d9200af4c1b148a04882215cb6937c82b66bbc7a35158706
MD5 d02cc01eebd038550679395d4c3a01a5
BLAKE2b-256 a063c4f8c7259c48c1ea99f25338d39c84d484d5ec3cbcd326763b26cf859020

See more details on using hashes here.

File details

Details for the file FastTrackML-0.4.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for FastTrackML-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d56f5979239704c942b734c94836f566d206dabc62834d8767293585040dade5
MD5 8a833ae89a1c7a36c180d6cfdd383d71
BLAKE2b-256 e9a60884b628f744299f31be118ee95e3811cf2af92e607176bcf462395bb18d

See more details on using hashes here.

File details

Details for the file FastTrackML-0.4.0-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for FastTrackML-0.4.0-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 756bef22611921938e5a3ac13e0d0f70c5bd4e14274a1920d3afdadbf3f8258c
MD5 3b2e47a6dc6339c4eac24a6664acd331
BLAKE2b-256 e610dbd7ec8fbc2e1bd8368c18026fd404e9d56ad3c5a6dd7335c6e520979bce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page