帮酷LOGO
  • 显示原文与译文双语对照的内容
2nd place solution to the Kaggle Right Whale challenge

  • 源代码名称:kaggle-right-whale
  • 源代码网址:http://www.github.com/felixlaumon/kaggle-right-whale
  • kaggle-right-whale源代码文档
  • kaggle-right-whale源代码下载
  • Git URL:
    git://www.github.com/felixlaumon/kaggle-right-whale.git
  • Git Clone代码到本地:
    git clone http://www.github.com/felixlaumon/kaggle-right-whale
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/felixlaumon/kaggle-right-whale
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • kaggle-right-whale

    第二种解决 Kaggle右鲸挑战的方法。

    你应该看到我的博客我的博客详细描述我。

    要求

    • Anaconda python 发行版( 任何版本都应该工作,但我使用 conda 3.19.0 )
    • Theano,Lasagne,nolearn,nolearn_utils 。 pip install -r requirements.txt ( 如果你安装了 python setup.py develop,最新版本应该能正常运行)
    • NVidia GPU和 cuDNN v3

    或者,你可以使用 Docker的GPU实例上的来训练模型。 有关详细信息,请参阅 README_DOCKER.md

    复制最终提交文件

    常规注释

    为了阻止浪费时间在一遍又一遍地解码 jpg,我将jpg解码为一个 sdm memmap array 。 生成的文件将占用相当多的磁盘空间。

    当使用长运行脚本时,当脚本执行完成后,我建议使用 ipython -i --pdb 将我们拖到调试器中。

    [date] 替换为创建缓存的日期( 比如 。 20151229 ) 。使用对应于 model_definitions/*.py的模型定义的名称替换 [model_name]

    1.数据

    下载 sample_submission.csv.zipimgs.ziptrain.csv.zip 并将它们解压缩到 data/

    或者,你可以将你的cookies.txt 用于 kaggle.com 并使用 make data

    还应该创建 models/cache/model_features/ 文件夹,最后以如下所示的文件夹结构结束:

    cache/
    data/
    ├── annotations.csv
    ├── cookies.txt (optional)
    ├── imgs
    │ ├── w_0.jpg
    │ ├──.. .
    ├── imgs.zip
    ├── sample_submission.csv
    ├── sample_submission.csv.zip
    ├── train.csv
    ├── train.csv.zip
    ├── train_with_annotations_vinh.csv
    └── w_7489.jpg
    models/
    model_features/
    model_definitions/
    utils/
    scripts/
    submissions/

    运行 ipython -i --pdb scripts/create_label_encoder.py 创建 models/encoder.pkl

    2.训练鲸鱼头部

    运行 ipython -i --pdb scripts/create_cached_image.py -- --size 256 以bonnet和blowhead为目标创建高速缓存的训练图像

    运行 ipython -i --pdb scripts/create_cached_test_image.py -- --size 256 为测试映像创建缓存

    运行 ipython -i --pdb scripts/train_pts_models.py -- --data 256_[date] --model localize_pts_dec31 --no_test 训练 aligner 。

    运行 ipython -i --pdb scripts/create_test_head_crop_image.py -- --size 256 --data 256_[date] --model localize_pts_dec31 --tta 使用经过训练的模型创建对齐的测试图像。 这也使用了测试时间增加,所以会花费很长时间。 默认情况下将使用多个进程。

    3 。训练鲸鱼识别器

    运行 ipython -i --pdb scripts/create_cached_head_crop_image.py -- --size 256 创建对齐的鲸鱼头部训练图像。

    运行 ipython -i --pdb scripts/train_pts_models.py -- --model [model_name] --data 256_head_[date] --no_test

    下面是我推荐的模型定义的列表:

    • cropped_dec19 ( VGG最大num滤波器 128 )
    • cropped_jan03 ( VGG最大数量筛选器= 192 )
    • cropped_jan05_2 ( VGG最大数量筛选器= 192 )
    • cropped_dec21_3 ( ResNet 3 -3-3-3-3 )
    • cropped_jan02 ( ResNet 3 -3-3-4-5 )
    • cropped_jan05_4 ( ResNet 3 -4-23-4 )
    • cropped_jan05_3 ( Inception-v3-simplified )

    4.特征提取

    如果只想使用一个模型的输出,则可选。

    运行以下脚本提取要包含在模型集合中的模型的特征。

    ipython scripts/extract_features.py -- --size 256 --data cache/X_cropped_256_head_[date].npy --model [model_name] --layer gp
    ipython scripts/extract_features.py -- --size 256 --data cache/X_cropped_256_head_[date].npy --model [model_name] --layer out
    ipython scripts/extract_features.py -- --size 256 --data cache/X_test_head_crop_localize_pts_dec31_256_tta_[date].npy --model [model_name] --layer gp
    ipython scripts/extract_features.py -- --size 256 --data cache/X_test_head_crop_localize_pts_dec31_256_tta_[date].npy --model [model_name] --layer out
    5从单一模型创建提交

    运行 ipython -i --pdb scripts/predict_from_head_crop.py -- --data localize_pts_dec31_256_tta_[date] -- data_size 256 --model [model_name]

    6创建最终集成

    最后一步是用笔记本 notebooks/Stacking.ipynb 完成的。 它将提取从步骤 4提取的特征并训练一个简单的逻辑回归。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语