深度学习-使用tensorflow实现猫狗识别

本文介绍了使用深度学习进行猫狗图像识别的过程,包括数据集准备、卷积神经网络(CNN)的编写、TensorFlow计算图的搭建、模型训练与测试。通过1万步训练后,模型在测试集上达到0.82的平均准确率。最后展示了模型的分类结果,并指出可通过优化网络参数、学习率和图像增强等技术提高识别准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在撸猫,为了猫主子的事情忧三愁四,皱纹多了不少,头发也掉了好几根,神态也多了几分忧郁,唯一不变的还是那份闲鱼的懒散和浪荡的心。

要说到深度学习图像分类的经典案例之一,那就是猫狗大战了。猫和狗在外观上的差别还是挺明显的,无论是体型、四肢、脸庞和毛发等等, 都是能通过肉眼很容易区分的。

那么如何让机器来识别猫和狗呢?这就需要使用卷积神经网络来实现了。

网上已经有不少人写过这案例了,我也来尝试下练练手。

完整代码:https://github.com/ADlead/Dogs-Cats.git

一. 数据集的准备

猫狗照片的数据集直接从kaggle官网(https://www.kaggle.com/c/dogs-vs-cats)下载即可,下载后解压,可以看到有训练集和测试集
在这里插入图片描述
train文件夹内容如下:
在这里插入图片描述
test1文件夹内容如下:
在这里插入图片描述

编写代码将图片存储成batch文件

import cv2 as cv
import os
import numpy as np
import random
import pickle
import time

start_time = time.time()

data_dir = './data'
batch_save_path = './batch_files'

# 创建batch文件存储的文件夹
os.makedirs(batch_save_path, exist_ok=True)

# 图片统一大小:100 * 100
# 训练集 20000:100个batch文件,每个文件200张图片
# 验证集 5000:一个测试文件,测试时 50张 x 100 批次

# 进入图片数据的目录,读取图片信息
all_data_files = os.listdir(os.path.join(data_dir, 'train/'))

# print(all_data_files)

# 打算数据的顺序
random.shuffle(all_data_files)

all_train_files = all_data_files[:20000]
all_test_files = all_data_files[20000:]

train_data = []
train_label = []
train_filenames = []

test_data = []
te
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值