/Dog-Breed-Identification-Gluon

Kaggle 120种狗分类,Gluon实现

Primary LanguageCSS

Dog-Breed-Identification-Gluon

Kaggle 120种狗分类比赛 Gluon实现代码
通过Gluon教程,边学边练。使用renset152_v1inception_v3进行模型融合得到0.27760分数

详细参见Gluon炼丹(Kaggle 120种狗分类,迁移学习加双模型融合)

环境

  • python 3.5+
  • mxnet 20171225以上
  • numpy 1.13.3
  • tqdm 4.11.2 (进度条)
  • matplotlib 2.0.2
  • tornado 4.5.2 (web展示网页的web框架和服务器,不需要可不装)

简易web网页展示

效果如图

训练好之后运行app.py即可 (需要安装tornado)

感悟

杨培文的代码中学到的,如果使用imagenet网络进行预训练,锁住特征层的话,那可以先把所有数据都都过一边特征层网络,这样在后面进行分类输出网络的训练时会省去很多时间和显存,并且在训练的时候可以把bs开到很大,而且在过特征层网络的时候,可以把bs设的小一点,而且不用反向传播,速度也不会太慢,这样就解决了在低配电脑上无法训练的问题。而且用最新版mxnet输出的特征数据非常小,70M左右,后面的分类层即使用cpu也能跑很顺畅