【卷积神经网络】构建对CIFAR-100数据集中的图像进行分类的CNN

参考:

  1. Cifar100 TensorFlow高精度调参记录
  2. cifar算法动物园(各类网络解决cifar分类)
  3. pytorch实现cifar100的 各类网络结构

前言:

 CIFAR-100数据集的网络 网上的版本很多,有些跑起来也还可以,但是大多数都只能到40-50%左右的正确率。
 有大佬做了各种网络,调好了参数,能达到80%左右的正确率。但是这里只是个小作业,希望用不要太复杂,不要太深的网络,最好在一小时内就能看到结果的,所以参照大佬的作品写了简化版本,能在50个epoch内达到60%左右正确率。

结果:

在这里插入图片描述
是CPU版本,适合不会调GPU的小白

cifar100数据集:

 这个数据集有100个分类,每个分类图片数量只有600张对应图片,其中100张还要拿来做检验,所以要保证分类正确,cifar100的复杂度 指数级 高于cifar10(cifar10有10个分类,每个分类6000张照片,达到90%+的正确率不在话下,就算瞎猜,10个里猜对一个的概率也大于100个猜对1个的概率

主要网络结构:

类VGG模型:
在这里插入图片描述

代码:

Jupyter-notebook:构建对CIFAR-100数据集中的图像进行分类的CNN

点击下载后在对应环境下运行,这里给出的notebook里已经有运行结果,可以直接看。

注意
cifar100的下载可能很慢,可以自己下好了,改下代码,直接按路径读取。

from __future__ import print_function
from tensorflow import keras
from tensorflow.keras.datasets import cifar100
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D

import matplotlib.pyplot as plt
%matplotlib inline

# 下面的代码可以加载CIFAR-100数据集
# The data, shuffled and split between train and test sets:
(x_train, y_train), (x_test, y_test) = cifar100.load_data()
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')

## Each image is a 32 x 32 x 3 的字符数组,由于在计算机中,每个图片的像素点颜色都是用0-255范围的数字表示的
## 32 x 32 x 3 数组表示 长度为32,高度为32,深度为3,也就是有三个通道,
## RGB就是记录了黄色,绿色,蓝色的三个通道的记录方法中的一种
x_train[444].shape
x_train[444]
## 展示一下训练前的图片
print(y_train[442])
plt.imshow(x_train[442]);
## 数据集分类为100个
num_classes = 100 
## 将整型的类别标签转为onehot编码,onehot编码是一种方便计算机处理的二元编码。
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值