首页 > 分享 > 用Python做了一个猫狗识别系统~

用Python做了一个猫狗识别系统~

导语

哈喽吖铁汁萌~今天来教大家写个猫狗识别系统

 

 

 

                                           小猫小狗真的太可爱了

想领取更多完整源码跟Python学习资料的可点击这行

这篇文章中我放弃了以往的model.fit()训练方法,改用model.train_on_batch方法。两种方法的比较:

model.fit():用起来十分简单,对新手非常友好

model.train_on_batch():封装程度更低,可以玩更多花样。

此外我也引入了进度条的显示方式,更加方便我们及时查看模型训练过程中的情况,可以及时打印各项指标。

我的环境:

语言环境:Python3.6.5

编译器:jupyter notebook

深度学习环境:TensorFlow2.4.1

显卡(GPU):NVIDIA GeForce RTX 3080

来自专栏:《深度学习100例》

文章目录

    一、前期工作

        1. 设置GPU

        2. 导入数据

        3. 查看数据

    二、数据预处理

        1. 加载数据

        2. 再次检查数据

        3. 配置数据集

        4. 可视化数据

    三、构建VG-16网络

    四、编译

    五、训练模型

    六、模型评估

    七、保存and加载模型

    八、预测

一、前期工作

1. 设置GPU

如果使用的是CPU可以注释掉这部分的代码。

import tensorflow as tf

gpus = tf.config.list_physical_devices("GPU")

if gpus:

tf.config.experimental.set_memory_growth(gpus[0], True)

tf.config.set_visible_devices([gpus[0]],"GPU")

print(gpus)

PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

2. 导入数据

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

import os,PIL

import numpy as np

np.random.seed(1)

import tensorflow as tf

tf.random.set_seed(1)

import warnings

warnings.filterwarnings('ignore')

import pathlib

data_dir = "./data/train"

# data_dir = "D:/jupyter notebook/DL-100-days/datasets/017_Eye_dataset"

data_dir = pathlib.Path(data_dir)

3. 查看数据

image_count = len(list(data_dir.glob('*/*')))

print("图片总数为:",image_count)

图片总数为:3400

二、数据预处理

1. 加载数据

使用image_dataset_from_directory方法将磁盘中的数据加载到tf.data.Dataset中

batch_size = 8

img_height = 224

img_width = 224

'

TensorFlow版本是2.2.0的同学可能会遇到module 'tensorflow.keras.preprocessing' has no attribute 'image_dataset_from_directory'的报错,升级一下TensorFlow就OK了

"""

关于image_dataset_from_directory()的详细介绍可以参考文章:https://mtyjkh.blog.csdn.net/article/details/117018789

"""

train_ds = tf.keras.preprocessing.image_dataset_from_directory(

data_dir,

validation_split=0.2,

subset="training",

seed=12,

image_size=(img_height, img_width),

batch_size=batch_size)

Found 3400 files belonging to 2 classes.
Using 2720 files for training.

"""

关于image_dataset_from_directory()的详细介绍可以参考文章:https://mtyjkh.blog.csdn.net/article/detail

相关知识

基于卷积神经网络的宠物皮肤病识别系统,resnet50,mobilenet模型【pytorch框架+python】
Python TensorFlow框架 实现手写数字识别系统
用 Python 制作一个桌面宠物,好玩!
基于YOLOv8深度学习的120种犬类检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战、狗类检测、犬种识别
基于Python的猫狗宠物展示系统
怎么用Python制作一个可以聊天的皮卡丘版桌面宠物
用python写个桌面挂件
计算机毕业设计基于Python的猫狗宠物展示系统
3. 用Python进行图像处理 — Python 3 教程 文档
【Python教程】教你用Python代码制作一个桌面宠物,专属桌宠,体验感升级1000%(附源码)

网址: 用Python做了一个猫狗识别系统~ https://m.mcbbbk.com/newsview325328.html

所属分类:萌宠日常
上一篇: 十大最佳增肥(增重)训练营
下一篇: 怎么培养宝宝的耐心