# How to train a convolutional neural net on images?

The functions Predict[] and Classify[] both have the option Method -> "NeuralNetwork", but all the structure and code is hidden. I'm implementing a cnn or convnet package, hopefully using CUDALink. Can anyone come up with a hello world example for a convnet on a set of annotated images to find logos? Here's the training set I'm using (a list of urls of the images in the training set).

Check out these links for more examples and related documentation:

• Your link convnet doesn't lead to a page about convnet, and your link training set doesn't link to a downloadable archive of images or the archive itself. – C. E. Jan 12 '15 at 18:17
• @Pickett Thanks! I just fixed the links, but you have to sign up to download the imagenet archive. – M.R. Jan 13 '15 at 2:01
• At this point in time Mathematica is not the most friendly platform for machine learning development. This is because, as you point out, most of its functionality is obscured.From the documentation, it isn't even easy to tell if the implementation supports sparse layer connectivity, or how you might specify that if it did, which you would need for your convolution neural network. Unless someone has done a fair amount of spelunking, a "hello world" example of the type you ask for might be a tall order. – image_doctor Jan 13 '15 at 10:56

## 2 Answers

Mathematica doesn't currently have an implementation for training convolutional neural networks. This is certainly on our agenda of functionality to implement.

I will update this when I can give more information as to when this feature will become available.

Edit: If you are interested in third-party functionality, here is a Mathematica link to the Caffe deep learning library: https://github.com/Seilim/CaffeLink

• Thanks, I know but was hoping for third party solutions – M.R. Mar 10 '15 at 3:04
• I added a third-party solution in the last edit. – Sebastian Mar 13 '15 at 15:52

From Mathematica V11, there is built-in support for deep neural network(like convolutional neural network).

Check out introduction materials like Image Recognition Using Deep Learning and Accelerate Training Using a GPU.