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!