卷积神经网络:从MNIST数字识别到现实世界问题解决
1. 卷积神经网络基础与MNIST数字识别
在卷积神经网络(CNN)中,全连接层的单元及其对应的输入和输出连接通常会被丢弃。因此,在对测试数据集进行预测时,不同的滤波器 - 内核权重不需要任何调整。
我们先来看如何使用CNN对MNIST数据集进行数字识别。CNN接收高度为28、宽度为28、深度为3(对应RGB通道)的图像。这些图像会经过两次卷积、ReLU激活和最大池化操作,然后进入全连接层,最后到达输出层。第一个卷积层产生64个特征图,第二个卷积层提供128个特征图,全连接层有1024个单元。最大池化层将特征图大小缩小为原来的四分之一。
以下是使用TensorFlow实现的详细代码:
# Load the packages
import tensorflow as tf
print('tensorflow version', tf.__version__)
import numpy as np
from sklearn import datasets
from tensorflow.keras import Model, layers
import matplotlib.pyplot as plt
%matplotlib inline
import time
# Function to Read the MNIST dataset along with the labels
def read_infile():
(train_X, train_Y), (test_X, test_Y) = tf.keras.datasets.mnist.
超级会员免费看
订阅专栏 解锁全文
774

被折叠的 条评论
为什么被折叠?



