基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

2019.12.8 更新完整代码

https://github.com/nickhuang1996/Dogs_vs_Cats_MXNet

具体的搭建和运行步骤可参看README.md


介绍

  • 这个存储库是为kaggle Dogs vs.Cats match准备的,但是您可以利用这个代码来学习如何使用mxnet
  • 对于网络,建立了包含VGGResNet等预训练模型的结构。
  • 对于采样器,有SequentialRandom两种类型。
  • 对于学习率调度器,我编写了4种类型来调整优化器的学习率。
  • 对于优化器,只有AdamSGD显示在我的存储库中。

目录

一、猫狗大战数据集

二、环境

三、实验结果


一、猫狗大战数据集

1.进入网址:https://www.kaggle.com/c/dogs-vs-cats/data,顺便注册账号。如果验证邮箱时出现“You did not enter the correct captcha response. Please try again“,提示没有输入正确的验证码。这个验证码是看不到的,因为这个验证码是用google提供的api,google被和谐了,所以加载不出来,FQ就能出来验证信息,然后完成注册~

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

2.点击My Account,找到API这一栏

                                                                      基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

3.点击Create New API Token,下载kaggle.json文件

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

确保这个文件在.kaggle文件夹底下

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解 例如博主的位置是这样的

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

4.下载json完成

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

5.下载数据集之前我们还需要同意相关Rules,点击“I Understand and Accept”

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

6.会跳转到手机验证界面,并进行进行人机验证,之后输入发送的验证码

                                                                  基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

7.验证完成

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

8.点击API后面的指令,会提示command copied to clipboard

基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

9.下载方式:

(1)打开cmd或者下载,我们把刚才复制上的指令粘贴进去,开始下载

(2)迅雷下载比较快

                                                          基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解

10.我们解压整个压缩包,里面的训练测试压缩包我们也解压,里面分别包含有猫和狗的图片,如下图

${project_dir}/datasets
    dogs-vs-cats
        train.zip
        test1.zip
        train           # Extracted from train.zip
        test1           # Extracted from test1.zip

 


二、环境

  • Python 3.6
  • mxnet-cu90(CUDA9.0)
  • tqdm 4.28.1
  • tensorboardX 1.5

三、实验结果

Network Accuracy(%)
VGG16_bn 97.92
ResNet50_v2 97.84

博主这里只训练了10个epochs。