Skip to content

pfjaeger/trixi

 
 

Repository files navigation

DOI Build Status

logo_small

Manage your machine learning experiments.
icon trixi is a tool to help you configure, visualize and log your experiments in a reproducible fashion.

Features

Trixi consists of three parts:

  • Logging API
    Log what ever data you like in what ever way you like to whatever backend you like.

  • Experiment Infrastructure
    Standardize your experiment, let them the framework do all the inconvenient stuff, and simple start, resume, change, finetune and compare all your experiments.

  • Experiment Browser
    Compare, Combine and visually inspect the results of your Experiments.

An detailed implementation overview is given here.

Logging API

The Logging-Api provides a standardized way for logging results to different backends. The logging api supports (among others):

  • Values
  • Text
  • Plots (Bar, Line, Scatter, Piechart, ...)
  • Images (Single, as grid)

And offers different Backends, e.g. :

And an Experiment-logger for logging your experiments, which automatically creates a structured directory and allows storing of config, results, plots, dict, array, images, ...

Here are some examples:

visdom-logger

  • Files:

file-logger

  • Telegram:

telegram-logger

Experiment Infrastructure

The Experiment Infrastructure provides a unified way to configure, run, store and evaluate your results. It provides you an Experiment-Interface, for which you can implement the training, validation and testing. Furthermore it automatically provides you with easy access to the Logging API and stores your config es well as the results for easy evaluation and reproduction of different experiments.

exp-trainexp-test

For more info, visit the Documentation.

Experiment Browser

The Experiment Browser offers a complete overview of experiments along with all config parameters and results. It also allows to combine and/or compare different experiments. It also gives an interactive comparison highlighting differences in the configs and a detailed view of all images, plots, results and logs of each experiment, with live plots and more. trixi browser

Installation

Install Trixi:

pip install trixi

Or to always get the newest version you can install trixi directly via git:

git clone https://github.com/MIC-DKFZ/trixi.git
cd trixi
pip install -e .

Docs

The docs can be found here: trixi.rtfd.io

Or you can build your own docs using Sphinx.

Sphinx Setup

Setup

Install Sphinx: pip install sphinx

Generate Api-docs: path/to/PROJECT/doc$ sphinx-apidoc -f -o . ..

Open index.html: firefox path/to/PROJECT/doc/_build/html/index.html

Notes

  • rerun make html each time existing modules are updated
  • DO NOT forget indent or blank lines
  • Code with no classes or functions is not automatically captured using apidoc

Example Documentation

This follows the Google style docstring guidelines:

def show_image(self, image, name, file_format=".png", **kwargs):
    """
    This function shows an image.

    Args:
        image(np.ndarray): image to be shown
        name(str): image title
    """

Examples:

Examples can be found here for:

About

Manage your machine learning experiments with Trixi - high-fashion and the pythonic way.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 84.6%
  • HTML 12.8%
  • CSS 1.6%
  • Other 1.0%