tensorflow2实现图像分类:以猫狗数据集为案例(上)_tensorflow猫狗图像分类数据集(1)

60 阅读3分钟

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

(6)改进模型并重复该过程

 

一.导入所需要的包

import tensorflow as tf
import os
import numpy as np
import matplotlib.pyplot as plt

二.加载数据

1.下载数据

        首先下载数据集www.kaggle.com/c/dogs-vs-c…。本次使用了一个过滤版的狗和猫数据集。数据集中包括以下三个文件和目录:test文件夹、train文件夹和一个csv文件。

 

2.取样数据

        新建一个python项目,命名为ImageClassification,在下面创建一个dataset用于存放数据集,main.py用于编写python代码。其中dataset包含train训练集和validation验证集两部分,各自包含cats和dogs两个种类样例。再此案例中,train/cats下放了cat.0.jpg ~ cat.999.jpg共1000张图片,train/dogs下放了cat.0.jpg ~ cat.999.jpg共1000张图片,validation/cats下放了cat.2000.jpg ~ cat.2499.jpg共500张图片,validation/dogs下放了dog.2000.jpg ~ dog.2499.jpg共500张图片。

3.设置数据集存放路径

base_dir = './dataset/'
train_dir = os.path.join(base_dir, 'train/')
validation_dir = os.path.join(base_dir, 'validation/')
train_cats_dir = os.path.join(train_dir, 'cats')  # directory with our training cat pictures
train_dogs_dir = os.path.join(train_dir, 'dogs')  # directory with our training dog pictures
validation_cats_dir = os.path.join(validation_dir, 'cats')  # directory with our validation cat pictures
validation_dogs_dir = os.path.join(validation_dir, 'dogs')  # directory with our validation dog pictures

num_cats_tr = len(os.listdir(train_cats_dir))  # total training cat images: 1000
num_dogs_tr = len(os.listdir(train_dogs_dir))  # total training dog images: 1000

num_cats_val = len(os.listdir(validation_cats_dir))  # total validation cat images: 500
num_dogs_val = len(os.listdir(validation_dogs_dir))  # total validation dog images: 500

total_train = num_cats_tr + num_dogs_tr  # Total training images: 2000
total_val = num_cats_val + num_dogs_val  # Total validation images: 1000

 

三.设置预处理数据集和训练网络时要使用的变量。

batch_size = 128
epochs = 15
IMG_HEIGHT = 150
IMG_WIDTH = 150

四.数据准备

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。 img img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!