Archive | Deep Learning

ImageNet: VGGNet, ResNet, Inception, and Xception with Keras

A few months ago I wrote a tutorial on how to classify images using Convolutional Neural Networks (specifically, VGG16) pre-trained on the ImageNet dataset with Python and the Keras deep learning library. The pre-trained networks inside of Keras are capable of recognizing 1,000 different object categories, similar to objects we encounter in our day-to-day lives with high […]

Continue Reading 38

I’m writing a book on Deep Learning and Convolutional Neural Networks (and I need your advice).

You may have heard me mention it in a passing comment on the PyImageSearch blog… Maybe I even hinted at it in a 1-on-1 email… Or perhaps you simply saw the writing on the wall due to the recent uptick in Deep Learning/Neural Network tutorials here on the blog… But I’m here today to tell […]

Continue Reading 32

Installing Keras with TensorFlow backend

A few months ago I demonstrated how to install the Keras deep learning library with a Theano backend. In today’s blog post I provide detailed, step-by-step instructions to install Keras using a TensorFlow backend, originally developed by the researchers and engineers on the Google Brain Team. I’ll also (optionally) demonstrate how you can integrate OpenCV into […]

Continue Reading 48

Stochastic Gradient Descent (SGD) with Python

In last week’s blog post, we discussed gradient descent, a first-order optimization algorithm that can be used to learn a set of classifier coefficients for parameterized learning. However, the “vanilla” implementation of gradient descent can be prohibitively slow to run on large datasets — in fact, it can even be considered computationally wasteful. Instead, we should apply Stochastic […]

Continue Reading 7

Understanding regularization for image classification and machine learning

In previous tutorials, I’ve discussed two important loss functions: Multi-class SVM loss and cross-entropy loss (which we usually refer to in conjunction with Softmax classifiers). In order to to keep our discussions of these loss functions straightforward, I purposely left out an important component: regularization. While our loss function allows us to determine how well (or poorly) our […]

Continue Reading 2

ImageNet classification with Python and Keras

Normally, I only publish blog posts on Monday, but I’m so excited about this one that it couldn’t wait and I decided to hit the publish button early. You see, just a few days ago, François Chollet pushed three Keras models (VGG16, VGG19, and ResNet50) online — these networks are pre-trained on the ImageNet dataset, meaning that they can recognize 1,000 […]

Continue Reading 80

LeNet – Convolutional Neural Network in Python

In today’s blog post, we are going to implement our first Convolutional Neural Network (CNN) — LeNet — using Python and the Keras deep learning package. The LeNet architecture was first introduced by LeCun et al. in their 1998 paper, Gradient-Based Learning Applied to Document Recognition. As the name of the paper suggests, the authors’ implementation of LeNet was used […]

Continue Reading 62