打卡day52

简单cnn 借助调参指南进一步提高精度

基础CNN模型代码

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.utils import to_categorical# 加载数据
(train_images, train_labels), (test_images, test_labels) = cifar10.load_data()# 数据预处理
train_images = train_images.astype('float32') / 255
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)# 基础CNN模型
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.Flatten(),layers.Dense(64, activation='relu'),layers.Dense(10, activation='softmax')
])model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])history = model.fit(train_images, train_labels, epochs=10, batch_size=64,validation_data=(test_images, test_labels))

改进方法

增加模型复杂度

model = models.Sequential([layers.Conv2D(64, (3, 3), activation='relu', input_shape=(32, 32, 3), padding='same'),layers.BatchNormalization(),layers.Conv2D(64, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Conv2D(128, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.Conv2D(128, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Conv2D(256, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.Conv2D(256, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Flatten(),layers.Dense(512, activation='relu'),layers.BatchNormalization(),layers.Dropout(0.5),layers.Dense(10, activation='softmax')
])

优化器调参

from tensorflow.keras.optimizers import Adamoptimizer = Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-07)
model.compile(optimizer=optimizer,loss='categorical_crossentropy',metrics=['accuracy'])

数据增强

from tensorflow.keras.preprocessing.image import ImageDataGeneratordatagen = ImageDataGenerator(rotation_range=15,width_shift_range=0.1,height_shift_range=0.1,horizontal_flip=True,zoom_range=0.1
)
datagen.fit(train_images)history = model.fit(datagen.flow(train_images, train_labels, batch_size=64),epochs=50,validation_data=(test_images, test_labels))

早停和模型检查点

from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpointcallbacks = [EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True),ModelCheckpoint('best_model.h5', monitor='val_accuracy', save_best_only=True)
]history = model.fit(..., callbacks=callbacks, epochs=100)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL ES绘制3D图形以及设置视口

文章目录 关于 glDrawElements基本概念使用场景mode 绘制模式type 索引数据类型indices 索引缓冲区工作原理绘制正方体实例 视口透视投影(Perspective Projection)正交投影(Orthographic Projection)正交投影和透视投影对比 关于 …

【SAS求解多元回归方程】REG多元回归分析-多元一次回归

多元一次回归是一种统计方法,用于分析多个自变量(解释变量)与一个因变量(响应变量)之间的线性关系。 目录 【示例】 基本语法 SAS代码 参数估计 方差分析 回归统计量 y的拟合诊断 y的回归变量值 【示例】 设Y…

卡通幼儿园教育通用可爱PPT模版分享

幼儿园教育通用PPT模版,教育教学PPT模版,卡通教育PPT模版,可爱卡通教学课件PPT模版,小清新动物卡通通用PPT模版,教学说课通用PPT模版,开学季PPT模版,国学颂歌PPT模版,可爱简约风PPT模…

力扣HOT100之技巧:75. 颜色分类

这道题实际上就是让我们不用sort()函数来实现对原数组的排序,这里我直接使用快速排序对原数组进行排序了,也是复习一下基于快慢指针的快速排序写法。面试手撕快排的思路参考这个视频。 用时击败100%,还行。下面直接贴代码。 class Solution …

离线部署openstack 2024.1 keystone

控制节点身份服务 离线下载 apt-get install --download-only keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3mkdir /controller/keystone mv /var/cache/apt/archives/*.deb /controller/keystone/ dpkg -i /controller/keystone/*.deb在一个控制节点操…

帆软 BI 从入门到实战全攻略(一):安装激活与添加数据

一、帆软 BI 产品概述​ 在当今大数据时代,数据分析与可视化成为企业洞察业务、驱动决策的关键利器。帆软软件有限公司作为中国专业的大数据 BI 和分析平台提供商,自 2006 年成立以来,凭借其在商业智能和数据分析领域的深耕细作,…

网络协议通俗易懂详解指南

目录 1. 什么是网络协议? 1.1 协议的本质 1.2 为什么需要协议? 1.3 协议分层的概念 2. TCP协议详解 - 可靠的信使 📦 2.1 TCP是什么? 2.2 TCP的核心特性 🔗 面向连接 🛡️ 可靠传输 📊 流量控制 2.3 TCP三次握手 - 建立连接 2.4 TCP四次挥手 - 断开连接…

量子加速器切入 AI 底层架构!能源焦虑时代,ORCA 正在改写数据中心的计算逻辑

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨浪味仙 行业动向:2000字丨5分钟阅读 人工智能的飞速发展,令计算需求呈现爆炸式增长,也催生出专为 AI 设计的新型计算基础设施形态——AI…

< 买了个麻烦 (二) 618 京东云--轻量服务器 > “可以为您申请全额退订呢。“ 工单记录:可以“全额退款“

事情进展是这样的: 海外接听 一分钟 1-2 元,具体多少要问联通。 这几天接电话,有点儿心烦,看见来自 010-86310548 以为是 ICP 备案,结果接起来全是 VPS (轻量应用服务器)这个工单,就…

接口限频算法:漏桶算法、令牌桶算法、滑动窗口算法

文章目录 限频三大算法对比与选型建议一、漏桶算法(Leaky Bucket Algorithm)1.核心原理2.实现3.为什么要限制漏桶容量4.优缺点分析 二、令牌桶算法(Token Bucket Algorithm)1.核心原理2.实现(1)单机实现&am…

HTML5 盒子模型

1. 盒子模型的概念 2. 边框(border) 边框颜色(border-color) 边框粗细(border-width) 边框样式(border-style) border简写(border:) 3. 外边距&am…

【Linux】Linux高级I/O

参考博客:https://blog.csdn.net/sjsjnsjnn/article/details/128345976 一、五种IO模型 阻塞式I/O非阻塞式I/OI/O复用(多路转接)信号驱动式I/O异步I/O I/O我们并不陌生,简单的说就是输入输出;对于一个输入操作通常包…

关于界面存在AB测试后UI刷新空白的问题

问题描述: 在同一页面存在AB面,A和B同时都有一个rv,然后A面的rv填充不了数据,B面的可以。 问题解决: header_task布局里的include_new_gift_sign里有一个和外层一样id的recyclerview include的标签的作用是。在infl…

Go 协程(Goroutine)入门与基础使用

一、什么是协程(Goroutine)? 简单来说,协程是由 Go 语言运行时管理的轻量级线程。相比系统线程,它的调度开销极小,内存占用非常少(默认只需 2KB 栈空间)。 你可以在一个程序中轻松…

matlab 各种智能优化算法

1. 优化算法相关 蚁群优化算法(ACO) 蚁群优化算法是一种模拟蚂蚁觅食行为的优化技术。以下是一个简化版的ACO用于解决旅行商问题(TSP)的MATLAB代码: function [bestRoute, minDist] acoTsp(distMatrix, numAnts, n…

Hilt -> Android 专属依赖注入(DI)框架

Hilt 是 Google 基于 Dagger 封装的 Android 专属依赖注入(DI)框架,显著简化了依赖管理流程,提升代码可维护性和可测试性。以下是核心要点及使用指南: dagger2: Dagger 2 原理和使用-CSDN博客 Hilt vs Dagger2&…

AISHELL-5 全球首套智能驾舱中文语音交互数据集开源

随着汽车成为人们日常生活中不可或缺的一部分,而驾驶舱中传统的触摸交互方式容易分散驾驶员的注意力,存在安全风险,因此,车内基于语音的交互方式得到重视。与通常家庭或会议场景中的语音识别系统不同,驾驶场景中的系统…

openstack之neutron(一)

NFV基础 neutron是对二层物理网络的抽象与管理,实例的网络功能由连接到vSwitch的端口上的vNIC共同实现,再通过物理服务器的物理网卡访问外部的物理网络。 NFV实现 网卡虚拟化:tap、tun、veth; 交换机虚拟化:linuxbri…

【Java】Arrays.sort:TimSort

一,概述 书接前文【Java】Arrays.sort:DualPivotQuicksort-CSDN博客 Arrays.sort对基本数据类型使用了双轴快速排序,但是对Object[]类型,则使用了TimSort,TimSort是稳定的排序,它整合了插入排序归并排序,…

一个n8n构建的能和LLM对话的Agent

一个n8n构建的能和LLM对话的Agent 1.OLLAMA1.1.下载和安装1.2.设置环境变量1.3.重启ollama1.4.测试1.5.拉取模型2.n8n部署2.1. 镜像拉取和启动2.2.注册和登录2.3.新建一个工作流3.说在后面的话环境搭建说明: windows(RTX 5090)+VM CENTOS 采用本地化的ollama运行LLM n8n是一…