【Python机器学习】卷积神经网络Vgg19模型预测动物类别实战(附源码和数据集)

news2025/1/24 8:34:20

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

典型神经网络

在深度学习的发展过程中,出现了很多经典的卷积神经网络,它们对深度学习的学术研究和工业生产斗起到了促进的作用,如VGG ResNet Inception DenseNet等等,很多实际使用的卷积神经网络都是在它们的基础上进行改进的,下面主要讨论VGG卷积神经网络

VGG-16是共16层的卷积神经网络,有大约1.38亿个网络参数

网络结构图上图所示。

输入层之后  先是2个大小为3×3 卷积核数为64 步长为1 零填充的卷积层,此时数据维度大小为224×224×64 在水平方向被拉长了,然后是一个大小为2×2的最大池化层,将数据的维度降维112×112×64 再经过2个大小为3×3 卷积核数为128 步长为1 零填充的卷积层 再一次在水平方向上被拉长 变为112×112×128

然后是一个大小为2×2的最大池化层 和3个大小为3×3 卷积核数为256 步长为1 零填充的卷积层 数据维度变为56×56×256

 然后是一个大小为2×2的最大池化层 和3个大小为3×3 卷积核数为512 步长为1 零填充的卷积层 数据维度变为28×28×512

然后是一个大小为2×2的最大池化层 和3个大小为3×3 卷积核数位256 步长为1 零填充的卷积层 数据维度变为14×14×256

然后是一个大小为2×2的最大池化层 数据维度变为7×7×512

然后是1个Flatten层将数据拉平

最后是三个全连接层 节点数分别为4096 4096 1000

除最后一层全连接层采用Softmax激活函数外,所有卷积层和全连接层都采用ReLU激活函数

下面用预先训练好的模型来识别一副图片 并给出预测结果

如下图 这是我们准备识别的一张狗狗图片 目标是预测这只狗狗的类别

预测结果如下  可以图片为玩具贵宾犬的概率最大 约为0.6 

 

 部分代码如下

import tensorflow.keras.applications.vgg19 as vgg19
import tensorflow.keras.preprocessing.image as imagepre

# 加载预训练模型
model = vgg19.VGG19(weights='E:\\MLDatas\\vgg19_weights_tf_dim_ordering_tf_kernels.h5', include_top=True)
# 加载图片并转换为合适的数据形式
image = imagepre.load_img('116.jpg', target_size=(224, 224))
imagedata = imagepr
imagedata = vgg19.preprocess_input(imagedata)
prediction = model.predict(imagedata) # 分类预测
results = vgg19.decode_predictions(prediction, top=3)
print(results)

创作不易 觉得有帮助请点赞关注收藏~~~

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

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

相关文章

偷偷告诉你!与其辞职,不如用Python做月入过万的副业兼职

我想辞职! 这是不是当下的你?在这个疫情当下的时代,许多打工人都有过这么一个想法,或许是因为工作待遇、亦或许是其他原因,但是却仍然屹立在工位上,有的甚至天天喊辞职,月月拿满勤。这是为什么…

阿里大牛解析微服务架构:Docker,Spring全家桶,分布式,数据库

前言 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的…

【愚公系列】2022年12月 使用Jenkins实现程序的自动化发布

文章目录前言一、使用Jenkins实现程序的自动化发布1.安装Jenkins二、安装Gitee插件前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进…

如何用 Prometheus 和 Grafana 实现集群的监控预警

在读写、查询等高并发场景中,了解资源的使用情况能快速定位性能的瓶颈所在。本教程提供对多(或单)服务器及 DolphinDB 高可用集群(或单节点)资源的监控、告警、预警方案。本教程使用开源软件 Prometheus, Grafana 及对…

Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

类似于SVN这种集中式版本管理,三年前刚来上海工作时候,在华为驻场上班,华为用的就是SVN,印象最深的就是那个小乌龟的图标;后来到外面工作,渐渐发现用Git的非常多,慢慢学习了解发现Git这种分布式…

5年Crud的我,啃完这份Java王者级核心宝典,成功入职阿里(P7)

我有话要说,请仔细看完 我发现一个现象,很多开发5年的程序员仍然停留在crud的阶段,这是什么原因?最主要的原因就是基础很差,尤其对于JVM和并发编程这方面掌握的比较差,而JVM和并发编程就是非常非常重要的基…

40问 深度挖掘Kafka,你能答上几个?

Kafka最初是由Linkedin公司开发的,是一个分布式的、可扩展的、容错的、支持分区的(Partition)、多副本的(replica)、基于Zookeeper框架的发布-订阅消息系统,Kafka适合离线和在线消息消费。它是分布式应用系…

SQL基础——集合运算

集合运算前言思维导图表的加减法表的加法——UNION(并集)代码示例7.1 创建表Product2代码示例7.2 将数据插入到表Product2中(MYSQL)代码示例7.3 使用UNION对表进行加法运算包含重复行的集合运算——ALL选项代码示例7.5 保留重复行…

自动机器学习-auto-sklearn

1、前言 自动机器学习(AutoML) 旨在通过让一些通用步骤 (如数据预处理、模型选择和调整超参数) 自动化,来简化机器学习中生成模型的过程。AutoML是指尽量不通过人来设定超参数,而是使用某种学习机制,来调节这些超参数…

阿里微服务架构到底多牛逼:深入解析Apache Dubbo与实战

本书的由来 在Apache Dubbo (以下简称Dubbo)重新开源之前,Dubbo已经被很多公司广泛用于生产环境并获得了良好的反馈,很多公司内部也会建立私有分支自己维护,其中Dubbox 就是基于Dubbo分支进行扩展并二次维护的。重新开源后,社区维…

【ESXi 7.x内部升级】ESXi 升级 —— 小版本升级(7.X或8.X版本内升级)

目录4. 小版本升级(7.X或8.X版本内升级)4.1 示例 — 使用 vSphere Lifecycle Manager升级 ESXi目标:将 VMware ESXi 7.0 U2e 升级为 7.0 U3f(1)在vSphere Client 中查看需要升级的 ESXi 版本(2)…

【微信篇】PC端微信文件夹里的“微信号“

【微信篇】PC端微信文件夹里的"微信号" 更新记录最敷衍的软件一微信!!!—【蘇小沐】 文章目录【微信篇】PC端微信文件夹里的"微信号"1.实验环境PC端微信文件夹里的"微信号"总结1.实验环境 系统版本Windows 1…

深度学习入门(六十四)循环神经网络——编码器-解码器架构

深度学习入门(六十四)循环神经网络——编码器-解码器架构前言循环神经网络——编码器-解码器架构课件重新考察CNN重新考察RNN编码器-解码器架构总结教材1 编码器2 解码器3 合并编码器和解码器4 训练模型5 小结参考文献前言 核心内容来自博客链接1博客连…

分布式任务调度 - PowerJob

一、简介 1、介绍 PowerJob(原OhMyScheduler)是全新一代分布式任务调度与计算框架,其主要功能特性如下: 使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查&am…

数据库原理及MySQL应用 | 约束

约束是保证数据完整性的一种数据库对象,按约束作用不同,分为七种。 约束从字面上来看就是受到限制,它是附加在表上,通过限制列中、行中、表之间数据来保证数据完整性的一种数据库对象。 在MySQL中,有多种约束&#xf…

设计模式原则 - 开闭原则(五)

开闭原则一 官方定义基本介绍二 案例演示普通实现方式案例分析开闭原则实现案例分析三 注意事项一 官方定义 开闭原则( Open Close Principle ),又称为OCP原则,他的官方定义如下: Software entities like classes,modu…

基于Java+Swing+Mysql实现停车场管理系统

基于JavaSwingMysql实现停车场管理系统一、系统介绍二、系统展示三、其它1.其他系统实现一、系统介绍 1.系统功能 用户 1.登录系统 2.信息查询 包含计费标准,当前在场信息,用户历史信息,用户个人信息,出入场信息,当前…

Win10提示错误代码0xc0000001的解决办法

​有一些朋友在使用Win10系统的时候会遇到蓝屏故障,提示“无法正常启动你的电脑,在多次尝试后,你的电脑上的操作系统仍无法启动,因此需求对其进行修复。” Win10提示恢复无法正常启动你的电脑0xc0000001 故障原因: 错误…

实战案例:初探工程配置 图标组件热身

点击上方卡片“前端司南”关注我您的关注意义重大原创前端司南前言本文是 基于ViteAntDesignVue打造业务组件库[1] 专栏第 3 篇文章【实战案例:初探工程配置 & 图标组件热身】,我将从业务系统中最基础的图标组件入手,带着读者们练练手找找…

websocket的用处及vue和SpringBoot和nginx的引入-入门

websocket的用处及vue和SpringBoot的引入-入门 为什么要有websocket 微信 想一个场景,扫码登录,服务器并不知道用户有没有扫码,怎么办,一种办法是HTTP定时轮询,1-2秒就请求一次服务端,看看用户有没有扫码…