【深度学习入门案例】动物种类识别

简介: 【深度学习入门案例】动物种类识别

一、定义待预测数据

数据集:

1.png

代码:

# 待预测图片
test_img_path = ['./img/img.png', './img/img_1.png','./img/img_2.png','./img/img_3.png','./img/img_4.png']
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 展示其中大狮子图片
img1 = mpimg.imread(test_img_path[0])
plt.figure(figsize=(10, 10))
plt.imshow(img1)
plt.axis('off')
plt.show()

返回:

1.png

若是待预测图片存放在一个文件中,如左侧文件夹所示的test.txt。每一行是待预测图片的存放路径。

with open('tu.txt', 'r') as f:
    try:
        test_img_path=[]
        for line in f:
            test_img_path.append(line.strip())
    except:
        print('数据加载失败')
print(test_img_path)

返回:

1.png

二、 加载预训练模型

PaddleHub提供了两种动物识别模型:

  • resnet50_vd_animals: ResNet-vd 其实就是 ResNet-D,是ResNet 原始结构的变种,可用于图像分类和特征提取。该 PaddleHub Module 采用百度自建动物数据集训练得到,支持7978种动物的分类识别。
  • mobilenet_v2_animals: MobileNet V2 是一个轻量化的卷积神经网络,它在 MobileNet 的基础上,做了 Inverted Residuals 和 Linear bottlenecks 这两大改进。该 PaddleHub Module 是在百度自建动物数据集上训练得到的,可用于图像分类和特征提取,当前已支持7978种动物的分类识别。

代码:

import paddlehub as hub
module = hub.Module(name="resnet50_vd_animals")
# module = hub.Module(name="mobilenet_v2_animals")

三、预测

import cv2
np_images =[cv2.imread(image_path) for image_path in test_img_path]
results = module.classification(images=np_images)
for result in results:
    print(result)

返回:

1.png

四.完整源码

代码如下:

# coding=gbk
"""
作者:川川
@时间  : 2021/8/29 23:50
群:970353786
"""
# 待预测图片
# test_img_path = ['./img/img.png', './img/img_1.png','./img/img_2.png','./img/img_3.png','./img/img_4.png']
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 展示其中大狮子图片
# img1 = mpimg.imread(test_img_path[0])
#
# plt.figure(figsize=(10, 10))
# plt.imshow(img1)
#
# plt.axis('off')
# plt.show()
with open('tu.txt', 'r') as f:
    try:
        test_img_path=[]
        for line in f:
            test_img_path.append(line.strip())
    except:
        print('数据加载失败')
# print(test_img_path)
import paddlehub as hub
module = hub.Module(name="resnet50_vd_animals")
# module = hub.Module(name="mobilenet_v2_animals")
import cv2
np_images =[cv2.imread(image_path) for image_path in test_img_path]
results = module.classification(images=np_images)
for result in results:
    print(result)

文件架构:

1.png

相关文章
|
3天前
|
机器学习/深度学习 计算机视觉 异构计算
构建高效图像分类器:深度学习在视觉识别中的应用
【5月更文挑战第30天】 在计算机视觉领域,图像分类任务是基础且关键的一环。随着深度学习技术的兴起,卷积神经网络(CNN)已成为图像识别的强有力工具。本文将探讨如何构建一个高效的图像分类器,着重分析CNN架构、训练技巧以及优化策略。通过实验对比和案例研究,我们揭示了深度学习模型在处理复杂视觉数据时的优势和挑战,并提出了改进方向,以期达到更高的准确率和更快的处理速度。
|
18天前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习的最佳入门路线
深度学习的最佳入门路线
|
3天前
|
机器学习/深度学习 数据安全/隐私保护
深度学习在医学影像识别中的应用与挑战
传统的医学影像识别方法在面对复杂的医学图像时存在一定局限性,而深度学习技术的快速发展为医学影像识别带来了新的希望。本文探讨了深度学习在医学影像识别中的应用现状,分析了其面临的挑战,并展望了未来发展的趋势。
|
15天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用TensorFlow进行深度学习入门
【5月更文挑战第18天】本文介绍了TensorFlow深度学习入门,包括TensorFlow的概述和一个简单的CNN手写数字识别例子。TensorFlow是由谷歌开发的开源机器学习框架,以其灵活性、可扩展性和高效性著称。文中展示了如何安装TensorFlow,加载MNIST数据集,构建并编译CNN模型,以及训练和评估模型。此外,还提供了预测及可视化结果的代码示例。
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
使用TensorFlow进行深度学习入门
【5月更文挑战第11天】本文引导读者入门TensorFlow深度学习,介绍TensorFlow——Google的开源机器学习框架,用于处理各种机器学习问题。内容包括TensorFlow安装(使用pip)、核心概念(张量、计算图和会话)以及构建和训练简单线性回归模型的示例。通过这个例子,读者可掌握TensorFlow的基本操作,包括定义模型、损失函数、优化器以及运行会话。
|
18天前
|
机器学习/深度学习 算法 数据可视化
基于深度学习网络的鞋子种类识别matlab仿真
使用GoogLeNet深度学习模型在matlab2022a中进行鞋子种类识别,利用Inception模块捕捉多尺度特征,提升分类精度。程序加载预训练模型`gnet.mat`,计算验证集的准确性并随机显示32个样本的预测结果及置信度。
|
18天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
18天前
|
机器学习/深度学习 Python
【深度学习入门】- Matlab实现图片去重
【深度学习入门】- Matlab实现图片去重
|
18天前
|
机器学习/深度学习 Python
【深度学习入门】- 神经网络
【深度学习入门】- 神经网络
|
18天前
|
机器学习/深度学习
【深度学习入门】- 用电路思想解释感知机
【深度学习入门】- 用电路思想解释感知机