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

让你的ResNet模型在Cifar100数据库上80%正确识别率(pytorch代码) 有很多小伙伴们在用迁移学习在Cifar100上训练时候,其识别率非常低,有的20%多,有的60%。为什么有那么低的识别率呢?主要是训练策略问题,下面我们用ResNet34来测试Cifar100,看看最后的识别率能达到多少。顺便说一下ResNet的命名,比如ResNet34包括33个Conv2d和1个FC层(FC层就是该网络的输出特征层),共34个可以学习的层,其它的层不具备学习功能占用资源很少;ResNet101就包含100个Conv2d和1个FC层。 第一步、将学习速率设置大一些(初始 lr=0.01) 阅读详情

参考:

  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
TensorFlow应用之进阶版卷积神经网络CNN在CIFAR-10数据集上分类 一、概述 1. 数据集简介 本文使用的数据集是CIFAR-10,这是一个经典的数据集,包含了60000张32*32的彩色图像,其中训练集50000张,测试集10000张,如同其名字,CIFAR-10数据集一共标注为10类,每一类6000张图片,这10类分别是airplane、automobile、bird、cat、deer、dog、frog、horse、ship和truck。类别之间没有重 阅读详情

相关推荐

[Pytorch案例实践004]CIFAR-100图像分类

CIFAR-100图像分类

2403_83044722的博客 3808

卷积神经网络实践--猫狗分类

利用卷积神经网络实现猫狗分类

与其在风雨中逃避,不如在雷电中舞蹈 2584

TensorFlow学习记录:用简单卷积神经网络实现Cifar10数据集分类

使用TensorFlow搭建一个简单的卷积神经网络实现Cifar10数据集分类,这个神经网络模型包括两个卷积层,两个池化层,卷积操作后在后面加三个全连层,最后一个全连层用于输出分类。整个神经网络架构图如下: 名词解释 名字 说明 输入层 输入层是整个神经网络的输入。在用于图像分类的卷积神经网络中,它一般代表的是一张图片的像素矩阵。根据通道数的不同,图片像素的矩阵也有着不同的深度数...

weixin_41137655的博客 2613

深度学习100例-卷积神经网络(CNN)彩色图片分类 | 第2天

文章目录前期工作设置GPU导入数据标准化可视化构建CNN网络编译训练模型预测模型评估 前期工作 设置GPU 如果使用的是CPU可以忽略这步 import tensorflow as tf gpus = tf.config.list_physical_devices("GPU") if gpus: gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量

“365天深度学习训练营”报名进行中~ 7841

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

构建对CIFAR-100数据集中的图像进行分类的CNN CIFAR-100 数据集与 CIFAR-10 类,但是它包含了 100 个分类,每个分类 600 张图片,其中 500 张用于训练,100 张用于测试。CIFAR-100 中的100 个分类被群组成了 20 个超类。每张图片都有一个“细粒度”的标签,即表示它属于哪个类,以及一个“粗粒度”标签,即表示它属于哪个超类。 下面是 CIFAR-100 中的各个分类:

cifar100(20个任务)测试结果

cifar100(20个任务)测试结果

卷积神经网络ResNet50训练CIFAR-100图像分类Pytorch实现

# 卷积神经网络ResNet50训练CIFAR-100图像分类Pytorch实现 1. 使用pytorch调用CIFAR-100数据集,首次训练自动下载; 2. 包含训练代码,调用resnet50模型进行训练,使用交叉熵损失和SGD优化器; 3. 包含训练了50 epochs的模型,在CIFAR-100测试集上准确率62%; 4. 包含两版可视化推理代码:通过matplotlib可视化图片、真值标签和预测结果,以及通过tkinter窗口显示可视化图片、真值标签和预测结果。

保姆级教程:在Ubuntu 22.04上用VLLM+OpenWebUI部署DeepSeek-R1-14B(含Q8量化模型下载)

本文提供在Ubuntu 22.04上使用VLLM和OpenWebUI部署DeepSeek-R1-14B大语言模型的完整教程,包括环境配置、模型下载、VLLM参数调优及OpenWebUI集成。特别针对Q8量化模型优化部署流程,解决CUDA版本冲突等常见问题,适合开发者快速搭建本地AI对话系统。

weixin_26712075的博客 427

STM32新手必看:AHT20温湿度传感器实战指南(附完整I2C代码)

本文详细介绍了如何使用STM32驱动AHT20温湿度传感器,包括硬件连接、I2C通信协议解析、驱动代码优化及实战调试技巧。通过对比AHT20与DHT11、SHT30等传感器的性能,突出AHT20的高性价比优势,并提供完整的I2C代码示例,帮助新手快速上手嵌入式传感器开发。

weixin_29163857的博客 288

LTspice进阶技巧-031.一键加密仿真模型:LTspice Encrypt Tool实战指南

本文详细介绍了LTspice Encrypt Tool的使用方法,帮助工程师一键加密LTspice仿真模型,保护知识产权。通过图形化界面简化操作流程,支持批量加密和兼容性处理,适用于电路设计中的模型保护需求。

weixin_28304023的博客 200

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 227

WSL2+Docker实战:在Windows上部署MinerU 2.5.3,解锁媲美Demo的VLM PDF解析能力

本文详细介绍了如何在Windows系统上通过WSL2+Docker部署MinerU 2.5.3,实现媲美Demo的VLM PDF解析能力。文章涵盖环境准备、Docker部署实战技巧及高级使用技巧,特别针对PDF识别中的复杂排版、公式和图表处理提供了优化方案,帮助用户高效处理学术论文和技术文档。

weixin_29291573的博客 477

Camera Sensor接口协议全解析(六)聚焦onsemi HiSPi接口的技术突破与应用实践

摘要: Onsemi HiSPi是一种高速并行接口协议,专为高分辨率图像传感器设计,具备1600 Mbps传输速率、低功耗和高兼容性特点。通过对比DVP、MIPI CSI-2等主流协议,HiSPi在工业/医疗领域表现突出,支持动态功耗控制、多ROI和CRC校验。其创新架构包含多PHY设计,提供分组SP、流SP等多种工作模式,满足灵活传输需求。实际应用中,HiSPi在PCB缺陷检测(5μm精度)和液晶面板检测(0.3% Mura检出率)等场景展现卓越性能,成为高速成像领域的关键技术。

GateWorld的博客 1425

2022年8月27日全国青少年信息素养大赛Python编程小学组决赛真题+答案解析

2022年8月27日全国青少年信息素养大赛Python编程小学组决赛真题+答案解析

伶俐角少儿编程 448

【TC3xx芯片】TC3xx DMA模块详解

TC3xx DMA模块详解

qq_36056498的博客 5905

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 【Unity】代码动态加载Prefab预设体
下一篇: 【上海房价预测】代码实现——利用BP神经网络进行上海二手房价预测
舔甜歌姬的EGUMI LEGACY
博客等级 码龄10年 744粉丝 287原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值