{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "# Full run through of raw images to classification with Convolutional Neural Network #\n", "\n", "In this tutorial, we're going to be running through taking raw images that have been labeled for us already, and then feeding them through a convolutional neural network for classification. \n", "\n", "The images are either of dog(s) or cat(s). \n", "\n", "Once you have downloaded and extracted the data from https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/data, you're ready to begin." ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "source": [ "# Part 1 - Preprocessing\n", "\n", "We've got the data, but we can't exactly just stuff raw images right through our convolutional neural network. First, we need all of the images to be the same size, and then we also will probably want to just grayscale them. Also, the labels of \"cat\" and \"dog\" are not useful, we want them to be one-hot arrays. \n", "\n", "Interestingly, we may be approaching a time when our data might not need to be all the same size. Looking into TensorFlow's research blog: https://research.googleblog.com/2017/02/announcing-tensorflow-fold-deep.html\n", "\n", "\"TensorFlow Fold makes it easy to implement deep-learning models that operate over data of varying size and structure.\"\n", "\n", "Fascinating...but, for now, we'll do it the old fashioned way.\n", "\n", "