第四次作业:猫狗大战挑战赛

本文介绍了参加Kaggle猫狗大战竞赛的经历,详细讲述了数据准备过程,包括数据下载、分离训练集和验证集,并对数据进行预处理。作者构建并优化了VGG模型进行训练,讨论了模型的改进点,如数据量、模型选择和训练策略,并分享了在训练过程中遇到的问题和学到的知识,如选择Adam优化器的重要性。
摘要由CSDN通过智能技术生成

使用VGG模型进行猫狗大战

1、大赛简介

Kaggle 中的猫狗大战竞赛题目。在这个比赛中,有25000张标记好的猫和狗的图片用做训练,有12500张图片用做测试。这个竞赛是2013年开展的,如果你能够达到80%的准确率,在当年是一个 state-of-the-art 的成绩。

2、数据准备

  • 这里我将猫狗大赛的数据同老师的数据集一起写。因为猫狗大赛官网的训练数据是混在一起的,换句话说,就是cat和dog没有分开在两个文件夹,所以直接导入会产生错误,于是我就将官网的20000个数据下载下来。
  • 另外,官网的test数据下载并压缩后,上传到谷歌云盘,就能在直接解压。
! unzip testing.zip
! wget http://fenggao-image.stor.sinaapp.com/dogscats.zip
! unzip dogscats.zip
  • 接下来就是对数据进行处理。
  • 将数据拆分为训练集和有效集,在他整理的数据集中,猫和狗的图片放在单独的文件夹中, 同时还提供了一个Validation数据。
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

vgg_format = transforms.Compose([
                transforms.CenterCrop(224),
                transforms.ToTensor(),
                normalize,
            ])

data_dir = '/content/dogscats'

dsets = {x: datasets.ImageFolder(os.path.join(data_dir, x), vgg_format)
         for x in ['train', 'valid']}

dset_sizes = {x: len(dsets[x]) for x in ['train', 'valid']}
dset_classes = dsets['train'].classes

loader_train = tor
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值