Multilayer Convolutional Network for the MNIST dataset (TensorFlow tutorial)
TensorFlow tutorial link:
https://www.tensorflow.org/get_started/mnist/pros
Convolutional Neural Network introduction:
(English) https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/
(Chinese) http://blog.csdn.net/stdcoutzyx/article/details/41596663
TensorFlow 2D convolution:
https://www.tensorflow.org/api_docs/python/tf/nn/conv2d
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)
Computes a 2-D convolution given 4-D input and filter tensors.
Given an input tensor of shape [batch, in_height, in_width, in_channels] and a filter / kernel tensor of shape [filter_height, filter_width, in_channels, out_channels], this op performs the following:
1. Flattens the filter to a 2-D matrix with shape [filter_height * filter_width * in_channels, output_channels].
2. Extracts image patches from the input tensor to form a virtual tensor of shape [batch, out_height, out_width, filter_height * filter_width * in_channels].
3. For each patch, right-multiplies the filter matrix and the image patch vector.
Explanation of the concept of stride and padding, pooling, dropout, and transfer learning:
https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks-Part-2/
TensorFlow stride argument explanation:
http://stackoverflow.com/questions/34642595/tensorflow-strides-argument
Placeholders and feed_dict:
http://learningtensorflow.com/lesson4/
TensorFlow max pooling:
https://www.tensorflow.org/api_docs/python/tf/nn/max_pool
tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=None)
Performs the max pooling on the input.
ksize: A list of ints that has length >= 4. The size of the window for each dimension of the input tensor.
strides: A list of ints that has length >= 4. The stride of the sliding window for each dimension of the input tensor.
padding: A string, either 'VALID' or 'SAME'. The padding algorithm.
https://www.tensorflow.org/get_started/mnist/pros
Convolutional Neural Network introduction:
(English) https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/
(Chinese) http://blog.csdn.net/stdcoutzyx/article/details/41596663
TensorFlow 2D convolution:
https://www.tensorflow.org/api_docs/python/tf/nn/conv2d
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)
Computes a 2-D convolution given 4-D input and filter tensors.
Given an input tensor of shape [batch, in_height, in_width, in_channels] and a filter / kernel tensor of shape [filter_height, filter_width, in_channels, out_channels], this op performs the following:
1. Flattens the filter to a 2-D matrix with shape [filter_height * filter_width * in_channels, output_channels].
2. Extracts image patches from the input tensor to form a virtual tensor of shape [batch, out_height, out_width, filter_height * filter_width * in_channels].
3. For each patch, right-multiplies the filter matrix and the image patch vector.
Explanation of the concept of stride and padding, pooling, dropout, and transfer learning:
https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks-Part-2/
TensorFlow stride argument explanation:
http://stackoverflow.com/questions/34642595/tensorflow-strides-argument
Placeholders and feed_dict:
http://learningtensorflow.com/lesson4/
TensorFlow max pooling:
https://www.tensorflow.org/api_docs/python/tf/nn/max_pool
tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=None)
Performs the max pooling on the input.
ksize: A list of ints that has length >= 4. The size of the window for each dimension of the input tensor.
strides: A list of ints that has length >= 4. The stride of the sliding window for each dimension of the input tensor.
padding: A string, either 'VALID' or 'SAME'. The padding algorithm.