Using Python to Snake Closer to Simplified Deep Learning
March 15, 2018
On today’s episode of “The Interview” with The Next Platform, we discuss the role of higher level interfaces to common machine learning and deep learning frameworks, including Caffe.
Despite the existence of multiple deep learning frameworks, there is a lack of comprehensible and easy-to-use high-level tools for the design, training, and testing of deep neural networks (DNNs) according to this episode’s guest, Soren Klemm, one of the creators of Python based Barista, which is an open-source graphical high-level interface for the Caffe framework.
While Caffe is one of the most popular frameworks for training DNNs, editing prototxt files in order to specify the net architecture and hyper parameters can become a cumbersome and error-prone task. Instead, Barista offers a fully graphical user interface with a graph-based net topology editor.
Barista is designed on top of the Caffe infrastructure. As such, it provides the user with lists of Caffe’s layers, available layer parameters, as well as all of the solver options Caffe offers. Barista is designed to support all Caffe development branches that provide a valid caffe.proto file and Python interface.
At the heart of Barista’s user interface is the network editor where users can generate networks as graph-like structures, allowing a quick and less error-prone design. These networks can be exported as a prototxt file to share it with others or run it on machines without a Barista installation. All existing Caffe nets can be imported so that you can start to speed up your machine learning tasks right away.
In the future, the team plans to extend by adding more visualization options for the training as well as the weights of the trained model. The team also aims to provide configurable default parameter sets for frequently used layers and solver settings to further improve productivity when defining NNs and hyper parameters from scratch.
A detailed paper on Barista can be found here.