required for training the neural network from
scratch. In this pre-trained network model, the
weights have already been set. A new dataset is
provided to the network. The only change is in the
classifier, which is present at the end that classifies
the image into one of the several labels present in
the dataset. The classifier is changed depending on
the number of classes present in the dataset. It also
does some fine-tuning on the weights.
2.3
German Traffic Sign Dataset
Training of a neural network requires a large
dataset. The dataset also needs to have various
images of each class, taken in different light and
weather conditions. Due to practical limitations in
obtaining such a huge traffic sign dataset and
variations, we downloaded the German Traffic Sign
Recognition Benchmark (GTSRB) dataset used in
the ICJNN competition[9]. The dataset was
prepared from a video. The dataset consisted of
50,000 plus images of German road traffic signs
divided into 43 classes.
2.4
Caffe
Caffe is a deep learning framework that the
Berkeley Vision and Learning Centre developed at
the University of California, Berkeley. Speed,
expression, and modularity was the main goal
behind creating the Caffe framework. It is prevalent
among research scientists, startups, and academia.
The network definition format is entirely different
from other popular frameworks such as TensorFlow.
No complex coding is required for optimization and
defining the model and is done with the help of a
configuration file. With the help of a single flag, we
can switch between a CPU or GPU for training
purposes. Once the model is trained, a .caffemodel
file is generated. This file consists of floating-point
weights/parameters. Other files required for training
are:- 1) train_val. prototxt – this file is used to
define the network architecture, the path to a binary
proto file, the path to training, and the validation
dataset 2) solver. prototxt – used to specify gradient
descent parameters, learning rate, number of
iterations, step-size, base learning rate, and other
information required for training 3) mean.
binaryproto – It has the mean value of images over a
complete dataset for each channel that needs to be
subtracted from each image[10].
2.5
Nvidia DIGITS
NVIDIA DIGITS provides a graphical user
interface for training a neural network rather than a
command line. DIGITS generates and modifies
other training files. DIGITS is an interactive web-
based tool that helps AI/ML engineers focus on
training and designing the algorithms rather than
debugging and other necessary pre-training tasks.
DIGITS can train the neural network with high
accuracy and rapidly for image recognition, image
segmentation, object detection tasks. DIGITS take
care of all the pre-processing steps that are
performed on a dataset, selecting/uploading a pre-
trained model for transfer learning, training a neural
network from scratch, and providing various
visualizations (in the form of graphs/charts) before,
during, and after training[11]. This simplifies the
training of a neural network. There are multiple
image resizing options available in Nvidia DIGITS.
For example, there is squash, fill (random noise),
crop, half-crop.
2.6
Xtensa Neural Network Compiler
XNNC is a tool used to convert a floating-point
neural network model into a fixed-point, optimized
solution for Xtensa Processors. XNNC helps
optimize the CNN by efficiently converting the
floating-point weights to an optimized fixed-point
weight without losing accuracy[12]. XNNC
supports both standard and custom CNN layers and
major CNN architectures. XNNC quantizes the
input model. XNNC does not have a graphical user
interface (GUI) and uses a command line to take
inputs and generate output.
Files that are given to the input of the XNNC are:-
Floating-point CNN definition (Accepted file
formats include .caffemodel, .prototxt,
.binaryproto, TensorFlow models)
Calibration and Validation dataset
Files generated at the output of the XNNC: -
CNN code optimized for target Xtensa DSP
Accuracy report and other supporting files
The XNNC reads from a configuration file. In the
file the path is mentioned for the following: 1) the
path to the .caffemodel file is stored. 2) path where
WSEAS TRANSACTIONS on COMPUTER RESEARCH
DOI: 10.37394/232018.2022.10.5
Ninad Patil, Vanita Agarwal