There are discrete architectural elements from milestone models that you can use in the design of your own convolutional neural networks. Specifically, models that have achieved state-of-the-art results for tasks like image classification use discrete architecture elements repeated multiple times, such as the VGG block in the VGG models, the inception module in the GoogLeNet, […]
Author Archive | Jason Brownlee
Convolutional Neural Network Model Innovations for Image Classification
A Gentle Introduction to the Innovations in LeNet, AlexNet, VGG, Inception, and ResNet Convolutional Neural Networks. Convolutional neural networks are comprised of two very simple elements, namely convolutional layers and pooling layers. Although simple, there are near-infinite ways to arrange these layers for a given computer vision problem. Fortunately, there are both common patterns for […]
A Gentle Introduction to Pooling Layers for Convolutional Neural Networks
Convolutional layers in a convolutional neural network summarize the presence of features in an input image. A problem with the output feature maps is that they are sensitive to the location of the features in the input. One approach to address this sensitivity is to down sample the feature maps. This has the effect of […]
A Gentle Introduction to Padding and Stride for Convolutional Neural Networks
The convolutional layer in convolutional neural networks systematically applies filters to an input and creates output feature maps. Although the convolutional layer is very simple, it is capable of achieving sophisticated and impressive results. Nevertheless, it can be challenging to develop an intuition for how the shape of the filters impacts the shape of the […]
How Do Convolutional Layers Work in Deep Learning Neural Networks?
Convolutional layers are the major building blocks used in convolutional neural networks. A convolution is the simple application of a filter to an input that results in an activation. Repeated application of the same filter to an input results in a map of activations called a feature map, indicating the locations and strength of a […]
How to Use Test-Time Augmentation to Make Better Predictions
Data augmentation is a technique often used to improve performance and reduce generalization error when training neural network models for computer vision problems. The image data augmentation technique can also be applied when making predictions with a fit model in order to allow the model to make predictions for multiple different versions of each image […]
How to Configure Image Data Augmentation in Keras
Image data augmentation is a technique that can be used to artificially expand the size of a training dataset by creating modified versions of images in the dataset. Training deep learning neural network models on more data can result in more skillful models, and the augmentation techniques can create variations of the images that can […]
How to Load Large Datasets From Directories for Deep Learning in Keras
There are conventions for storing and structuring your image dataset on disk in order to make it fast and efficient to load and when training and evaluating deep learning models. Once structured, you can use tools like the ImageDataGenerator class in the Keras deep learning library to automatically load your train, test, and validation datasets. […]
How to Get Started With Deep Learning for Computer Vision (7-Day Mini-Course)
Deep Learning for Computer Vision Crash Course. Bring Deep Learning Methods to Your Computer Vision Project in 7 Days. We are awash in digital images from photos, videos, Instagram, YouTube, and increasingly live video streams. Working with image data is hard as it requires drawing upon knowledge from diverse domains such as digital signal processing, […]
How to Load and Visualize Standard Computer Vision Datasets With Keras
It can be convenient to use a standard computer vision dataset when getting started with deep learning methods for computer vision. Standard datasets are often well understood, small, and easy to load. They can provide the basis for testing techniques and reproducing results in order to build confidence with libraries and methods. In this tutorial, […]