资源简介

keras库对Kaggle竞赛猫狗图像分类卷积神经网络的python实现

资源截图

代码片段和文件信息

# “““
# 将图像复制到训练、验证和测试的目录
import os shutil
# 原始数据集解压目录的路径
original_dataset_dir = ‘F:/BaiduYunDownload/kaggle/train‘
# 保存较小数据集的目录
base_dir = ‘F:/BaiduYunDownload/kaggle/cats_and_dogs_small‘
os.mkdir(base_dir)
# 分别对应划分后的训练、验证和测试的目录
train_dir = os.path.join(base_dir ‘train‘)
os.mkdir(train_dir)
validation_dir = os.path.join(base_dir ‘validation‘)
os.mkdir(validation_dir)
test_dir = os.path.join(base_dir ‘test‘)
os.mkdir(test_dir)
# 猫的训练图像目录
train_cats_dir = os.path.join(train_dir ‘cats‘)
os.mkdir(train_cats_dir)
# 狗的训练图像目录
train_dogs_dir = os.path.join(train_dir ‘dogs‘)
os.mkdir(train_dogs_dir)
# 猫的验证图像目录
validation_cats_dir = os.path.join(validation_dir ‘cats‘)
os.mkdir(validation_cats_dir)
# 狗的验证图像目录
validation_dogs_dir = os.path.join(validation_dir ‘dogs‘)
os.mkdir(validation_dogs_dir)
# 猫的测试图像目录
test_cats_dir = os.path.join(test_dir ‘cats‘)
os.mkdir(test_cats_dir)
# 狗的测试图像目录
test_dogs_dir = os.path.join(test_dir ‘dogs‘)
os.mkdir(test_dogs_dir)
# 将前1000 张猫的图像复制到train_cats_dir
fnames = [‘cat.{}.jpg‘.format(i) for i in range(1000)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(train_cats_dir fname)
    shutil.copyfile(src dst)
# 将接下来500 张猫的图像复制到validation_cats_dir
fnames = [‘cat.{}.jpg‘.format(i) for i in range(1000 1500)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(validation_cats_dir fname)
    shutil.copyfile(src dst)
# 将接下来的500 张猫的图像复制到test_cats_dir
fnames = [‘cat.{}.jpg‘.format(i) for i in range(1500 2000)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(test_cats_dir fname)
    shutil.copyfile(src dst)
# 将前1000 张狗的图像复制到train_dogs_dir
fnames = [‘dog.{}.jpg‘.format(i) for i in range(1000)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(train_dogs_dir fname)
    shutil.copyfile(src dst)
# 将接下来500 张狗的图像复制到validation_dogs_dir
fnames = [‘dog.{}.jpg‘.format(i) for i in range(1000 1500)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(validation_dogs_dir fname)
    shutil.copyfile(src dst)
# 将接下来500 张狗的图像复制到test_dogs_dir
fnames = [‘dog.{}.jpg‘.format(i) for i in range(1500 2000)]
for fname in fnames:
    src = os.path.join(original_dataset_dir fname)
    dst = os.path.join(test_dogs_dir fname)
    shutil.copyfile(src dst)
# 看看每个分组(训练/ 验证/ 测试)中分别包含多少张图像
print(‘total training cat images:‘ len(os.listdir(train_cats_dir)))
print(‘total training dog images:‘ len(os.listdir(train_dogs_dir)))
print(‘total validation cat images:‘ len(os.listdir(validation_cats_dir)))
print(‘total validation dog images:‘ len(os.listdir(validation_dogs_dir)))
print(‘total test cat images:‘ len(os.listdir(test_cats_dir)))
print(‘total test dog images:‘ len(os.listdir(test_dogs_dir)))
# “““
# 将猫狗分类的小型卷积神经网络实例化
from keras import

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        7001  2019-01-23 15:15  keras_Kaggle.py
     文件         609  2019-01-23 15:18  keras_kaggle.txt
     文件       17458  2019-01-23 15:13  Training and validation accuracy.png
     文件       16985  2019-01-23 15:13  Training and validation loss.png

评论

共有 条评论