CNN卷积神经网络 入门案例
数据介绍Clifar 10 数据集5w张 32x32 的图片训练1w张 32x32 的图片测试输入是分为10个标签,下面的图的左边已经给出了。导入数据集可视化一张图片看看打印出 x的第一张图片的像素点看看打印出 x的第一张图片对应的输出分类结果查看 测试集的整体大小1000张 32x32像素 3通道的图片集合...
数据介绍
Clifar 10 数据集
5w张 32x32 的图片 训练
1w张 32x32 的图片 测试
输入是分为10个标签,下面的图的左边已经给出了。
导入数据集

可视化一张图片看看
打印出 x的第一张图片的像素点看看
打印出 x的第一张图片对应的输出分类结果
查看 测试集的整体大小 1000张 32x32像素 3通道的图片集合

搭建卷积神经网络
口诀:CBAPD
一层卷积:5x5卷积核,一共有6个
2x2的卷积池,步长为2
两层全连接
第一次层128个神经元
第二层 10分类问题,输出10神经元的全连接层
下图是详细解释
搭建网络
class Baseline(Model):
def __init__(self):
super(Baseline,self).__init__()
self.c1 = Conv2D(filters = 6, kernel_size =(5,5), padding = "same")
self.b1 = BatchNormalization()
self.a1 = Activation('relu')
self.p1 = MaxPool2D(pool_size=(2,2),strides=2,padding='same')
self.d1 = Dropout(0.2)
self.flatten = Flatten()
self.f1 = Dense(128,activation='relu') # 全连接网络
self.d2 = Dropout(0.2) # 20比例休眠神经元
self.f2 = Dense(10,activation='softmax')
def call(self,x):
x = self.c1(x)
x = self.b1(x)
x = self.a1(x)
x = self.p1(x)
x = self.d1(x)
x = self.flatten(x)
x = self.f1(x)
x = self.d2(x)
y = self.f2(x)
return y
model = Baseline()
模型配置参数
# 模型配置参数
model.compile(optimizer=keras.optimizers.Adam(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
指定模型输入
# 指定模型的输入
model.build(input_shape=[None, 32, 32, 3]) # 指定输入
查看一张图片的形状和通道情况
x[0].shape

自己创建一个x
看一下通过模型的输出是否符合
# 检查输入通道是否正常
# 创建一个图片数据
# 1是指输入一张图像,两个32是图像长宽,3是指3通道
x = tf.random.normal([1,32,32,3])
out = model(x)
out.shape

给模型导入数据,进行训练
train_db 是打包了的训练集
validation_data 是打包了的测试集
# 训练模型
history = model.fit(train_db,epochs=5,validation_data=test_db)
查看模型结构
model.summary()
查看模型的检验数据
比如 loss 或者 acc
history.history()
绘制 loss 或acc随着迭代次数的变化图
如果有loss的话就绘制loss的变化
loss = history.history['loss']
val_loss = history.history['val_loss']
# 绘制loss的图
plt.figure(figsize=(20,10))
plt.subplot(1,2,1)
plt.plot(loss,label='Trainning loss')
plt.plot(val_loss,label='Validation loss')
plt.legend()
plt.grid()
plt.title('loss')
如果有acc就绘制acc的变化
经典卷积网络

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)