🧪 Lab Getting Started

This library lets you organize TensorFlow machine learning experiments.

It is based on a bunch of utility functions and classes I wrote while trying some machine learning algorithms. I recently made it to a separate repo because I’ve been reusing them on different projects, and it was easier to keep track of them as a single project.

What does it do?

Keeps checkpoints and TensorBoard summaries and logs organized

Helps keep track of experiments with reference to git commits

Produce pretty console outputs

Maintains and logs histograms and moving averages

Monitor time taken for different sections of code

Estimate time remaining for experiments to run

Add headers to python source files with experiment results for easy reference

A simple TensorBoard invoker

Tools for custom graphs from TensorBoard summaries

Help make code more readable

Why I made it?

I started coding existing reinforcement learning algorithms to play Atari games for fun. It was not easy to keep track of things when I started trying variations, fixing bugs etc. This library helps organize experiments. It organizes the folders of the checkpoints, logs and TensorBoard summaries by each experiment. It also keeps track of the git commits when each experiment was run, so if some other change in code, affected the results of a experiment you can easily track what caused it.

I also wrote a logger to display pretty results on screen and to make it easy to write TensorBoard summaries. It also keeps track of training times which makes it easy to spot what’s taking up most resources. Here’s the output of this sample program ( lab_getting_started.py ):

This 👇 is the header that was added automatically when the experiment ran.