Convolutional Neural Networks

A Convolutional Neural Network (CNN) is a feedforward neural network that utilizes filters to select which features are relevant during learning and which are not. CNN’s were designed to resolve problems with the Curse of Dimensionality that traditional fully connected neural networks faced by using filters to perform feature engineering, thus reducing the dimensions. While there are many implementations of CNN’s, they always have a convolutional filter (kernel) layer, and often have regularization built into them as well. They have seen extensive use in industry with regards to image and video or for computer vision problems.

Common Applications

Common Problem Types

  • Healthcare (Image Analysis)

  • Tech (Search, Recommender Systems, Video Processing)

  • Computer Vision Problems

  • Financial Time Series

Code Examples

All of the code examples are written in Python, unless otherwise noted.

Containers

These are code examples in the form of Jupyter notebooks running in a container that come with all the data, libraries, and code you’ll need to run it. Click here to learn why you should be using containers, along with how to do so.
Quickstart: Download Docker, then run the commands below in a terminal.

Computer Vision Image Toolkit

An introductory notebook showing how to implement many different types of image processing. Towards the end of this notebook there is an example of different kinds of filters, along with a demonstration of how convolution kernels work.

#pull container, only needs to be run once
docker pull ghcr.io/thedatamine/starter-guides:cv-image-toolkit

#run container
docker run -p 8888:8888 -it ghcr.io/thedatamine/starter-guides:cv-image-toolkit

Convolutional Neural Networks, Anomaly Identification, and Reading TFRecords

Here we explore using Convolutional Neural Networks (CNN’s) to classify images of concrete by their anomaly status (that is, whether they have a crack or not). Our data is supplied in the form of TFRecords, so we look at how to read those in for training and testing.

#pull container, only needs to be run once
docker pull ghcr.io/thedatamine/starter-guides:cnn-anomaly-reading-tfrecords

#run container
docker run -p 8888:8888 -it ghcr.io/thedatamine/starter-guides:cnn-anomaly-reading-tfrecords

Need help implementing any of this code? Feel free to reach out to [email protected] and we can help!