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!