欢迎光临散文网 会员登陆 & 注册

Python做个猫狗识别系统,给人美心善的邻居

2023-04-14 16:26 作者:编程小宇e  | 我要投稿


宠物真的看着好治愈

谁不想有一只属于自己的乖乖宠物捏~

这篇文章中我放弃了以往的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

一、前期工作

1. 设置GPU

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

2. 导入数据

3. 查看数据

二、数据预处理

1. 加载数据

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

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


我们可以通过class_names输出数据集的标签。标签将按字母顺序对应于目录名称。


2. 再次检查数据

Image_batch是形状的张量(8, 224, 224, 3)。这是一批形状224x224x3的8张图片(最后一维指的是彩色通道RGB)。


Label_batch是形状(8,)的张量,这些标签对应8张图片


3. 配置数据集

shuffle() :打乱数据,关于此函数的详细介绍可以参考:https://zhuanlan.zhihu.com/p/42417456

prefetch() :预取数据,加速运行,其详细介绍可以参考我前两篇文章,里面都有讲解。

cache() :将数据集缓存到内存当中,加速运行

如果报 AttributeError: module ‘tensorflow._api.v2.data’ has no attribute ‘AUTOTUNE’ 错误,就将 AUTOTUNE = tf.data.AUTOTUNE 更换为 AUTOTUNE = tf.data.experimental.AUTOTUNE,这个错误是由于版本问题引起的。


4. 可视化数据

免费发放python学习资料  点赞+评论学习

Python做个猫狗识别系统,给人美心善的邻居的评论 (共 条)

分享到微博请遵守国家法律