{
  "id": 109594,
  "title": "32nd place solution",
  "url": "/competitions/aptos2019-blindness-detection/writeups/guoyi03-32nd-place-solution",
  "author_name": "",
  "post_date": "2019-09-20T13:11:23.239998500Z",
  "votes": 4,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Thanks to Kaggle for hosting this competition.</p>\n\n<p><strong>Overview</strong></p>\n\n<ul>\n<li>Use 2015 competition data.</li>\n<li>Ensemble Efficientnet B5 with different preprocessing methods.</li>\n</ul>\n\n<p><strong>Step1 : pretrain</strong></p>\n\n<ul>\n<li>Use 2015 competition data as train dataset and 2019 competition train data as val dataset.</li>\n<li>Image size : 300x300.</li>\n<li>Model: Efficientnet B5 and B4.</li>\n<li>Preprocessing: No cropping, just resize.</li>\n<li>Loss : MSE,   as regression problem.</li>\n<li>Save best model based on kappa score.</li>\n</ul>\n\n<p><strong>Step2: finetune</strong></p>\n\n<ul>\n<li>Split 2019 train data into 0.85:0.15 train/val dataset.  Train on the same dataset.</li>\n<li>Image size: 300x300.</li>\n<li>Preprocessing: different preprocessing methods:  resize, Cropping &amp; blur ,Cropping &amp; Ben's Preprocessing.</li>\n<li>Heavy data argumentation: Rotation, zoom, lightning, flip, shear,shift.</li>\n<li>Loss : MSE,   as regression problem.</li>\n<li>Save best model based on kappa score.</li>\n</ul>\n\n<p><strong>Step3: ensemble</strong></p>\n\n<ul>\n<li><p>Use TTA: fliplr, flipud, rot90</p></li>\n<li><p>The best single model (v1) is Efficientnet B5 with Cropping &amp; Ben's Preprocessing</p>\n\n<p>&gt; CV: 0.9294\n&gt;\n&gt; LB: 0.8222\n&gt;\n&gt; PB: 0.9266</p></li>\n<li><p>The best LB model (v2) is ensemble  Efficientnet B5 with resize and Efficientnet B5 with Cropping &amp; blur</p>\n\n<p>&gt; CV: 0.9159/0.9271\n&gt;\n&gt; LB: 0.8312\n&gt;\n&gt; PB: 0.9274</p></li>\n<li><p>The best PB model (v3) is ensemble all.  Efficientnet B5 with resize / Efficientnet B5 with Cropping &amp; blur  / Efficientnet B5 with Cropping &amp; Ben's Preprocessing</p>\n\n<p>&gt; CV: 0.9159/0.9271/0.9294\n&gt;\n&gt; LB: 0.8264\n&gt;\n&gt; PB: 0.9292</p></li>\n</ul>\n\n<p>I choose v1 and v2 as my final submission.</p>\n\n<p><strong>Conclusion</strong></p>\n\n<ul>\n<li>Maybe you should trust your local CV (consider train/test acc). (Local CV are more close to the final PB score)</li>\n<li>Different preprocessing methods are useful</li>\n<li>More Data and heavy argumentation are useful</li>\n<li>Different image size may helpful</li>\n</ul>\n\n<p>Thanks for everyone in this discussion broad. </p>",
  "messages": [
    {
      "id": "630599",
      "postDate": "09/20/2019 13:11:23",
      "content": "<p>Thanks to Kaggle for hosting this competition.</p>\n\n<p><strong>Overview</strong></p>\n\n<ul>\n<li>Use 2015 competition data.</li>\n<li>Ensemble Efficientnet B5 with different preprocessing methods.</li>\n</ul>\n\n<p><strong>Step1 : pretrain</strong></p>\n\n<ul>\n<li>Use 2015 competition data as train dataset and 2019 competition train data as val dataset.</li>\n<li>Image size : 300x300.</li>\n<li>Model: Efficientnet B5 and B4.</li>\n<li>Preprocessing: No cropping, just resize.</li>\n<li>Loss : MSE,   as regression problem.</li>\n<li>Save best model based on kappa score.</li>\n</ul>\n\n<p><strong>Step2: finetune</strong></p>\n\n<ul>\n<li>Split 2019 train data into 0.85:0.15 train/val dataset.  Train on the same dataset.</li>\n<li>Image size: 300x300.</li>\n<li>Preprocessing: different preprocessing methods:  resize, Cropping &amp; blur ,Cropping &amp; Ben's Preprocessing.</li>\n<li>Heavy data argumentation: Rotation, zoom, lightning, flip, shear,shift.</li>\n<li>Loss : MSE,   as regression problem.</li>\n<li>Save best model based on kappa score.</li>\n</ul>\n\n<p><strong>Step3: ensemble</strong></p>\n\n<ul>\n<li><p>Use TTA: fliplr, flipud, rot90</p></li>\n<li><p>The best single model (v1) is Efficientnet B5 with Cropping &amp; Ben's Preprocessing</p>\n\n<p>&gt; CV: 0.9294\n&gt;\n&gt; LB: 0.8222\n&gt;\n&gt; PB: 0.9266</p></li>\n<li><p>The best LB model (v2) is ensemble  Efficientnet B5 with resize and Efficientnet B5 with Cropping &amp; blur</p>\n\n<p>&gt; CV: 0.9159/0.9271\n&gt;\n&gt; LB: 0.8312\n&gt;\n&gt; PB: 0.9274</p></li>\n<li><p>The best PB model (v3) is ensemble all.  Efficientnet B5 with resize / Efficientnet B5 with Cropping &amp; blur  / Efficientnet B5 with Cropping &amp; Ben's Preprocessing</p>\n\n<p>&gt; CV: 0.9159/0.9271/0.9294\n&gt;\n&gt; LB: 0.8264\n&gt;\n&gt; PB: 0.9292</p></li>\n</ul>\n\n<p>I choose v1 and v2 as my final submission.</p>\n\n<p><strong>Conclusion</strong></p>\n\n<ul>\n<li>Maybe you should trust your local CV (consider train/test acc). (Local CV are more close to the final PB score)</li>\n<li>Different preprocessing methods are useful</li>\n<li>More Data and heavy argumentation are useful</li>\n<li>Different image size may helpful</li>\n</ul>\n\n<p>Thanks for everyone in this discussion broad. </p>",
      "rawMarkdown": "Thanks to Kaggle for hosting this competition.\n\n**Overview**\n\n- Use 2015 competition data.\n- Ensemble Efficientnet B5 with different preprocessing methods.\n\n\n\n**Step1 : pretrain**\n\n- Use 2015 competition data as train dataset and 2019 competition train data as val dataset.\n- Image size : 300x300.\n- Model: Efficientnet B5 and B4.\n- Preprocessing: No cropping, just resize.\n- Loss : MSE,   as regression problem.\n- Save best model based on kappa score.\n\n\n\n**Step2: finetune**\n\n* Split 2019 train data into 0.85:0.15 train/val dataset.  Train on the same dataset.\n* Image size: 300x300.\n* Preprocessing: different preprocessing methods:  resize, Cropping &amp; blur ,Cropping &amp; Ben's Preprocessing.\n* Heavy data argumentation: Rotation, zoom, lightning, flip, shear,shift.\n* Loss : MSE,   as regression problem.\n* Save best model based on kappa score.\n\n\n\n**Step3: ensemble**\n\n- Use TTA: fliplr, flipud, rot90\n\n- The best single model (v1) is Efficientnet B5 with Cropping &amp; Ben's Preprocessing\n\n  &gt; CV: 0.9294\n  &gt;\n  &gt; LB: 0.8222\n  &gt;\n  &gt; PB: 0.9266\n\n- The best LB model (v2) is ensemble  Efficientnet B5 with resize and Efficientnet B5 with Cropping &amp; blur\n\n  &gt; CV: 0.9159/0.9271\n  &gt;\n  &gt; LB: 0.8312\n  &gt;\n  &gt; PB: 0.9274\n\n- The best PB model (v3) is ensemble all.  Efficientnet B5 with resize / Efficientnet B5 with Cropping &amp; blur  / Efficientnet B5 with Cropping &amp; Ben's Preprocessing\n\n  &gt; CV: 0.9159/0.9271/0.9294\n  &gt;\n  &gt; LB: 0.8264\n  &gt;\n  &gt; PB: 0.9292\n\n\n\nI choose v1 and v2 as my final submission.\n\n\n\n**Conclusion**\n\n- Maybe you should trust your local CV (consider train/test acc). (Local CV are more close to the final PB score)\n- Different preprocessing methods are useful\n- More Data and heavy argumentation are useful\n- Different image size may helpful\n\nThanks for everyone in this discussion broad.",
      "votes": null
    },
    {
      "id": "630620",
      "postDate": "09/20/2019 14:04:29",
      "content": "<p>Nice solution ! Would be great, if the kernel is available public.</p>",
      "rawMarkdown": "Nice solution ! Would be great, if the kernel is available public.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 630620,
      "author_name": "geekforever",
      "author_url": "",
      "post_date": "09/20/2019 14:04:29",
      "content": "<p>Nice solution ! Would be great, if the kernel is available public.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "630599": "Thanks to Kaggle for hosting this competition.\n\n**Overview**\n\n- Use 2015 competition data.\n- Ensemble Efficientnet B5 with different preprocessing methods.\n\n\n\n**Step1 : pretrain**\n\n- Use 2015 competition data as train dataset and 2019 competition train data as val dataset.\n- Image size : 300x300.\n- Model: Efficientnet B5 and B4.\n- Preprocessing: No cropping, just resize.\n- Loss : MSE,   as regression problem.\n- Save best model based on kappa score.\n\n\n\n**Step2: finetune**\n\n* Split 2019 train data into 0.85:0.15 train/val dataset.  Train on the same dataset.\n* Image size: 300x300.\n* Preprocessing: different preprocessing methods:  resize, Cropping &amp; blur ,Cropping &amp; Ben's Preprocessing.\n* Heavy data argumentation: Rotation, zoom, lightning, flip, shear,shift.\n* Loss : MSE,   as regression problem.\n* Save best model based on kappa score.\n\n\n\n**Step3: ensemble**\n\n- Use TTA: fliplr, flipud, rot90\n\n- The best single model (v1) is Efficientnet B5 with Cropping &amp; Ben's Preprocessing\n\n  &gt; CV: 0.9294\n  &gt;\n  &gt; LB: 0.8222\n  &gt;\n  &gt; PB: 0.9266\n\n- The best LB model (v2) is ensemble  Efficientnet B5 with resize and Efficientnet B5 with Cropping &amp; blur\n\n  &gt; CV: 0.9159/0.9271\n  &gt;\n  &gt; LB: 0.8312\n  &gt;\n  &gt; PB: 0.9274\n\n- The best PB model (v3) is ensemble all.  Efficientnet B5 with resize / Efficientnet B5 with Cropping &amp; blur  / Efficientnet B5 with Cropping &amp; Ben's Preprocessing\n\n  &gt; CV: 0.9159/0.9271/0.9294\n  &gt;\n  &gt; LB: 0.8264\n  &gt;\n  &gt; PB: 0.9292\n\n\n\nI choose v1 and v2 as my final submission.\n\n\n\n**Conclusion**\n\n- Maybe you should trust your local CV (consider train/test acc). (Local CV are more close to the final PB score)\n- Different preprocessing methods are useful\n- More Data and heavy argumentation are useful\n- Different image size may helpful\n\nThanks for everyone in this discussion broad.",
    "630620": "Nice solution ! Would be great, if the kernel is available public."
  },
  "source": "meta"
}