神经网络模型---ResNet

news2024/11/20 4:33:02

一、ResNet

1.导入包

import tensorflow as tf
from tensorflow.keras import layers, models, datasets, optimizers

optimizers是用于更新模型参数以最小化损失函数的算法

2.加载数据集、归一化、转为独热编码的内容一致

3.增加颜色通道

train_images = train_images[..., tf.newaxis].astype("float32")
test_images = test_images[..., tf.newaxis].astype("float32")

在train_images和test_images最后一个维度增加一个新的维度
这两行代码还将图像数据转换为浮点数类型

4.定义一个用于图像预处理的模型

4.1创造模型

preprocessing = models.Sequential([

4.2添加一个卷积层,该层有3个1x1的卷积核,激活函数为relu,并且指定了输入形状为28x28像素的单通道图像

layers.Conv2D(3, (1, 1), activation='relu', input_shape=(28, 28, 1)),

4.3 将图像尺寸增加到56x56

    layers.UpSampling2D((2, 2)), 
])

5.应用预处理模型到训练和测试图像上

train_images = preprocessing(train_images)
test_images = preprocessing(test_images)

6.加载ResNet50模型并冻结所有层

base_model=tf.keras.applications.ResNet50(weights='imagenet',include_top=False,input_shape=(56, 56, 3))

ResNet50是一个预训练的卷积神经网络模型,
参数1:加载模型的权重
参数2:是否包括模型顶部的全连接层,设置False意味着不包括这些层,由此可以得到模型的特征提取部分
参数3:输入图像的尺寸
base_model.trainable = False
使ResNet50模型的所有层都不可训练

7.创建模型

model = models.Sequential([

7.1放在模型的第一层添加到序列中,用于提取图像特征

base_model,

7.2在Keras中添加的一个全局平均池化层

layers.GlobalAveragePooling2D(),

7.3在Keras中添加的一个全连接层,使用softmax为激活函数

    layers.Dense(10, activation='softmax')
])

8.编译模型

model.compile(optimizer=optimizers.Adam(),
              loss='categorical_crossentropy',
              metrics=['accuracy'])

  • 和上一个博客的模型的内容一样,此处省略

9.训练模型

model.fit(train_images, train_labels, epochs=10, batch_size=64, validation_data=(test_images, test_labels))

结果:
在这里插入图片描述

10.保存文件

model.save('ResNet.h5')

结果:
在这里插入图片描述

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

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

相关文章

lucene原理

一、正排索引 Lucene的基础层次结构由索引、段、文档、域、词五个部分组成。正向索引的生成即为基于Lucene的基础层次结构一级一级处理文档并分解域存储词的过程。 索引文件层级关系如图1所示: 索引:Lucene索引库包含了搜索文本的所有内容&#xff0…

window端口占用情况及state解析

背景: 在电脑使用过程中,经常会开许多项目,慢慢地发现电脑越来越卡,都不知道到底是在跑什么项目导致,于是就想查看一下电脑到底在跑什么软件和项目,以作记录。 常用命令 netstat -tuln : 使用…

【YOLOv8改进[注意力]】使用CascadedGroupAttention(2023)注意力改进c2f + 含全部代码和详细修改方式 + 手撕结构图

本文将进行在YOLOv8中使用CascadedGroupAttention注意力改进c2f 的实践,助力YOLOv8目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法。 改进前和改进后的参数对比: 目录 一 CascadedGroupAttention 二 使用CascadedGroupAttent…

《Linux运维总结:prometheus+altermanager+webhook-dingtalk配置文件详解》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、prometheus配置文件 Prometheus的配置文件是prometheus.yml,在启动时指定相关的…

ECharts综合案例一:近七天跑步数据

一周跑步数据图表分析 引言 在运动数据分析中,可视化工具能够帮助我们更直观地理解运动表现。本周,我们使用 ECharts 创建了一组图表,包括雷达图和折线图,来展现跑步数据。 效果预览 收集了一周内每天的跑步数据,通…

中医药人工智能大模型正式启动

6月15日,在横琴粤澳深度合作区举行的中医药广东省实验室(以下简称横琴实验室)第一届学术委员会第一次会议暨首届横琴中医药科技创新大会上,中医药横琴大模型、中药新药智能自动化融合创新平台同时启动。这也是该实验室揭牌半年来取…

西班牙的人工智能医生

西班牙的人工智能医生 西班牙已将自己定位为欧洲负责任人工智能领域的领导者。然而,透明度的承诺往往落空,公共监督机构一直难以获得对司法和福利系统中部署的算法的有效访问。这使得西班牙成为一种日益增长的趋势的一部分,即政府悄悄地试验预…

Python邮件加密传输如何实现?有哪些技巧?

Python邮件怎么设置服务器?如何使用Python发送邮件? 为了确保邮件内容在传输过程中不被窃听或篡改,使用加密传输是必不可少的。在使用Python邮件传输时,加密传输是保障信息安全的关键手段。AokSend将详细探讨Python邮件加密传输的…

全域外卖系统源码部署怎么做,外卖市场新机遇!

随着本地生活下半场的到来,全域外卖逐渐成为众多创业者关注的焦点,再加上抖音关于新增《【到家外卖】内容服务商开放准入公告》的意见征集通知(以下简称“通知”)的发布,更是将当前全域外卖赛道重点入局方式之一的全域…

Coco Test Engine:代码覆盖率分析的新时代

本文翻译自:Coco Test Engine – The New Era of Code Coverage Analysis 原文作者:Qt Group首席软件工程师Sbastien Fricker 审校:Felix Zhang 我们的Coco 7重大更新带来了一个长期以来备受期待的功能——测试数据生成(即Coco …

南充文化旅游职业学院领导一行莅临泰迪智能科技参观交流

6月18日,南充文化旅游职业学院旅游系副书记刘周、教务处教学运行与质量保障科科长及智慧旅游技术应用专业教研室主任李月娴、大数据技术专业负责人 龙群才、大数据技术专业专任教师 李昱洁莅临泰迪智能科技产教融合实训中心参观交流。泰迪智能科技董事长张良均、副总…

Mac安装 VirtualBox虚拟机

在Mac上安装VirtualBox虚拟机的步骤如下: 步骤1:下载VirtualBox 首先,你需要访问Oracle VM VirtualBox官网 https://www.virtualbox.org,然后在下载页面选择对应的Mac版本下载。 步骤2:打开下载的安装包 下载完成后…

Java预约家政5.0服务本地服务源码(APP+小程序+公众号+H5)

预约家政本地服务平台系统:一站式解决家居需求🏠💼 一、引言:开启便捷家居新时代 在快节奏的现代生活中,我们渴望拥有更多的时间和精力去享受生活,而不是被繁琐的家务所困扰。预约家政本地服务平台系统应…

人工智能--自然语言处理NLP概述

欢迎来到 Papicatch的博客 目录 🍉引言 🍈基本概念 🍈核心技术 🍈常用模型和方法 🍈应用领域 🍈挑战和未来发展 🍉案例分析 🍈机器翻译中的BERT模型 🍈情感分析在…

PDF密码暴力破解工具,Advanced PDF Password Recovery Enterprise

相信大家从网上下载或者购买PDF文件后,打开后发现被PDF被加密了,没有办法进行修改,也没有办法进行任何操作,这是不是让你很苦恼,今天分享的这个软件就可以很好的解决这个问题,他可以解锁被加密的PDF文件&am…

网络文件如何异地共享?

在数字化时代,文件的共享与访问已成为工作和生活中不可或缺的一部分。由于网络环境的限制,远程连接问题常常困扰着我们。而今,在这个问题的解决方案中,【天联】组网技术凭借其独特的优势崭露头角,成为了实现网络文件异…

Rapidfuzz,一个高效的 Python 模糊匹配神器

目录 01初识 Rapidfuzz 什么是 Rapidfuzz? 为什么选择 Rapidfuzz? 安装 Rapidfuzz 配置 Rapidfuzz 02基本操作 简单比率计算 03高级功能 查找单个最佳匹配 查找多个最佳匹配 使用阈值优化性能 04实战案例…

TikTok电商带货指南:策略、技巧与流量获取全解析

随着短视频平台的迅猛发展,TikTok已成为品牌和个人进行带货营销的主要阵地之一。通过有创意的内容、有效的互动方式和精准的流量获取策略,品牌和个人都能在TikTok上取得显著的带货效果。本文Nox聚星将和大家探讨在TikTok上进行带货营销的有效策略和技巧&…

搜维尔科技:SenseGlove虚拟训练、VR/AR 模拟和研究中的触觉反馈

训练 传统培训成本高昂且风险大,需要重复资产或停产。在培训中使用虚拟现实可以轻松解决这些问题。借助 SenseGlove,终于可以研究和评估与传统培训效果相同的虚拟培训技术。体验低成本的定制 VR 培训,同时保留现实世界的肌肉记忆和记忆力。 …

【STM32】使用标准库检测按键

按键检测使用到GPIO外设的基本输入功能。 1.硬件设计 作者使用的硬件没有按键模块。故使用了一个引脚模拟按键,将PWM1引脚拉低表示按键按下。思路如下:PWM1配置为输入,默认拉高,PWM1手动接地来模拟按下按键,此时PWM&a…