学习笔记
前言
本次案例是基于keras库实现的狗分类模型
所用版本
python 3.7
keras 2.6.0
一、数据处理
1.所需库
import os # 读取文件名
import cv2 as cv # 读取数据集图片
from sklearn.preprocessing import LabelEncoder # 标签张量化
from sklearn.model_selection import train_test_split # 划分数据集
from keras.utils.np_utils import to_categorical
2.处理步骤
本次案例中使用的数据集来自kaggle的stanford-dogs-dataset数据集
https://www.kaggle.com/datasets/jessicali9530/stanford-dogs-dataset
有现成数据集的原因,大致分为两步读取、数据张量化和划分数据集
读取
本次案例读取采用python基本库os,和opencv库完成
# 读取文件目录名
os.listdir('input/stanford_dogs_date/images/Images')
dir = 'input/stanford_dogs_date/images/Images/'
chihuahua_dir = dir + 'n02085620-Chihuahua' # 吉娃娃
japanese_spaniel_dir = dir + 'n02085782-Japanese_spaniel' # 日本种
maltese_dog_dir = dir + 'n02085936-Maltese_dog' # 马尔济斯犬
pekinese_dir = dir + 'n02086079-Pekinese' # 北京狮子狗
shih_Tzu_dir = dir + 'n02086240-Shih-Tzu' # 西施犬
blenheim_spaniel_dir = dir + 'n02086646-Blenheim_spaniel' # 英国可卡犬
papillon_dir = dir + 'n02086910-papillon' # 蝴蝶犬
toy_terrier_dir = dir + 'n02087046-toy_terrier' # 玩具猎狐梗
afghan_hound_dir = dir + 'n02088094-Afghan_hound' # 阿富汗猎犬
basset_dir = dir + 'n02088238-basset' # 巴吉度猎犬
# 将图片和标签存入X_data和y_lable数据集中
X_data = []
y_label = []
imgsize = 150
def tarin_data(label, data_dir):
for img_name in os.listdir(data_dir): # 遍历单个狗狗种类文件夹里所有照片的名字
path = os.path.join(data_dir, img_name) # 生成照片的路径