[ANN] TensorBoardLogger.jl v0.1.6 - Easy peasy logging to TensorBoard from Julia

Hi everyone!
In the last 6 months, also thanks to the help of @oxinabox and @shashikdm, we have slowly-but-steadily developed a nice package to work with TensorBoard directly from Julia.

The package is called TensorBoardLogger.jl
In short, the package allows you to save data in the TensorBoard format, so that you can visualise it live with fancy displays like this one below:

The package is very easy to use. In fact, you simply need to create a logger and then you can send data to it with standard Julia logging commands.

using TensorBoardLogger, Logging, Random

logger =TBLogger("tblogs/run")

with_logger(logger) do
    for i=1:100
        @info "test" i=i j=i^2 dd=rand(2).+0.1*i 
        @info "test2" str="hello $i" log_step_increment=0
        @debug "debug_msg" this_wont_show_up=i
    end
end

You can log almost anything! Structures and dictionaries are decomposed automatically, and if you don’t like the way this is done, you can change the default behaviour by simply defining one function!

In this last release, we also added the ability to read back the data that you stored to TensorBoard. This is as easy as doing

using ValueHistories
data = convert(MVHistory, logger)

but this can be fully customised. Check the docs!

In the documentation, there are a bunch of examples about how you can easily integrate it with Flux, Optim, and it should not be hard to see how this can be done natively with any package.

Don’t let the small version number fool you. The package has been stable and backwards compatible for the last 6 months, so we never needed to bump the minor version.

Hope you find it interesting as well!

17 Likes

Philip, this looks fantastic!
I must admit though - I work in an ML company, a Python/tensorflow shop. On our Kubernetes cluster Ternsorboard processes are the bane of my life… I resorted to killing them off using a cron job. I guess people just leave them running and forget about them.

I just tried TBL - I love it!

1 Like