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

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

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

典型神经网络

在深度学习的发展过程中,出现了很多经典的卷积神经网络,它们对深度学习的学术研究和工业生产斗起到了促进的作用,如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)

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

相关文章
|
29天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)
【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)
52 0
|
29天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
51 0
|
6天前
|
数据采集 机器学习/深度学习 数据挖掘
网络数据处理中的NumPy应用实战
【4月更文挑战第17天】本文介绍了NumPy在网络数据处理中的应用,包括数据预处理、流量分析和模式识别。通过使用NumPy进行数据清洗、格式化和聚合,以及处理时间序列数据和计算统计指标,可以有效进行流量分析和异常检测。此外,NumPy还支持相关性分析、周期性检测和聚类分析,助力模式识别。作为强大的科学计算库,NumPy在处理日益增长的网络数据中发挥着不可或缺的作用。
|
15天前
|
机器学习/深度学习 数据可视化 算法
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
|
29天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
52 2
|
29天前
|
机器学习/深度学习 自然语言处理 PyTorch
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
23 0
|
1月前
|
机器学习/深度学习 算法 数据挖掘
Python机器学习代码
Python机器学习代码
17 0
|
1月前
|
机器学习/深度学习 Serverless Python
Python机器学习线性模型
Python机器学习线性模型
57 1
|
1月前
|
机器学习/深度学习 算法 计算机视觉
python机器学习超参数调优
超参数(hyper parameters)就是机器学习或深度学习算法中需要预先设置的参数,这些参数不是通过训练数据学习到的参数;原始算法一般只给出超参数的取值范围和含义,根据不同的应用场景,同一个算法的同一超参数设置也不同。【2月更文挑战第14天】
67 0
|
2月前
|
机器学习/深度学习 编解码 PyTorch
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)