In this get started guide we’re going through all steps that are necessary to train deep neural networks using Deep Learning DS. We’re going to start by creating a data set and prepare it for training. Afterward, we’ll create a network model and start the training.

Prerequisites

There are two deployment options for Deep Learning DS: on-premises and cloud. In case you have chosen the cloud version, go to vision.data-spree.com and sign in using your credentials. If you prefer a setup on-premises, follow the installation guide first and make sure that the Deep Learning DS Server is up and running and a training worker is installed and configured as well.

In case you do not have a license for your organization yet, you can contact one of our sales representatives (sales@data-spree.com).

In order to follow this guide, you must be logged in as a user with an “Engineering” license. User licenses can be assigned in the settings of your organization.

Image Classification

Training an image classifier requires a dataset with images that are tagged using the corresponding classes. As a first step, we create the dataset and assign the labels that are available in the dataset. In this example, we’re going to create a classifier that distinguishes between heads and tails of coins.

At first, click on the plus icon to create a new dataset. Enter the correct name, activate classification labels, and add the class labels “heads“ and “tails” to the dataset. After clicking “ok”, the new dataset is created.

You can now upload images to the dataset. In the upload dialog, you can directly specify the image label for the images that you want to upload. Here you can find some exemplary images that we use during this guide (extract them and upload them using the correct label):

coin_classification_dataset.zip

Once the images are uploaded and have the correct labels, we need to split the dataset into data for training and testing in preparation for the model training. For that purpose, open the tab “subsets“ of the dataset. Here you can create and edit subsets of your dataset. In this example, we split the dataset randomly and take 80% for training and 20% for testing.

We are now ready to create a model. Go to the page “Models“ and click on the “plus“ icon to create the model. Here you need to enter a name for the model, select the model type you want to train (classification), select the specific model to train (we’re using a dla34 network in this example), and choose the subsets on which you want to train and test. Additionally, you can modify the parameters for training.

Once you have created the model, you can start the training by opening the new model and clicking on the button “start training” on the right side. You are prompted to enter the number of iterations to train and which worker should do the job.

If you cannot select any worker on the menu, make sure that you have installed and configured a training worker.

The training will now take some minutes to finish. You can refresh the training status or have a look at the training statistics to see the training progress. In case you have created multiple models and started the multiple training jobs using the same worker, the worker will process the training jobs in a first-in-first-out manner.

You can have a look at the statistics that are gathered during the training. After some minutes passed, the statistics will show up some first evaluation results. As the training progresses, the accuracy rises and in our example, we can see that we reach an accuracy of 100% on our test set.

The training is finished so that we can no think about how we embed the model into the production. For that, you can download the model and use Inference DS to execute the model.