{
  "id": 319806,
  "title": "25th summary |  Happywhale ?... No, this is DATASET competition 😅😅😅 ",
  "url": "/competitions/happy-whale-and-dolphin/writeups/jedi-come-back-25th-summary-happywhale-no-this-is-",
  "author_name": "",
  "post_date": "2022-04-19T13:08:36.963Z",
  "votes": 25,
  "comment_count": 9,
  "views": 0,
  "content": "<p>backfin crop,  sod mask/crop,  detic crop … and many many crop dataset dominate this competition. Thanks <a href=\"https://www.kaggle.com/jpbremer\" target=\"_blank\">@jpbremer</a> releasing their dorsal and full body datasets,  and [MFGA]Make Feature-engineering Great Agein 🤔. We are still in the epoch of \"manualy\" intelligence .</p>\n<p><strong>about single model</strong></p>\n<ol>\n<li>Thanks to backfin crop dataset, we crossed the 0.76 for the first time.</li>\n<li>Then we aggregated all the manually fullbody annotated datasets,  train yolov5 detector.</li>\n<li>With the new fullbody crop dataset,  we train backfin/fullbody/sod model,  and combine them, first time cross 0.811,  and then, try larger image size 512 -&gt; 768 -&gt; 1080 … ,   larger model size convnext-small -&gt; base,   effn-b4 -&gt;  effn-b7,   got some booster on lb/cv,   and some model diversity;</li>\n<li>Multiple-task training work,  train model on both individual fine-grained task and species classification task give us 0.02 boost.</li>\n<li>pseudo is efficient, when our ensemble model got 0.851,  we use this submission prediction(without new_individual) train single model,  got 0.850 lb.</li>\n</ol>\n<p><strong>two-stage ensemble strategy</strong></p>\n<p>First,  we use the fold-train models,  predict val dataset,   then calculate the ratio of #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image.  Then do the statistic,  groupby the two ratios and calculate the true label ratio on each group;</p>\n<p>Statistic rule apply,  on the test dataset,  we calculate the full-train data #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image too,  and then use the statistic to determine the new_individual place.  The other predictions ensemble by place weight is the same as the public kernel.</p>\n<p><strong>No time to try</strong></p>\n<ol>\n<li>transfer learning by species/other similarity image/ original image …</li>\n<li>multiple cnn branch model + mask layer.  we have many crop data source ..  backfin/sod/fullbody,  each cnn branch input one,  add some mask layer for combine the cnns output..</li>\n<li>image embedding ensemble</li>\n<li>post rank model</li>\n<li>power of TPU …</li>\n</ol>\n<p>Thanks for sharing, we have learned a lot . 😄 see you in next comp.</p>",
  "messages": [
    {
      "id": "1759947",
      "postDate": "04/19/2022 02:18:02",
      "content": "<p>backfin crop,  sod mask/crop,  detic crop … and many many crop dataset dominate this competition. Thanks <a href=\"https://www.kaggle.com/jpbremer\" target=\"_blank\">@jpbremer</a> releasing their dorsal and full body datasets,  and [MFGA]Make Feature-engineering Great Agein 🤔. We are still in the epoch of \"manualy\" intelligence .</p>\n<p><strong>about single model</strong></p>\n<ol>\n<li>Thanks to backfin crop dataset, we crossed the 0.76 for the first time.</li>\n<li>Then we aggregated all the manually fullbody annotated datasets,  train yolov5 detector.</li>\n<li>With the new fullbody crop dataset,  we train backfin/fullbody/sod model,  and combine them, first time cross 0.811,  and then, try larger image size 512 -&gt; 768 -&gt; 1080 … ,   larger model size convnext-small -&gt; base,   effn-b4 -&gt;  effn-b7,   got some booster on lb/cv,   and some model diversity;</li>\n<li>Multiple-task training work,  train model on both individual fine-grained task and species classification task give us 0.02 boost.</li>\n<li>pseudo is efficient, when our ensemble model got 0.851,  we use this submission prediction(without new_individual) train single model,  got 0.850 lb.</li>\n</ol>\n<p><strong>two-stage ensemble strategy</strong></p>\n<p>First,  we use the fold-train models,  predict val dataset,   then calculate the ratio of #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image.  Then do the statistic,  groupby the two ratios and calculate the true label ratio on each group;</p>\n<p>Statistic rule apply,  on the test dataset,  we calculate the full-train data #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image too,  and then use the statistic to determine the new_individual place.  The other predictions ensemble by place weight is the same as the public kernel.</p>\n<p><strong>No time to try</strong></p>\n<ol>\n<li>transfer learning by species/other similarity image/ original image …</li>\n<li>multiple cnn branch model + mask layer.  we have many crop data source ..  backfin/sod/fullbody,  each cnn branch input one,  add some mask layer for combine the cnns output..</li>\n<li>image embedding ensemble</li>\n<li>post rank model</li>\n<li>power of TPU …</li>\n</ol>\n<p>Thanks for sharing, we have learned a lot . 😄 see you in next comp.</p>",
      "rawMarkdown": "backfin crop,  sod mask/crop,  detic crop ... and many many crop dataset dominate this competition. Thanks @jpbremer releasing their dorsal and full body datasets,  and [MFGA]Make Feature-engineering Great Agein 🤔. We are still in the epoch of \"manualy\" intelligence .\n\n**about single model**\n\n1. Thanks to backfin crop dataset, we crossed the 0.76 for the first time.\n2. Then we aggregated all the manually fullbody annotated datasets,  train yolov5 detector.\n3. With the new fullbody crop dataset,  we train backfin/fullbody/sod model,  and combine them, first time cross 0.811,  and then, try larger image size 512 -> 768 -> 1080 ... ,   larger model size convnext-small -> base,   effn-b4 ->  effn-b7,   got some booster on lb/cv,   and some model diversity;\n4. Multiple-task training work,  train model on both individual fine-grained task and species classification task give us 0.02 boost.\n5. pseudo is efficient, when our ensemble model got 0.851,  we use this submission prediction(without new_individual) train single model,  got 0.850 lb.\n\n**two-stage ensemble strategy**\n\nFirst,  we use the fold-train models,  predict val dataset,   then calculate the ratio of #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image.  Then do the statistic,  groupby the two ratios and calculate the true label ratio on each group;\n\nStatistic rule apply,  on the test dataset,  we calculate the full-train data #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image too,  and then use the statistic to determine the new_individual place.  The other predictions ensemble by place weight is the same as the public kernel.\n\n**No time to try**\n\n1. transfer learning by species/other similarity image/ original image ...\n2. multiple cnn branch model + mask layer.  we have many crop data source ..  backfin/sod/fullbody,  each cnn branch input one,  add some mask layer for combine the cnns output..\n3. image embedding ensemble\n4. post rank model\n5. power of TPU ...\n\nThanks for sharing, we have learned a lot . 😄 see you in next comp.",
      "votes": null
    },
    {
      "id": "1759965",
      "postDate": "04/19/2022 02:29:32",
      "content": "<p>Object detection competition😂 Thanks for sharing!</p>",
      "rawMarkdown": "Object detection competition😂 Thanks for sharing!",
      "votes": null
    },
    {
      "id": "1759977",
      "postDate": "04/19/2022 02:32:38",
      "content": "<p>lol 😄😄😄</p>",
      "rawMarkdown": "lol 😄😄😄",
      "votes": null
    },
    {
      "id": "1760019",
      "postDate": "04/19/2022 03:18:39",
      "content": "<p>yes, major improvement come from a good datasets!!!</p>",
      "rawMarkdown": "yes, major improvement come from a good datasets!!!",
      "votes": null
    },
    {
      "id": "1760341",
      "postDate": "04/19/2022 08:15:00",
      "content": "<pre><code>With the new fullbody crop dataset, we train backfin/fullbody/sod model, and combine them, first time cross 0.811, and then, try larger image size 512 -&gt; 768 -&gt; 1080 … , larger model size convnext-small -&gt; base, effn-b4 -&gt; effn-b7, got some booster on lb/cv, and some model diversity;\n</code></pre>\n<p>`</p>\n<p>Does it call Progressive Learning? </p>",
      "rawMarkdown": "```\nWith the new fullbody crop dataset, we train backfin/fullbody/sod model, and combine them, first time cross 0.811, and then, try larger image size 512 -> 768 -> 1080 … , larger model size convnext-small -> base, effn-b4 -> effn-b7, got some booster on lb/cv, and some model diversity;\n````\n\nDoes it call Progressive Learning?",
      "votes": null
    },
    {
      "id": "1760402",
      "postDate": "04/19/2022 09:01:42",
      "content": "<p>No. just different param setting </p>",
      "rawMarkdown": "No. just different param setting",
      "votes": null
    },
    {
      "id": "1760683",
      "postDate": "04/19/2022 13:13:49",
      "content": "<p>我发现网络很容易过拟合所以尝试了 hard augment 和特征空间约束, 能达到比较好的效果在没有用伪标签的时候,  多模型集成和多fold集成相反没有带来太大的提升. 对于我来说这是一场对抗过拟合的比赛. </p>",
      "rawMarkdown": "我发现网络很容易过拟合所以尝试了 hard augment 和特征空间约束, 能达到比较好的效果在没有用伪标签的时候,  多模型集成和多fold集成相反没有带来太大的提升. 对于我来说这是一场对抗过拟合的比赛.",
      "votes": null
    },
    {
      "id": "1760696",
      "postDate": "04/19/2022 13:24:30",
      "content": "<p>我看了你发布的解决方案，很棒的想法，train/val loss gap 太大了，恭喜你们收获前三！！</p>",
      "rawMarkdown": "我看了你发布的解决方案，很棒的想法，train/val loss gap 太大了，恭喜你们收获前三！！",
      "votes": null
    },
    {
      "id": "1760699",
      "postDate": "04/19/2022 13:25:35",
      "content": "<p>有机会可以一起组队 😀</p>",
      "rawMarkdown": "有机会可以一起组队 😀",
      "votes": null
    },
    {
      "id": "1760701",
      "postDate": "04/19/2022 13:26:25",
      "content": "<p>是的, 加入mixup 和bnneck 等处理后 train /val loss差异很小. </p>",
      "rawMarkdown": "是的, 加入mixup 和bnneck 等处理后 train /val loss差异很小.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1759965,
      "author_name": "yangranran",
      "author_url": "",
      "post_date": "04/19/2022 02:29:32",
      "content": "<p>Object detection competition😂 Thanks for sharing!</p>",
      "votes": null,
      "replies": [
        {
          "id": 1759977,
          "author_name": "evilpsycho42",
          "author_url": "",
          "post_date": "04/19/2022 02:32:38",
          "content": "<p>lol 😄😄😄</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1760019,
      "author_name": "liuzhangzhen",
      "author_url": "",
      "post_date": "04/19/2022 03:18:39",
      "content": "<p>yes, major improvement come from a good datasets!!!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1760341,
      "author_name": "vad13irt",
      "author_url": "",
      "post_date": "04/19/2022 08:15:00",
      "content": "<pre><code>With the new fullbody crop dataset, we train backfin/fullbody/sod model, and combine them, first time cross 0.811, and then, try larger image size 512 -&gt; 768 -&gt; 1080 … , larger model size convnext-small -&gt; base, effn-b4 -&gt; effn-b7, got some booster on lb/cv, and some model diversity;\n</code></pre>\n<p>`</p>\n<p>Does it call Progressive Learning? </p>",
      "votes": null,
      "replies": [
        {
          "id": 1760402,
          "author_name": "evilpsycho42",
          "author_url": "",
          "post_date": "04/19/2022 09:01:42",
          "content": "<p>No. just different param setting </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1760683,
      "author_name": "biglafe",
      "author_url": "",
      "post_date": "04/19/2022 13:13:49",
      "content": "<p>我发现网络很容易过拟合所以尝试了 hard augment 和特征空间约束, 能达到比较好的效果在没有用伪标签的时候,  多模型集成和多fold集成相反没有带来太大的提升. 对于我来说这是一场对抗过拟合的比赛. </p>",
      "votes": null,
      "replies": [
        {
          "id": 1760696,
          "author_name": "evilpsycho42",
          "author_url": "",
          "post_date": "04/19/2022 13:24:30",
          "content": "<p>我看了你发布的解决方案，很棒的想法，train/val loss gap 太大了，恭喜你们收获前三！！</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1760699,
          "author_name": "evilpsycho42",
          "author_url": "",
          "post_date": "04/19/2022 13:25:35",
          "content": "<p>有机会可以一起组队 😀</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1760701,
          "author_name": "biglafe",
          "author_url": "",
          "post_date": "04/19/2022 13:26:25",
          "content": "<p>是的, 加入mixup 和bnneck 等处理后 train /val loss差异很小. </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1759947": "backfin crop,  sod mask/crop,  detic crop ... and many many crop dataset dominate this competition. Thanks @jpbremer releasing their dorsal and full body datasets,  and [MFGA]Make Feature-engineering Great Agein 🤔. We are still in the epoch of \"manualy\" intelligence .\n\n**about single model**\n\n1. Thanks to backfin crop dataset, we crossed the 0.76 for the first time.\n2. Then we aggregated all the manually fullbody annotated datasets,  train yolov5 detector.\n3. With the new fullbody crop dataset,  we train backfin/fullbody/sod model,  and combine them, first time cross 0.811,  and then, try larger image size 512 -> 768 -> 1080 ... ,   larger model size convnext-small -> base,   effn-b4 ->  effn-b7,   got some booster on lb/cv,   and some model diversity;\n4. Multiple-task training work,  train model on both individual fine-grained task and species classification task give us 0.02 boost.\n5. pseudo is efficient, when our ensemble model got 0.851,  we use this submission prediction(without new_individual) train single model,  got 0.850 lb.\n\n**two-stage ensemble strategy**\n\nFirst,  we use the fold-train models,  predict val dataset,   then calculate the ratio of #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image.  Then do the statistic,  groupby the two ratios and calculate the true label ratio on each group;\n\nStatistic rule apply,  on the test dataset,  we calculate the full-train data #1 is new_individual , the ratio of #1 models prediction is same (w/o new_individual)  on each image too,  and then use the statistic to determine the new_individual place.  The other predictions ensemble by place weight is the same as the public kernel.\n\n**No time to try**\n\n1. transfer learning by species/other similarity image/ original image ...\n2. multiple cnn branch model + mask layer.  we have many crop data source ..  backfin/sod/fullbody,  each cnn branch input one,  add some mask layer for combine the cnns output..\n3. image embedding ensemble\n4. post rank model\n5. power of TPU ...\n\nThanks for sharing, we have learned a lot . 😄 see you in next comp.",
    "1759965": "Object detection competition😂 Thanks for sharing!",
    "1759977": "lol 😄😄😄",
    "1760019": "yes, major improvement come from a good datasets!!!",
    "1760341": "```\nWith the new fullbody crop dataset, we train backfin/fullbody/sod model, and combine them, first time cross 0.811, and then, try larger image size 512 -> 768 -> 1080 … , larger model size convnext-small -> base, effn-b4 -> effn-b7, got some booster on lb/cv, and some model diversity;\n````\n\nDoes it call Progressive Learning?",
    "1760402": "No. just different param setting",
    "1760683": "我发现网络很容易过拟合所以尝试了 hard augment 和特征空间约束, 能达到比较好的效果在没有用伪标签的时候,  多模型集成和多fold集成相反没有带来太大的提升. 对于我来说这是一场对抗过拟合的比赛.",
    "1760696": "我看了你发布的解决方案，很棒的想法，train/val loss gap 太大了，恭喜你们收获前三！！",
    "1760699": "有机会可以一起组队 😀",
    "1760701": "是的, 加入mixup 和bnneck 等处理后 train /val loss差异很小."
  },
  "source": "meta"
}