Deep Learning Blog | Bitfusion

Tutorial for model creation and training on NVIDIA DIGITS

Written by subbu | May 6, 2016 2:52:41 AM

Train neural network models with Caffe using sample MNIST or CIFAR datasets and learn how to use your own dataset to train models

Before you start this tutorial, you should have launched a NVIDIA DIGITS instance on Nimbix, and have the url to the DIGITS UI on Nimbix. If you haven’t launched the NVIDIA DIGITS instance on Nimbix, go here to learn how to do that or watch this screencast. 

We prepared the NVIDIA DIGITS application to have the three most common data sets used for learning with NVIDIA DIGITS and Caffe. These data sets are:

  1. MNIST, available in /db/mnist, with training and test data sets in /db/mnist/train and /db/mnist/test respectively
  2. cifar10, available at /db/cifar10, with training and test data sets in /db/cifar10/train and /db/cifar10/test respectively
  3. cifar100, available at /db/cifar100, with training and test data sets in /db/cifar100/train and /db/cifar100/test respectively

DIGITS has auto-completion, so when you begin to type these paths, you will see these paths available to you.

Creating a Model

Select the blue images button under datasets, and choose “Classification.” This well guide you through setting up a data set of images that you can train using deep learning. Enter the settings in the screenshot below to configure your train and validation databases.

 

Training with Caffe

Now you are ready to train your model! Go back to the main DIGITS page and select Images>Classification to create a new classification model. On this page, the defaults will work fine for a first time training a model. You simply need to select the data set you already configured, and select the GPUs in your instance at the bottom of the page. Kick it off and watch it run.

Custom Data Sets

If you have a custom data set, you can upload your custom data sets using Filezilla to drop.jarvice.com. See How do I transfer files to and from JARVICE? for instructions on using Filezilla. Many applications including NVIDIA DIGITS have an ssh server running. If you would like to upload or download your data while DIGITS is running using scp, rsync or another application, you can configure your SSH keys prior to launching your job. See How do I upload my SSH public key? What is it used for? for information configuring password-less SSH.

You can upload data sets using these methods to your /data directory, referred to as drop.jarvice.com, or your “drop”, and then enter this path instead of /db/mnist. If you have not yet created your own custom data set, there are instructions on the DIGITS github page on how to structure your image database and prepare labels. Now you are ready to train your Deep Learning models with GPUs in the cloud!

Want more?

If you are interested in learning about enabling more advanced deep learning applications in the cloud like NVIDIA DIGITS, or customizing your own machine learning environment in the cloud, please don’t hesitate to live chat with us right on this page by clicking the blue/white bubble on the bottom right or emailing us at support@bitfusion.io.

You can also learn more about NVIDIA DIGITS from here.