An experiment tracking server focused on speed and scalability
Project description
FastTrackML
An experiment tracking server focused on speed and scalability, fully compatible with MLFlow.
Quickstart
Run the tracking server
For the full guide, see docs/quickstart.md.
FastTrackML can be run using the following command:
docker run --rm -p 5000:5000 -ti gresearch/fasttrackml
Verify that you can see the UI by navigating to http://localhost:5000/.
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")
# 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)
Encryption at rest
To use an encrypted SQLite database, use the query parameter _key
in the DSN:
docker run --rm -p 5000:5000 -ti gresearch/fasttrackml server --database-uri 'sqlite:///data/fasttrackml.db?_key=passphrase'
Developer
Using the project's devcontainer is recommended for development. VSCode should detect the .devcontainer folder and offer to restart the IDE in that context. For other users, the underlying docker container can be used. The Makefile offers some basic targets.
cd .devcontainer
docker-compose up -d
docker-compose exec -w /workspaces/fasttrackml app bash
root ➜ /workspaces/fastrackml $ make build
root ➜ /workspaces/fastrackml $ make run
root ➜ /workspaces/fastrackml $ make test
root ➜ /workspaces/fastrackml $ emacs .
Note that on MacOS, port 5000 is already occupied, so some adjustments are necessary.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for FastTrackML-0.3.0-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca8c9e3e1e814b5ab9938cc06fe06d239da67967d10e191224b4a67ebe7cc5d |
|
MD5 | ff5eb75920805cce6bea4b831404a8a2 |
|
BLAKE2b-256 | 810fec62b78279f4e658d5cb89eb571f8c5691df709be600ddac68c833301499 |
Hashes for FastTrackML-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34a15848f79979c010973354afbb47d6dbcdd20aea66055c586cd261b4f4c90 |
|
MD5 | 3973d648c9b8ab5a107edfa84e502887 |
|
BLAKE2b-256 | f676066d3fd1f913d4b1e4f37892e87b767c80139d7e2efdcea90c1f511c23aa |
Hashes for FastTrackML-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0467feedb120716c3c5e32a029583b2510d2d0ea31f7ddddb74da827a00500b5 |
|
MD5 | 7a77136706ba676f3cfa089d33913ae8 |
|
BLAKE2b-256 | cb7c8f0e6ec05060073b5633968c86a766c5ed1ff69a985649547037cbd8939d |
Hashes for FastTrackML-0.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2167e34894b8041e07448fbf3d7198718d32af7216094b82b9a96dff3d13e7a5 |
|
MD5 | d327ef3ee4cd59142b6d5d5883fdb70f |
|
BLAKE2b-256 | c45ec33baff3c99d9362c02aebe97f3c6f0ea0c0195b66feb5d5dee5467c4bdb |
Hashes for FastTrackML-0.3.0-py3-none-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 955f270580732338671956258db00ed1124115f344ab7c05f8a56afea4e527c9 |
|
MD5 | 87cb09c27c7fbf1e78ed5cce90d976fc |
|
BLAKE2b-256 | 6a774d2da1f3ca00b39d7209b79d58823791aea5502f38cf4a2ce650c2b7576b |