Crayon: A framework for the usage of Tensorboard with a RESTful API in any language

Dec. 2, 2017, 10:05 a.m. By: Kirti Bakshi


The computations that usually make use of TensorFlow for like say the training of a massive deep neural network can turn out to be really complex and confusing and In order to make it easier to understand, debug, and optimize programs in TensorFlow, there comes the need to include TensorBoard that is a suite of visualization tools.

You can make the use of TensorBoard to create a visualization of your TensorFlow graph, plot quantitative metrics in relation to the execution of your respective graph, and also on the contemporary show additional data like images that further pass through it.

And as an addition to the same, Crayon is a framework that provides its users with the ability to access to the visualization power of TensorBoard with any language. Currently the framework is said to provide an interface in Python and Lua, however, you can also very easily make the implementation of a wrapper around the provided RESTful API as and when needed.

You can also see the documentation for the required language on GitHub:

This system of Crayon is mainly composed of two parts:

  • A server that runs on a given machine that ahead will be used in order to display TensorBoard and store all the related data.

  • A client that is embedded in your made code that will further send the data to the server.

It is to make a note of that the server and the client do not compulsorily have to be on the same machine and The framework can also log scalars, (numpy) images and histograms as well. Crayon currently supports only Histograms and Scalars.

Further, in order for the installation of the same:

The Server machine:

The machine that will deal with the hosting of the server needs to have docker installed beforehand. The server, inside a docker container, is completely packaged.

The Client machine:

The client machine only needs to install the client for the language that is required by the user. The Detailed instructions about the same can be read by navigating the direction to their respective directories.


The python client for the Crayon package that is called as PyCrayon is known to make the setup and plotting of scalar losses and various histograms incredibly easy. And for the installation of the same:

  • From pip: $ pip install pycrayon

  • From source: $ python install

For more Information: GitHub