Click anywhere to close

Google Colab + Losswise

Google Colab

I’ve been using Google Colab for a while now, if you haven’t checked it out I suggest doing so. It is a great way to run python notebooks in the cloud, it supports google docs style interactive sharing, and Google even gives you free shared time on a Nvidia K80 GPU for training (at least as of May 2018). I use it whenever I need to train models and don’t want to throw money at the problem Recently I used it for my Sonic Collision Mapping project.

Losswise

Although colab is great, one of the major downsides is that since you don’t have direct server access, you can’t easily use Tensorboard to monitor & plot training performance. This is where Losswise comes in.

Losswise Logo

Losswise Screenshot

Losswise is an easy to use external service that allows you to track model performance in real time. By installing and setting up the losswise package, you can easily track your model’s training perfomance on the with the losswise dashboard.

Using losswise is pretty straightforward, the only gotcha is that if you are sharing a model you probably don’t want your private Losswise API key saved in the notebook. Instead of hardcoding your Losswise token, it is better to use the python getpass module to accept it as a secret password field.

import getpass
import losswise

losswise.set_api_key(getpass.getpass(‘Enter your losswise API Token '))

After that it’s easy to integrate Losswise into your workflow. For my Sonic Collision Map project I used Keras, so integrating with Losswise was as simple as using their Keras callback module:

# In imports section
from losswise.libs import LosswiseKerasCallback

# In training section
history = model.fit_generator(
    # other arguments    
    callbacks=[
        LosswiseKerasCallback(),
        # other callbacks
    ]
)

Even if you are not using Keras, it’s still very easy to use Losswise. If you are interested I suggest checking out their great documentation.

I have also created an example Colab Notebook so you can see it all in action

Recent Posts

Why I started a Blog Writing to start conversations
Categories:  Random
Posted: June 03, 2020
Unwritten Coding Standards: Vertical Whitespace Simple vertical whitespace rules that will make any code easier to read
Categories:  Coding, mike8
Posted: May 27, 2020
Things I Like Bootstrapping our reader/writer relationship by front-loading all the things I love and would inevitably tell you about anyway
Categories:  Random
Posted: May 24, 2020
Scalability Dimensions A few words on how you should order parameters to maximize codebase consistency and scalability
Categories:  Coding
Posted: May 20, 2020
Unwritten Coding Standards: Parameter Ordering A few words on how you should order parameters to maximize codebase consistency and scalability
Categories:  Coding, mike8
Posted: May 13, 2020