{
  "id": 300638,
  "title": "[LB 0.579] Yolov5(higher resolution) is all you need",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/300638",
  "author_name": "sheep",
  "post_date": "2022-01-13T13:33:15.506000",
  "votes": 180,
  "comment_count": 260,
  "views": 0,
  "content": "<p>Proper training of yolov5 can give decent score, will release train code later.<br>\n<a href=\"https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need</a> 👉</p>\n<p>I release this merely due to that I find modifying several parameters(resolution, vflip and cutmix) then I can get a score looks good.  Higher resolution DO benefit small object's detection. you can try classifier like Heng's to boost score further.</p>\n<p>Update:<br>\nTrain notebook: <a href=\"https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training</a><br>\nSince I overestimated the performance of P100 and 2T cpu in kaggle, to reproduce the score, you need change back the size to <code>3600</code> and epochs to 15. This setup will yield a 0.33 mAP@.5:.95 </p>\n<p>Update 2:<br>\nI successfully kick myself out of the bronze zone, which is not my intention😭</p>",
  "messages": [
    {
      "id": 1648529,
      "postDate": "2022-01-13T13:33:15.507Z",
      "content": "<p>Proper training of yolov5 can give decent score, will release train code later.<br>\n<a href=\"https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need</a> 👉</p>\n<p>I release this merely due to that I find modifying several parameters(resolution, vflip and cutmix) then I can get a score looks good.  Higher resolution DO benefit small object's detection. you can try classifier like Heng's to boost score further.</p>\n<p>Update:<br>\nTrain notebook: <a href=\"https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training</a><br>\nSince I overestimated the performance of P100 and 2T cpu in kaggle, to reproduce the score, you need change back the size to <code>3600</code> and epochs to 15. This setup will yield a 0.33 mAP@.5:.95 </p>\n<p>Update 2:<br>\nI successfully kick myself out of the bronze zone, which is not my intention😭</p>",
      "rawMarkdown": "Proper training of yolov5 can give decent score, will release train code later.\nhttps://www.kaggle.com/steamedsheep/yolov5-is-all-you-need 👉\n\nI release this merely due to that I find modifying several parameters(resolution, vflip and cutmix) then I can get a score looks good.  Higher resolution DO benefit small object's detection. you can try classifier like Heng's to boost score further.\n\nUpdate:\nTrain notebook: https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training\nSince I overestimated the performance of P100 and 2T cpu in kaggle, to reproduce the score, you need change back the size to `3600` and epochs to 15. This setup will yield a 0.33 mAP@.5:.95 \n\nUpdate 2:\nI successfully kick myself out of the bronze zone, which is not my intention😭",
      "votes": 180
    },
    {
      "id": 1649181,
      "postDate": "2022-01-14T03:43:02.130Z",
      "content": "<p>here is the magic, using your same model and same code (i just change the input size)</p>\n<pre><code>path='../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt',\n3600          LB 0.579\n4000 (1.11x)  LB 0.586\n4800 (1.33x)  LB 0.590\n5600 (1.55x)  LB 0.594\n6400 (1.77x)  LB 0.596\n7200 (2.00x)  LB 0.603  !!!!??\n9000 (2.50x)  LB 0.613  !!!!???? why it never ends\n...\n...\n# optimun is between 2.50x to 3.50x,  please feel free to explore. \n# i estimate we can get to 6.20\n...\n12600(3.50x) LB 0.557 \n</code></pre>\n<p>but i haven't used yolo5 yet and i don't know about your train data. etc.<br>\nso i cannot tell if the results is overfitting (#1) or having good generalisation.<br>\nhence interprete the results with care!</p>\n<p>(#1) overfitting as in the with enlarged image, the model is producing many FP. BUT for this public test video,<br>\nthe improvement in TP outweighs that of FP. We can't tell for sure in the private set.</p>\n<p>we need to calibrate FP of the models under different input setting, etc</p>\n<hr>\n<p>most top kagglers have tricks in their bags, accumulated from work and competition experiences.<br>\nThis is results from hard work after numerous experiments.</p>\n<p>Now i let one cat of the bag:</p>\n<p>even in past competitions, i have been using this upsizing trick.<br>\nit is interesting to note that when we enlarge input image, there is no addition information.<br>\nbecause the new pixels are interpolated (i.e. information is from the original pixels).<br>\nyet, i have been seeing consisently improvement in results, e.g. in classification, segmentation, object detection</p>",
      "rawMarkdown": "here is the magic, using your same model and same code (i just change the input size)\n```\npath='../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt',\n3600          LB 0.579\n4000 (1.11x)  LB 0.586\n4800 (1.33x)  LB 0.590\n5600 (1.55x)  LB 0.594\n6400 (1.77x)  LB 0.596\n7200 (2.00x)  LB 0.603  !!!!??\n9000 (2.50x)  LB 0.613  !!!!???? why it never ends\n...\n...\n# optimun is between 2.50x to 3.50x,  please feel free to explore. \n# i estimate we can get to 6.20\n...\n12600(3.50x) LB 0.557 \n```\n\nbut i haven't used yolo5 yet and i don't know about your train data. etc.\nso i cannot tell if the results is overfitting (#1) or having good generalisation.\nhence interprete the results with care!\n\n\n(#1) overfitting as in the with enlarged image, the model is producing many FP. BUT for this public test video,\nthe improvement in TP outweighs that of FP. We can't tell for sure in the private set.\n\nwe need to calibrate FP of the models under different input setting, etc\n\n---\n\nmost top kagglers have tricks in their bags, accumulated from work and competition experiences.\nThis is results from hard work after numerous experiments.\n\nNow i let one cat of the bag:\n\neven in past competitions, i have been using this upsizing trick.\nit is interesting to note that when we enlarge input image, there is no addition information.\nbecause the new pixels are interpolated (i.e. information is from the original pixels).\nyet, i have been seeing consisently improvement in results, e.g. in classification, segmentation, object detection\n",
      "votes": 56,
      "replies": [
        {
          "id": 1649240,
          "postDate": "2022-01-14T05:38:20.377Z",
          "content": "<p>Hi, I have a quick question:<br>\nDo we have to use the YOLO detector all the time?<br>\nWill other detection models(e.g, Faster RCNN) achieve better results?</p>",
          "rawMarkdown": "Hi, I have a quick question:\nDo we have to use the YOLO detector all the time?\nWill other detection models(e.g, Faster RCNN) achieve better results?"
        },
        {
          "id": 1649250,
          "postDate": "2022-01-14T05:48:28.667Z",
          "content": "<p>it depends on the data (and your augmentation).</p>\n<p>all datascience problem as three parts:</p>\n<ol>\n<li>data: how much information are there in the data </li>\n<li>model: how much  information can you model represent</li>\n<li>learning and hyperparamter : whether you know how to learn and use your model to extract all available information from data</li>\n</ol>",
          "rawMarkdown": "it depends on the data (and your augmentation).\n\nall datascience problem as three parts:\n\n1. data: how much information are there in the data \n2. model: how much  information can you model represent\n3. learning and hyperparamter : whether you know how to learn and use your model to extract all available information from data",
          "votes": 9
        },
        {
          "id": 1649259,
          "postDate": "2022-01-14T06:04:25.663Z",
          "content": "<p>Thank you for your prompt reply!<br>\nI don't think the training data is enough, even though there are 4919 labeled images, they are from videos and have similarities to each other. after reading your previous post, I decided to collect some additional data from the web.<br>\nThanks again for the advice! I've learned a lot from you!</p>",
          "rawMarkdown": "Thank you for your prompt reply!\nI don't think the training data is enough, even though there are 4919 labeled images, they are from videos and have similarities to each other. after reading your previous post, I decided to collect some additional data from the web.\nThanks again for the advice! I've learned a lot from you!",
          "votes": 6
        },
        {
          "id": 1649284,
          "postDate": "2022-01-14T06:52:14.160Z",
          "content": "<p>I wonder if we resize a 720x1280 image into 6000px. the interpolation of so many pixels will reduce the quality of the image. Also, the image is in .jpg format(which is already compressed and some pixels already lost).<br>\nAm I correct? Such a long interpolation generates some noise pixels, isn't it?</p>",
          "rawMarkdown": "I wonder if we resize a 720x1280 image into 6000px. the interpolation of so many pixels will reduce the quality of the image. Also, the image is in .jpg format(which is already compressed and some pixels already lost).\nAm I correct? Such a long interpolation generates some noise pixels, isn't it?",
          "votes": 1
        },
        {
          "id": 1649456,
          "postDate": "2022-01-14T09:24:24.957Z",
          "content": "<p>GO GO GO!<br>\nLet's see the limits.<br>\n10000 ?<br>\n20000 ?</p>",
          "rawMarkdown": "GO GO GO!\nLet's see the limits.\n10000 ?\n20000 ?",
          "votes": 2
        },
        {
          "id": 1649518,
          "postDate": "2022-01-14T10:43:01.623Z",
          "content": "<p>Good direction …. I see that soon we can copy the best solution from this competition: <a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation\" target=\"_blank\">https://www.kaggle.com/c/sartorius-cell-instance-segmentation</a> 😂😂😜</p>\n<p><img src=\"https://i.ibb.co/GWKsrnW/inline-image-preview.jpg\" alt=\"starfish\"></p>\n<p>for people with more GPUs</p>\n<p><img src=\"https://i.ibb.co/7pRJK9j/270x430p135x215.jpg\" alt=\"s1\"></p>",
          "rawMarkdown": "Good direction .... I see that soon we can copy the best solution from this competition: https://www.kaggle.com/c/sartorius-cell-instance-segmentation 😂😂😜\n\n![starfish](https://i.ibb.co/GWKsrnW/inline-image-preview.jpg)\n\nfor people with more GPUs\n\n![s1](https://i.ibb.co/7pRJK9j/270x430p135x215.jpg)",
          "votes": 6
        },
        {
          "id": 1649663,
          "postDate": "2022-01-14T13:39:25.780Z",
          "content": "<p>besides image upsize, what other test time augment can lead to more TP than FP?</p>",
          "rawMarkdown": "besides image upsize, what other test time augment can lead to more TP than FP?",
          "votes": 1
        },
        {
          "id": 1649672,
          "postDate": "2022-01-14T13:49:57.140Z",
          "content": "<p>Very good question <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> 😃</p>",
          "rawMarkdown": "Very good question @hengck23 😃",
          "votes": 2
        },
        {
          "id": 1649697,
          "postDate": "2022-01-14T14:19:41.257Z",
          "content": "<p><a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a>  I bet it will be an Astro Cell Type :P </p>",
          "rawMarkdown": "@remekkinas  I bet it will be an Astro Cell Type :P ",
          "votes": 1
        },
        {
          "id": 1649726,
          "postDate": "2022-01-14T14:45:27.337Z",
          "content": "<p><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> this prooves that you have spent a lot of time in this competition. You deserve additional prize :) 💪🤜👍😄</p>",
          "rawMarkdown": "@phoenix9032 this prooves that you have spent a lot of time in this competition. You deserve additional prize :) 💪🤜👍😄",
          "votes": 2
        },
        {
          "id": 1649757,
          "postDate": "2022-01-14T15:07:15.117Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> You made the LB alive and competitive.</p>",
          "rawMarkdown": "@hengck23 You made the LB alive and competitive.",
          "votes": 1
        },
        {
          "id": 1649916,
          "postDate": "2022-01-14T17:16:17.550Z",
          "content": "<p>just realize that we have a video and not single image, and hence:<br>\nvideo resolution or learning better upsizing filter!</p>\n<p>(e.g. using consistency loss to distill 5x input smiliar to 1x input)</p>\n<p>Learning to Resize Images for Computer Vision Tasks<br>\n<a href=\"https://arxiv.org/pdf/2003.08237.pdf\" target=\"_blank\">https://arxiv.org/pdf/2003.08237.pdf</a></p>",
          "rawMarkdown": "just realize that we have a video and not single image, and hence:\nvideo resolution or learning better upsizing filter!\n\n(e.g. using consistency loss to distill 5x input smiliar to 1x input)\n\nLearning to Resize Images for Computer Vision Tasks\nhttps://arxiv.org/pdf/2003.08237.pdf",
          "votes": 8
        },
        {
          "id": 1650238,
          "postDate": "2022-01-14T23:19:46.923Z",
          "content": "<p>sooner or later we're bound to hit memory runtime limits in Kaggle environment after 9k too. I was able to get my current score using  up sizing trick (to 4032) and some other tta inspired from yolo repo and hengck's augmentation for 0.56. </p>\n<blockquote>\n  <p>Learning to Resize Images for Computer Vision Tasks<br>\n  <a href=\"https://arxiv.org/pdf/2003.08237.pdf\" target=\"_blank\">https://arxiv.org/pdf/2003.08237.pdf</a></p>\n</blockquote>\n<p>this is a useful paper imo</p>\n<p>UPD: looks like up-sizing <a href=\"https://www.kaggle.com/sentrankim/only-yolov5-tracking-lb-52\" target=\"_blank\">doesn't work well</a> if initial training size is low so there is indeed a limit for higher res training as well</p>",
          "rawMarkdown": "sooner or later we're bound to hit memory runtime limits in Kaggle environment after 9k too. I was able to get my current score using  up sizing trick (to 4032) and some other tta inspired from yolo repo and hengck's augmentation for 0.56. \n\n> Learning to Resize Images for Computer Vision Tasks\nhttps://arxiv.org/pdf/2003.08237.pdf\n\nthis is a useful paper imo\n\nUPD: looks like up-sizing [doesn't work well](https://www.kaggle.com/sentrankim/only-yolov5-tracking-lb-52) if initial training size is low so there is indeed a limit for higher res training as well",
          "votes": 3
        },
        {
          "id": 1650319,
          "postDate": "2022-01-15T00:50:32.927Z",
          "content": "<p>6800(LB0.601) <br>\n7600(LB0.610)</p>",
          "rawMarkdown": "6800(LB0.601) \n7600(LB0.610)",
          "votes": 2
        },
        {
          "id": 1650397,
          "postDate": "2022-01-15T03:05:37.020Z",
          "content": "<p>10200 (LB 0.602) <br>\nI guess it end here 😄</p>",
          "rawMarkdown": "10200 (LB 0.602) \nI guess it end here 😄",
          "votes": 1
        },
        {
          "id": 1650402,
          "postDate": "2022-01-15T03:12:10.780Z",
          "content": "<p>It finally reaches end. Maybe probing confidence threshold make it better.<br>\n10800(LB 0.602)</p>",
          "rawMarkdown": "It finally reaches end. Maybe probing confidence threshold make it better.\n10800(LB 0.602)",
          "votes": 1
        },
        {
          "id": 1650435,
          "postDate": "2022-01-15T03:35:50.683Z",
          "content": "<p>I just woke up and see everyone jump on the LB :D </p>",
          "rawMarkdown": "I just woke up and see everyone jump on the LB :D "
        },
        {
          "id": 1650437,
          "postDate": "2022-01-15T03:38:09.723Z",
          "content": "<p>It seems that using two stage detectors results in a performace trade off which won't allow for the upsizing of images as effectively… however it is always worth experimenting with. My best two stage detector reached 0.578 but currently is a 2 hour runtime.</p>",
          "rawMarkdown": "It seems that using two stage detectors results in a performace trade off which won't allow for the upsizing of images as effectively... however it is always worth experimenting with. My best two stage detector reached 0.578 but currently is a 2 hour runtime.",
          "votes": 1
        },
        {
          "id": 1650530,
          "postDate": "2022-01-15T05:17:19.597Z",
          "content": "<p>Sorry, I have not foresee this, I should not release this. Apology to the turbulence of leaderboard</p>",
          "rawMarkdown": "Sorry, I have not foresee this, I should not release this. Apology to the turbulence of leaderboard",
          "votes": 6
        },
        {
          "id": 1650549,
          "postDate": "2022-01-15T05:36:50.510Z",
          "content": "<p>My understanding is that the private LB will be run with 75% of the test dataset? In that case, any notebook that takes &gt; 3 hours to complete will breach the 9 hr limit on the private LB?</p>",
          "rawMarkdown": "My understanding is that the private LB will be run with 75% of the test dataset? In that case, any notebook that takes > 3 hours to complete will breach the 9 hr limit on the private LB?",
          "votes": 1
        },
        {
          "id": 1650577,
          "postDate": "2022-01-15T06:12:10.853Z",
          "content": "<p>Nope, it is already counted but hidden don't worry :)</p>",
          "rawMarkdown": "Nope, it is already counted but hidden don't worry :)",
          "votes": 3
        },
        {
          "id": 1650798,
          "postDate": "2022-01-15T10:32:35.233Z",
          "content": "<p>Thanks, that's good to know. Does that mean any notebook that runs to completion can be counted for the final / private LB?</p>\n<p>9 hrs is a ridiculous amount of time.</p>",
          "rawMarkdown": "Thanks, that's good to know. Does that mean any notebook that runs to completion can be counted for the final / private LB?\n\n9 hrs is a ridiculous amount of time.",
          "votes": 1
        },
        {
          "id": 1650882,
          "postDate": "2022-01-15T11:45:42.123Z",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> actually this is an important contribution since even for public notebooks or well known frameworks, it is our job as participants to find the best hyperparams. </p>\n<p>However if in the final solution we were to see a few gold/silver medals won solely due to a single parameter change we'll feel a bit defeated and maybe even call that participant's hard work luck or \"easy-work\". Your contribution helped normalise this parameter tuning discrepancy and now we can move on to implementing techniques on top of these hyperparams :)</p>",
          "rawMarkdown": "@steamedsheep actually this is an important contribution since even for public notebooks or well known frameworks, it is our job as participants to find the best hyperparams. \n\nHowever if in the final solution we were to see a few gold/silver medals won solely due to a single parameter change we'll feel a bit defeated and maybe even call that participant's hard work luck or \"easy-work\". Your contribution helped normalise this parameter tuning discrepancy and now we can move on to implementing techniques on top of these hyperparams :)",
          "votes": 3
        },
        {
          "id": 1650885,
          "postDate": "2022-01-15T11:51:58.240Z",
          "content": "<p><a href=\"https://www.kaggle.com/alexchwong\" target=\"_blank\">@alexchwong</a> yup you will have an option to select 4 notebooks at the end of the competition out of which best score on private holdout(which has already been calculated) will determine your private lb rank (you can select them now too but you'll probably get 4 better scores in the next month)</p>",
          "rawMarkdown": "@alexchwong yup you will have an option to select 4 notebooks at the end of the competition out of which best score on private holdout(which has already been calculated) will determine your private lb rank (you can select them now too but you'll probably get 4 better scores in the next month)",
          "votes": 1
        },
        {
          "id": 1650898,
          "postDate": "2022-01-15T12:01:56.743Z",
          "content": "<p>great, kind of fractal enlargement. </p>",
          "rawMarkdown": "great, kind of fractal enlargement. "
        },
        {
          "id": 1651176,
          "postDate": "2022-01-15T15:49:58.533Z",
          "content": "<p><a href=\"https://www.kaggle.com/alexchwong\" target=\"_blank\">@alexchwong</a>  Please refer to this discussion <br>\n<a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/301020\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/301020</a></p>",
          "rawMarkdown": "@alexchwong  Please refer to this discussion \nhttps://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/301020"
        },
        {
          "id": 1651562,
          "postDate": "2022-01-15T21:05:40.180Z",
          "content": "<p>Thanks guys thats very helpful</p>",
          "rawMarkdown": "Thanks guys thats very helpful"
        }
      ]
    },
    {
      "id": 2506668,
      "postDate": "2023-10-31T13:18:15.977Z",
      "content": "<p>thanks a lot, sheep big old and frog god</p>",
      "rawMarkdown": "thanks a lot, sheep big old and frog god",
      "votes": 1,
      "replies": [
        {
          "id": 2558274,
          "postDate": "2023-12-12T03:28:53.543Z",
          "content": "<p>you are so cool,my god</p>",
          "rawMarkdown": "you are so cool,my god"
        }
      ]
    },
    {
      "id": 1656668,
      "postDate": "2022-01-19T14:32:45.487Z",
      "content": "<p>i think i have solved the puzzle</p>\n<p><img src=\"https://i.ibb.co/FHQsG3J/Selection-005.png\" alt=\"https://i.ibb.co/FHQsG3J/Selection-005.png\"></p>\n<p>the safest bet is to use public LB to measure your recall only. I think there is insufficient images to measure FPrate and precision. Hence use another dataset for that</p>",
      "rawMarkdown": "i think i have solved the puzzle\n\n![https://i.ibb.co/FHQsG3J/Selection-005.png](https://i.ibb.co/FHQsG3J/Selection-005.png)\n\nthe safest bet is to use public LB to measure your recall only. I think there is insufficient images to measure FPrate and precision. Hence use another dataset for that\n",
      "votes": 23,
      "replies": [
        {
          "id": 1656688,
          "postDate": "2022-01-19T14:49:02.497Z",
          "content": "<p>I am starting to think your tactic is to confuse everybody <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> , you throwed so many ideas maybe with intention that somebody will test it. But your graph now proves that IMG_SIZE is not all you need :)</p>",
          "rawMarkdown": "I am starting to think your tactic is to confuse everybody @hengck23 , you throwed so many ideas maybe with intention that somebody will test it. But your graph now proves that IMG_SIZE is not all you need :)",
          "votes": 3
        },
        {
          "id": 1656701,
          "postDate": "2022-01-19T14:57:24.297Z",
          "content": "<p>large image size improve recall. but if you visually inspect the results, you do see many FP. <br>\nif you measure local validation, there is improvement in the local cv f2 score but not to the extent of 2.5x times. (I am referring to the results on my experiment on sheep models, i.e train at 3600, inference at much higher resolution)</p>\n<p>hence I conclude that the number of empty images in your local cv and public test set are different.<br>\nthere is clearly a huge difference in trend on local cv and public lb score.</p>\n<p>if there is too many empty images in the private set, the gain in recall will be eaten away by too many FPs and you will have low f2 score. this will cause shakeup.</p>\n<p>you have to measure your fp rate of your solution (and keep it low enough). i don't think the public lb score reflect this well enough, due to the lack of sufficient images.</p>\n<p>in short:</p>\n<ol>\n<li>if you want to use large image size, do reduce the fp rate</li>\n<li>don't trust so much on the public lb only. you should consider public lb together with your local cv and try to explain the difference</li>\n</ol>",
          "rawMarkdown": "large image size improve recall. but if you visually inspect the results, you do see many FP. \nif you measure local validation, there is improvement in the local cv f2 score but not to the extent of 2.5x times. (I am referring to the results on my experiment on sheep models, i.e train at 3600, inference at much higher resolution)\n\nhence I conclude that the number of empty images in your local cv and public test set are different.\nthere is clearly a huge difference in trend on local cv and public lb score.\n\nif there is too many empty images in the private set, the gain in recall will be eaten away by too many FPs and you will have low f2 score. this will cause shakeup.\n\nyou have to measure your fp rate of your solution (and keep it low enough). i don't think the public lb score reflect this well enough, due to the lack of sufficient images.\n\nin short:\n1. if you want to use large image size, do reduce the fp rate\n2. don't trust so much on the public lb only. you should consider public lb together with your local cv and try to explain the difference",
          "votes": 7
        },
        {
          "id": 1656705,
          "postDate": "2022-01-19T15:02:06.087Z",
          "content": "<blockquote>\n  <p>your tactic is to confuse everybody</p>\n</blockquote>\n<p>I think <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> is well-intentioned. All these are observations based on experiments, nothing to confuse others on purpose.</p>",
          "rawMarkdown": "> your tactic is to confuse everybody\n\nI think @hengck23 is well-intentioned. All these are observations based on experiments, nothing to confuse others on purpose.",
          "votes": 4
        },
        {
          "id": 1656709,
          "postDate": "2022-01-19T15:02:53.760Z",
          "content": "<p>yes this is what we do everytime test with full fold (with empties also) and there is border where FP are less. Doesn't work :)</p>\n<p><img src=\"https://i.ibb.co/jLmCPf1/F2-curve.png\" alt=\"\"></p>\n<p>Our models got high confidence from 0.4 to 0.6 removing FP but as you see its not the case this model got LB 0.59</p>",
          "rawMarkdown": "yes this is what we do everytime test with full fold (with empties also) and there is border where FP are less. Doesn't work :)\n\n![](https://i.ibb.co/jLmCPf1/F2-curve.png)\n\n\nOur models got high confidence from 0.4 to 0.6 removing FP but as you see its not the case this model got LB 0.59",
          "votes": 3
        },
        {
          "id": 1656713,
          "postDate": "2022-01-19T15:04:51.870Z",
          "content": "<p><a href=\"https://www.kaggle.com/zzy990106\" target=\"_blank\">@zzy990106</a> to bo accurate i said i am starting to think, i didnt claimed <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> is confusing everybody</p>",
          "rawMarkdown": "@zzy990106 to bo accurate i said i am starting to think, i didnt claimed @hengck23 is confusing everybody",
          "votes": 1
        },
        {
          "id": 1656717,
          "postDate": "2022-01-19T15:11:04.437Z",
          "content": "<p>You gave some hypotheses, but you have no evidence to prove their correctness. Usually people show a hypothesis and then evidence to prove it right, eg increase in the result of their model, score , etc. Here are theses, but only theses and no facts … This picture just show that …. rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way … \"oh no …. I will be punished ….\".   </p>\n<p>I am giving one example of an experiment carried out on a selected fold (we conducted this experiment on many different configuration). Which model do you think is significantly better on the LB?</p>\n<p><img src=\"https://i.ibb.co/Q8PGsyC/exp1.jpg\" alt=\"Grafika\"></p>",
          "rawMarkdown": "You gave some hypotheses, but you have no evidence to prove their correctness. Usually people show a hypothesis and then evidence to prove it right, eg increase in the result of their model, score , etc. Here are theses, but only theses and no facts ... This picture just show that .... rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way ... \"oh no .... I will be punished ....\".   \n\nI am giving one example of an experiment carried out on a selected fold (we conducted this experiment on many different configuration). Which model do you think is significantly better on the LB?\n\n![Grafika](https://i.ibb.co/Q8PGsyC/exp1.jpg)",
          "votes": 2
        },
        {
          "id": 1656722,
          "postDate": "2022-01-19T15:15:55.063Z",
          "content": "<p>the issue now is that we don't know how many truth objects and how many empty images are there in the public test set. my experiments show that when there are insufficient images (and truth objects) the f2 score varies quite greatly.</p>\n<p>in order to avoid shakeup, our model must perform well against various combinations of number of objects and empty images.  (we need to plot f2 curve for different combinations)</p>\n<p>using larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall. a stable results must come from both improving recall and precision. i think the public LB score only reflects recall. so one has to be careful to interpret the results to avoid shakeup.</p>",
          "rawMarkdown": "the issue now is that we don't know how many truth objects and how many empty images are there in the public test set. my experiments show that when there are insufficient images (and truth objects) the f2 score varies quite greatly.\n\nin order to avoid shakeup, our model must perform well against various combinations of number of objects and empty images.  (we need to plot f2 curve for different combinations)\n\nusing larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall. a stable results must come from both improving recall and precision. i think the public LB score only reflects recall. so one has to be careful to interpret the results to avoid shakeup.\n\n\n\n\n",
          "votes": 5
        },
        {
          "id": 1656726,
          "postDate": "2022-01-19T15:21:23.730Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> you think why i implemented f2 curve and why Remek made TP FP FN analysis ?:) we doing it from long time. Did you see our submission number ? we test it with many ways, and got many ways still to test</p>",
          "rawMarkdown": "@hengck23 you think why i implemented f2 curve and why Remek made TP FP FN analysis ?:) we doing it from long time. Did you see our submission number ? we test it with many ways, and got many ways still to test"
        },
        {
          "id": 1656729,
          "postDate": "2022-01-19T15:24:42.930Z",
          "content": "<p>\"experiment carried out on a selected fold\"</p>\n<p>the fold is fixed, so I would interpret the results with care.<br>\nalso, public data is also fixed.</p>\n<p>besides FP,FN,FP I would try also different num of empty images and no. of true objects in the table.</p>\n<p>i want to know how sensitive the metrics are when the dataset changes.</p>",
          "rawMarkdown": "\"experiment carried out on a selected fold\"\n\nthe fold is fixed, so I would interpret the results with care.\nalso, public data is also fixed.\n\nbesides FP,FN,FP I would try also different num of empty images and no. of true objects in the table.\n\ni want to know how sensitive the metrics are when the dataset changes.",
          "votes": 3
        },
        {
          "id": 1656732,
          "postDate": "2022-01-19T15:27:53.947Z",
          "content": "<p>\" This picture just show that …. rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way … \"oh no …. I will be punished ….\".\"</p>\n<p>there will be no problem if you can keep your curve straight (instead of falling down)</p>",
          "rawMarkdown": "\" This picture just show that …. rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way … \"oh no …. I will be punished ….\".\"\n\nthere will be no problem if you can keep your curve straight (instead of falling down)",
          "votes": 2
        },
        {
          "id": 1656734,
          "postDate": "2022-01-19T15:29:28.357Z",
          "content": "<p>I have once trained a model. don't know if it cause because of my split. it was one of my initial experiments. <br>\ni trained a model which had a great recall and inferred it. Give me a bad score like 0.382 or something.<br>\nMy hypothesis is that, both public and private have the same density percentage of nonempty and empty images.<br>\nperhaps like </p>\n<pre><code>frame 1  -&gt; Empty =&gt; private\nframe 2  -&gt; Empty =&gt; private\nframe 3  -&gt; Empty =&gt; private\nframe 4  -&gt; Empty =&gt; private\nframe 5  -&gt; Empty =&gt; public\nframe 6  -&gt; Empty =&gt; public\nframe 7  -&gt; Empty =&gt; public\nframe 8 ... frame m  -&gt; Empty =&gt; public\nframe m+1 -&gt; Non Empty =&gt; private\nframe m+2 -&gt; Non Empty =&gt; private\nframe m+3 -&gt; Non Empty =&gt; private\nframe m+4 -&gt; Non Empty =&gt; private\nframe m+5 -&gt; Non Empty =&gt; public\nframe m+6 .. frame n -&gt;Non Empty =&gt; public\nand so on\n</code></pre>\n<p>The reason why I say they into split first 4 consecutive frames is because why tracking working</p>",
          "rawMarkdown": "I have once trained a model. don't know if it cause because of my split. it was one of my initial experiments. \ni trained a model which had a great recall and inferred it. Give me a bad score like 0.382 or something.\nMy hypothesis is that, both public and private have the same density percentage of nonempty and empty images.\nperhaps like \n```\nframe 1  -> Empty => private\nframe 2  -> Empty => private\nframe 3  -> Empty => private\nframe 4  -> Empty => private\nframe 5  -> Empty => public\nframe 6  -> Empty => public\nframe 7  -> Empty => public\nframe 8 ... frame m  -> Empty => public\nframe m+1 -> Non Empty => private\nframe m+2 -> Non Empty => private\nframe m+3 -> Non Empty => private\nframe m+4 -> Non Empty => private\nframe m+5 -> Non Empty => public\nframe m+6 .. frame n ->Non Empty => public\nand so on\n```\nThe reason why I say they into split first 4 consecutive frames is because why tracking working",
          "votes": 2
        },
        {
          "id": 1658038,
          "postDate": "2022-01-20T16:56:01.790Z",
          "content": "<p>I think we are simply inferring sequentially on frames but public LB is a 'random' (or not) select of frames afterwards</p>",
          "rawMarkdown": "I think we are simply inferring sequentially on frames but public LB is a 'random' (or not) select of frames afterwards"
        },
        {
          "id": 1658425,
          "postDate": "2022-01-21T02:55:42.767Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 1658430,
          "postDate": "2022-01-21T02:58:50.103Z",
          "content": "<blockquote>\n  <p>using larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall.</p>\n</blockquote>\n<p>My experiments supports this hypothesis for the case of my model.<br>\nI estimated recall and precision in the Leader board [1], and have result below.<br>\nIn this result, recall is higher when we infer larger scale than that in train, whereas precision is nearly the same.<br>\nOf course we need more sample because it depends on the model.<br>\nI don't confirm this result is generally applicable.</p>\n<p>train scale: x2.00, infer scale: x2.00</p>\n<pre><code>      R     P\nmean: 0.557 0.534\nstd:  0.028 0.106\n</code></pre>\n<p>train scale: x2.00, infer scale: x3.20 (x1.60 larger than train scale)</p>\n<pre><code>      R     P\nmean: 0.623 0.527\nstd:  0.007 0.020\n</code></pre>\n<p>[1] <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130#1658385\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130#1658385</a></p>",
          "rawMarkdown": "> using larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall.\n\nMy experiments supports this hypothesis for the case of my model.\nI estimated recall and precision in the Leader board [1], and have result below.\nIn this result, recall is higher when we infer larger scale than that in train, whereas precision is nearly the same.\nOf course we need more sample because it depends on the model.\nI don't confirm this result is generally applicable.\n\ntrain scale: x2.00, infer scale: x2.00\n```\n      R     P\nmean: 0.557 0.534\nstd:  0.028 0.106\n```\n\ntrain scale: x2.00, infer scale: x3.20 (x1.60 larger than train scale)\n```\n      R     P\nmean: 0.623 0.527\nstd:  0.007 0.020\n```\n\n[1] https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130#1658385",
          "votes": 5
        }
      ]
    },
    {
      "id": 1648542,
      "postDate": "2022-01-13T13:41:07.850Z",
      "content": "<p>I should start with competitions one month before deadline, apparently it is the time people release good solutions.</p>",
      "rawMarkdown": "I should start with competitions one month before deadline, apparently it is the time people release good solutions.",
      "votes": 18,
      "replies": [
        {
          "id": 1648598,
          "postDate": "2022-01-13T14:42:13.867Z",
          "content": "<p>This is not a good solution, just a custom run of yolo5.  </p>",
          "rawMarkdown": "This is not a good solution, just a custom run of yolo5.  ",
          "votes": 4
        },
        {
          "id": 1649389,
          "postDate": "2022-01-14T08:40:20.480Z",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> this is a brilliant notebook. After trying 100 methods, finally found one secret of this competition (although it is no longer a secret).</p>",
          "rawMarkdown": "@steamedsheep this is a brilliant notebook. After trying 100 methods, finally found one secret of this competition (although it is no longer a secret).",
          "votes": 1
        },
        {
          "id": 1649758,
          "postDate": "2022-01-14T15:08:06.843Z",
          "content": "<p><a href=\"https://www.kaggle.com/philippsinger\" target=\"_blank\">@philippsinger</a> </p>\n<p>That's why I am entering now…</p>",
          "rawMarkdown": "@philippsinger \n\nThat's why I am entering now...",
          "votes": 4
        },
        {
          "id": 1649761,
          "postDate": "2022-01-14T15:11:49.023Z",
          "content": "<p>good idea <a href=\"https://www.kaggle.com/cpmpml\" target=\"_blank\">@cpmpml</a> - the public lb is now as high as we got after 2 months of fighting hard</p>",
          "rawMarkdown": "good idea @cpmpml - the public lb is now as high as we got after 2 months of fighting hard",
          "votes": 5
        },
        {
          "id": 1649766,
          "postDate": "2022-01-14T15:16:26.523Z",
          "content": "<p>To tell the truth I didn't plan to spend so much time on santa comp. I would have joined earlier otherwise.</p>",
          "rawMarkdown": "To tell the truth I didn't plan to spend so much time on santa comp. I would have joined earlier otherwise."
        },
        {
          "id": 1649781,
          "postDate": "2022-01-14T15:24:27.730Z",
          "content": "<p>New NLP one might be an alternative, more time :P</p>",
          "rawMarkdown": "New NLP one might be an alternative, more time :P",
          "votes": 1
        },
        {
          "id": 1649918,
          "postDate": "2022-01-14T17:17:16.703Z",
          "content": "<p>The one Abishek just ruined?</p>",
          "rawMarkdown": "The one Abishek just ruined?",
          "votes": 8
        },
        {
          "id": 1649924,
          "postDate": "2022-01-14T17:21:36.427Z",
          "content": "<p>Funny coincidence</p>",
          "rawMarkdown": "Funny coincidence",
          "votes": 1
        },
        {
          "id": 1649925,
          "postDate": "2022-01-14T17:22:56.863Z",
          "content": "<p>You Only Longformer Twice</p>",
          "rawMarkdown": "You Only Longformer Twice"
        }
      ]
    },
    {
      "id": 1657271,
      "postDate": "2022-01-20T04:23:20.987Z",
      "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> I did some testing on the notebook after finding out exactly what augment=True does. According to the yolov5 code, it scales images at 1x, 0.83x (also flips horizontally), and 0.67x. Inferencing at higher resolutions can still pick up bboxes from previous and lower resolutions. Here is some data that might help with augment=False at the same resolutions you tested.</p>\n<pre><code>Resoluton     With Aug.  W/O Aug.\n3600 (1.00x)  LB 0.579 | LB 0.577\n4000 (1.11x)  LB 0.586 | LB 0.583\n4800 (1.33x)  LB 0.590 | LB 0.575\n5600 (1.55x)  LB 0.594 | LB 0.586\n6400 (1.77x)  LB 0.596 | LB 0.597\n7200 (2.00x)  LB 0.603 | LB 0.610\n9000 (2.50x)  LB 0.613 | LB 0.584\n12600(3.50x) LB 0.557 |  ????\n</code></pre>\n<p>Could it be that the model learned the sizes of small, medium, and large cots, was able to find more \"smaller\" ones with higher resolutions? The NMS looks like it helps but it there's still a lot of error. Some F2 testing is needed on the last video for more confirmation.</p>\n<p>One thing this does show: Augment is not a big factor in the public leaderboard score and maybe with a bigger model (Large or medium), we can inference with augment=False for 2/3 reduction in submission time. Hopefully, this helps!</p>",
      "rawMarkdown": "@hengck23 I did some testing on the notebook after finding out exactly what augment=True does. According to the yolov5 code, it scales images at 1x, 0.83x (also flips horizontally), and 0.67x. Inferencing at higher resolutions can still pick up bboxes from previous and lower resolutions. Here is some data that might help with augment=False at the same resolutions you tested.\n\n```\nResoluton     With Aug.  W/O Aug.\n3600 (1.00x)  LB 0.579 | LB 0.577\n4000 (1.11x)  LB 0.586 | LB 0.583\n4800 (1.33x)  LB 0.590 | LB 0.575\n5600 (1.55x)  LB 0.594 | LB 0.586\n6400 (1.77x)  LB 0.596 | LB 0.597\n7200 (2.00x)  LB 0.603 | LB 0.610\n9000 (2.50x)  LB 0.613 | LB 0.584\n12600(3.50x) LB 0.557 |  ????\n```\n\nCould it be that the model learned the sizes of small, medium, and large cots, was able to find more \"smaller\" ones with higher resolutions? The NMS looks like it helps but it there's still a lot of error. Some F2 testing is needed on the last video for more confirmation.\n\nOne thing this does show: Augment is not a big factor in the public leaderboard score and maybe with a bigger model (Large or medium), we can inference with augment=False for 2/3 reduction in submission time. Hopefully, this helps!",
      "votes": 13,
      "replies": [
        {
          "id": 1657285,
          "postDate": "2022-01-20T04:40:02.673Z",
          "content": "<p><a href=\"https://www.kaggle.com/outwrest\" target=\"_blank\">@outwrest</a> this is insightful. Have you noted exact time difference?</p>",
          "rawMarkdown": "@outwrest this is insightful. Have you noted exact time difference?"
        },
        {
          "id": 1657313,
          "postDate": "2022-01-20T05:07:07.573Z",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> I’m not sure exactly, I know the 9000px one ran in under 3h (or just about, not 100% sure). The time should scale with resolution but with Augment=True you are basically running an inference 3 times on every image (albeit at a smaller resolution).</p>",
          "rawMarkdown": "@sanchitvj I’m not sure exactly, I know the 9000px one ran in under 3h (or just about, not 100% sure). The time should scale with resolution but with Augment=True you are basically running an inference 3 times on every image (albeit at a smaller resolution)."
        },
        {
          "id": 1657915,
          "postDate": "2022-01-20T15:24:08.423Z",
          "content": "<p>Model which gave LB of 0.648 is giving LB of 0.384 at incresed image size and No TTA. Inference time is decreased by ~2.5 hrs but poor LB.  </p>",
          "rawMarkdown": "Model which gave LB of 0.648 is giving LB of 0.384 at incresed image size and No TTA. Inference time is decreased by ~2.5 hrs but poor LB.  "
        },
        {
          "id": 1657942,
          "postDate": "2022-01-20T15:44:25.530Z",
          "content": "<p>I haven't tried it on one of the models, I'll try it out later but it looks like the 2.5x sweet spot from the last model is causing too many abnormally small predictions and maybe the NMS was getting rid of a lot of them when using TTA at smaller resolutions? I'm not exactly sure if it helped, but I forgot to mention that I tried to mitigate that by adding this to the inference function:</p>\n<pre><code>area = (int(row.xmax) - int(row.xmin)) * (int(row.ymax) - int(row.ymin))\nif row.confidence &gt; 0.15 and area &gt; 250:\n</code></pre>\n<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> I don't think this can work on everything but I am going to try to experiment with other augmentations on the yolov5 function here:<br>\n<a href=\"https://github.com/ultralytics/yolov5/blob/9708cf56eaead29bce789a07cfe73ecc7d7d4838/models/yolo.py#L128\" target=\"_blank\">https://github.com/ultralytics/yolov5/blob/9708cf56eaead29bce789a07cfe73ecc7d7d4838/models/yolo.py#L128</a><br>\nMaybe inferencing at the same high resolution is good with other TTA's.</p>",
          "rawMarkdown": "I haven't tried it on one of the models, I'll try it out later but it looks like the 2.5x sweet spot from the last model is causing too many abnormally small predictions and maybe the NMS was getting rid of a lot of them when using TTA at smaller resolutions? I'm not exactly sure if it helped, but I forgot to mention that I tried to mitigate that by adding this to the inference function:\n\n```python\narea = (int(row.xmax) - int(row.xmin)) * (int(row.ymax) - int(row.ymin))\nif row.confidence > 0.15 and area > 250:\n```\n\n@sanchitvj I don't think this can work on everything but I am going to try to experiment with other augmentations on the yolov5 function here:\nhttps://github.com/ultralytics/yolov5/blob/9708cf56eaead29bce789a07cfe73ecc7d7d4838/models/yolo.py#L128\nMaybe inferencing at the same high resolution is good with other TTA's.",
          "votes": 2
        },
        {
          "id": 1662190,
          "postDate": "2022-01-24T05:31:41.367Z",
          "content": "<p>In my experiment, inference with 2x resolution boosted LB score, but CV got worse.<br>\nTraining: 2560 (train: video0&amp;2, valid: video1)<br>\nTest inference: 2560→5120<br>\nLB: 0.486-&gt;0.540<br>\nCV: 0.533-&gt;0.473<br>\nHow about your CV? Is it improved??</p>",
          "rawMarkdown": "In my experiment, inference with 2x resolution boosted LB score, but CV got worse.\nTraining: 2560 (train: video0&2, valid: video1)\nTest inference: 2560→5120\nLB: 0.486->0.540\nCV: 0.533->0.473\nHow about your CV? Is it improved??",
          "votes": 2
        }
      ]
    },
    {
      "id": 1648571,
      "postDate": "2022-01-13T14:12:28.370Z",
      "content": "<p>according to the cots dataset paper </p>\n<p>\"We set the GoPro cameras to record videos continuously at 24 frames per second at 3840x2160 resolution and manually removed the periods of no activity between transects\"</p>\n<p>it would be better if kaggle has released the original high resolution image</p>",
      "rawMarkdown": "according to the cots dataset paper \n\n\"We set the GoPro cameras to record videos continuously at 24 frames per second at 3840x2160 resolution and manually removed the periods of no activity between transects\"\n\nit would be better if kaggle has released the original high resolution image",
      "votes": 12,
      "replies": [
        {
          "id": 1648603,
          "postDate": "2022-01-13T14:45:27.463Z",
          "content": "<p>Yeah, I guess host worry that if they release original image this will become a hardware war. Not every guy here have tons of A100s and A6000s</p>",
          "rawMarkdown": "Yeah, I guess host worry that if they release original image this will become a hardware war. Not every guy here have tons of A100s and A6000s",
          "votes": 15
        },
        {
          "id": 1648641,
          "postDate": "2022-01-13T15:09:52.130Z",
          "content": "<p>They probably got good solution, but they throw it on kaggle to find new path to implement on original reso :)</p>",
          "rawMarkdown": "They probably got good solution, but they throw it on kaggle to find new path to implement on original reso :)"
        },
        {
          "id": 1649076,
          "postDate": "2022-01-14T00:15:47.073Z",
          "content": "<p>the application is robotics. for good results (e.g. near zero FP), algorithm should fuse with the path planning or sensor of the robots. as an example:</p>\n<ol>\n<li>for far objects, it is small and low resolution.<br>\nagorithm apporach to improve results is to think of better model or increase resolution or improve quality  of the images</li>\n</ol>\n<p>robotic approach is just to move the robot closer and take a bigger picture of the suspected object  </p>\n<ol>\n<li>as another exmple, if the environment is dark, object is not clear<br>\nagain, agorithm apporach tries to improve model, etc</li>\n</ol>\n<p>robotic approach is just to  increase camera gain to take better picture.</p>",
          "rawMarkdown": "the application is robotics. for good results (e.g. near zero FP), algorithm should fuse with the path planning or sensor of the robots. as an example:\n\n1. for far objects, it is small and low resolution.\nagorithm apporach to improve results is to think of better model or increase resolution or improve quality  of the images\n\nrobotic approach is just to move the robot closer and take a bigger picture of the suspected object  \n\n2. as another exmple, if the environment is dark, object is not clear\nagain, agorithm apporach tries to improve model, etc\n\nrobotic approach is just to  increase camera gain to take better picture.",
          "votes": 3
        },
        {
          "id": 1649123,
          "postDate": "2022-01-14T01:27:24.150Z",
          "content": "<p>Hahaha… You have started this hardware war.😃</p>",
          "rawMarkdown": "Hahaha... You have started this hardware war.😃",
          "votes": 3
        }
      ]
    },
    {
      "id": 1651637,
      "postDate": "2022-01-15T23:09:24.283Z",
      "content": "<p>Does this work on CV as well? I trained a YoloV5m with image size 3000:<br>\nCV= 0.428<br>\nLB=0.652 (inference imsize: 6000)</p>\n<h5>UPDATE:</h5>\n<p>I had a bug in my F2 implementation, the new score:<br>\nCV=0.528 (inference imsize: 3000)</p>",
      "rawMarkdown": "Does this work on CV as well? I trained a YoloV5m with image size 3000:\nCV= 0.428\nLB=0.652 (inference imsize: 6000)\n\n\n##### UPDATE:\nI had a bug in my F2 implementation, the new score:\nCV=0.528 (inference imsize: 3000)",
      "votes": 9,
      "replies": [
        {
          "id": 1652565,
          "postDate": "2022-01-16T18:39:34.397Z",
          "content": "<p>nice! is this CV score F2? with empty images as well maybe? </p>",
          "rawMarkdown": "nice! is this CV score F2? with empty images as well maybe? ",
          "votes": 1
        },
        {
          "id": 1653001,
          "postDate": "2022-01-17T06:55:52.593Z",
          "content": "<p><a href=\"https://www.kaggle.com/amin\" target=\"_blank\">@amin</a> how many epochs you trained ? </p>",
          "rawMarkdown": "@amin how many epochs you trained ? ",
          "votes": 1
        },
        {
          "id": 1653296,
          "postDate": "2022-01-17T12:19:53.097Z",
          "content": "<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> Yes it's F2 score, I am using all the images with the subsequence split from <a href=\"https://www.kaggle.com/julian3833/reef-a-cv-strategy-subsequences\" target=\"_blank\">this notebook</a>, csv file train-0.2.csv<br>\nThe F2 score I report was calculated only at the 0.5 thresh. I retrained Yolov5l6 and calculated F2 over the thresholds 0.3-0.8 and the new CV=0.53 (inf size=3000) LB=0.624 (inf size=6000).</p>\n<p><a href=\"https://www.kaggle.com/seshurajup\" target=\"_blank\">@seshurajup</a> For 15 epochs (best epoch: 8), I tried to replicate the pipeline shared by sheep to compare with the benchmark.</p>",
          "rawMarkdown": "@imeintanis Yes it's F2 score, I am using all the images with the subsequence split from [this notebook](https://www.kaggle.com/julian3833/reef-a-cv-strategy-subsequences), csv file train-0.2.csv\nThe F2 score I report was calculated only at the 0.5 thresh. I retrained Yolov5l6 and calculated F2 over the thresholds 0.3-0.8 and the new CV=0.53 (inf size=3000) LB=0.624 (inf size=6000).\n\n@seshurajup For 15 epochs (best epoch: 8), I tried to replicate the pipeline shared by sheep to compare with the benchmark.",
          "votes": 4
        },
        {
          "id": 1653465,
          "postDate": "2022-01-17T14:54:22.463Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 1653476,
          "postDate": "2022-01-17T15:03:41.250Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> After 6-7 epochs mAP starts to saturates. Can you share which optimizer you are using and also if you using image shear and rotation with Yolov5m?</p>",
          "rawMarkdown": "@amiiiney After 6-7 epochs mAP starts to saturates. Can you share which optimizer you are using and also if you using image shear and rotation with Yolov5m?",
          "votes": 1
        },
        {
          "id": 1653502,
          "postDate": "2022-01-17T15:37:30.580Z",
          "content": "<p>I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear</p>",
          "rawMarkdown": "I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear",
          "votes": 1
        },
        {
          "id": 1656751,
          "postDate": "2022-01-19T15:48:56.553Z",
          "content": "<p>I've done the same as you said, but always failed at epoch 3, things didn't go well😅</p>",
          "rawMarkdown": "I've done the same as you said, but always failed at epoch 3, things didn't go well😅",
          "votes": 1
        },
        {
          "id": 1658096,
          "postDate": "2022-01-20T18:23:59.100Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> which kernel you used to measure CV ? since i am getting CV as 0.522 for same split </p>",
          "rawMarkdown": "@amiiiney which kernel you used to measure CV ? since i am getting CV as 0.522 for same split ",
          "votes": 1
        },
        {
          "id": 1658343,
          "postDate": "2022-01-21T00:28:57.960Z",
          "content": "<p><a href=\"https://www.kaggle.com/w3579628328\" target=\"_blank\">@w3579628328</a> It seems that many people couldn't reproduce sheep's notebook either, I am not sure why is that :) <br>\n<a href=\"https://www.kaggle.com/seshurajup\" target=\"_blank\">@seshurajup</a> I am currently getting the same CV as you for inference size 3000. By CV I mean the F2 validation score per epoch, I calculate F2 by adding this line to the <code>ap_per_class</code> function in utils/metrics.py<br>\n<code>f2 = 5 * p * r / (4 * p + r + 1e-16)</code><br>\nAnd then pass it through the fitness function to compute F2 over the IoU 0.3-0.8 thresholds.<br>\n<img src=\"https://i.ibb.co/yk2f1p5/Screen-Shot-2022-01-21-at-01-21-27.png\" alt=\"\"></p>",
          "rawMarkdown": "@w3579628328 It seems that many people couldn't reproduce sheep's notebook either, I am not sure why is that :) \n@seshurajup I am currently getting the same CV as you for inference size 3000. By CV I mean the F2 validation score per epoch, I calculate F2 by adding this line to the `ap_per_class` function in utils/metrics.py\n```f2 = 5 * p * r / (4 * p + r + 1e-16)```\nAnd then pass it through the fitness function to compute F2 over the IoU 0.3-0.8 thresholds.\n![](https://i.ibb.co/yk2f1p5/Screen-Shot-2022-01-21-at-01-21-27.png)\n",
          "votes": 3
        },
        {
          "id": 1658350,
          "postDate": "2022-01-21T00:34:19.867Z",
          "content": "<p><a href=\"https://www.kaggle.com/Amin\" target=\"_blank\">@Amin</a> Can you please explain what you mean by the fitness function?</p>\n<p>This is all I see in metrics.py for the fitness function:</p>\n<p>def fitness(x):<br>\n    # Model fitness as a weighted combination of metrics<br>\n    w = [0.0, 0.0, 0.1, 0.9]  # weights for [P, R, mAP@0.5, mAP@0.5:0.95]<br>\n    return (x[:, :4] * w).sum(1)</p>",
          "rawMarkdown": "@Amin Can you please explain what you mean by the fitness function?\n\nThis is all I see in metrics.py for the fitness function:\n\ndef fitness(x):\n    # Model fitness as a weighted combination of metrics\n    w = [0.0, 0.0, 0.1, 0.9]  # weights for [P, R, mAP@0.5, mAP@0.5:0.95]\n    return (x[:, :4] * w).sum(1)",
          "votes": 1
        },
        {
          "id": 1658370,
          "postDate": "2022-01-21T01:10:47.623Z",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> so the first step is to add the F2 line of code to ap_per_class function and return the F2 as well:<br>\n<code>return tp, fp, p, r, f2, ap, unique_classes.astype(\"int32\")</code></p>\n<p><strong>STEP 2</strong>: Go to val.py and modify these lines by adding f2:</p>\n<pre><code>tp, fp, p, r, f2, ap, ap_class = ap_per_class(*stats, plot=plots, save_dir=save_dir, names=names)\nap50, ap, f2 = ap[:, 0], ap.mean(1), , f2.mean(1)  # AP@0.5, AP@0.5:0.95, f2@0.3:0.8\nmp, mr, f2, map50, map = p.mean(), r.mean(), f2.mean(), ap50.mean(), ap.mean()\n</code></pre>\n<p>Also change this line:</p>\n<pre><code>iouv = torch.linspace(0.5, 0.95, 10).to(device)  # iou vector for mAP@0.5:0.95\n</code></pre>\n<p>to </p>\n<pre><code>iouv= torch.from_numpy(np.arange(0.3, 0.85, 0.05)).to(device)\n</code></pre>\n<p>and return the f2 score (I return it in the 5th position):</p>\n<pre><code>     return (mp, mr, map50, map, f2, *(loss.cpu() / len(dataloader)).tolist()), maps, t\n</code></pre>\n<p><strong>STEP 3:</strong> In the fitness function in utils/metrics.py add another weights 1.0 in the 5th position (depends on where you put the f2 in the above return) and give the other metrics a weight of 0.0:</p>\n<pre><code>def fitness(x):\n# Model fitness as a weighted combination of metrics\nw = [0.0, 0.0, 0.0, 0.0, 1.0] # weights for [P, R, mAP@0.5, mAP@0.5:0.95, F2@0.3:0.8]\n      return (x[:, :5] * w).sum(1)\n</code></pre>\n<p>To log F2 scores in wandb, add this code in train.py</p>\n<pre><code>            if loggers.wandb:\n                    loggers.wandb.log({\"F2\": fi})  # W&amp;B\n</code></pre>\n<p>You'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable, you can avoid it by returning f2 instead of map50 to keep the same shape of the results.</p>",
          "rawMarkdown": "@ayu055 so the first step is to add the F2 line of code to ap_per_class function and return the F2 as well:\n```return tp, fp, p, r, f2, ap, unique_classes.astype(\"int32\")```\n\n**STEP 2**: Go to val.py and modify these lines by adding f2:\n```\ntp, fp, p, r, f2, ap, ap_class = ap_per_class(*stats, plot=plots, save_dir=save_dir, names=names)\nap50, ap, f2 = ap[:, 0], ap.mean(1), , f2.mean(1)  # AP@0.5, AP@0.5:0.95, f2@0.3:0.8\nmp, mr, f2, map50, map = p.mean(), r.mean(), f2.mean(), ap50.mean(), ap.mean()\n```\n\nAlso change this line:\n```\niouv = torch.linspace(0.5, 0.95, 10).to(device)  # iou vector for mAP@0.5:0.95\n\n```\nto \n```\n\niouv= torch.from_numpy(np.arange(0.3, 0.85, 0.05)).to(device)\n```\nand return the f2 score (I return it in the 5th position):\n```\n     return (mp, mr, map50, map, f2, *(loss.cpu() / len(dataloader)).tolist()), maps, t\n\n```\n\n**STEP 3:** In the fitness function in utils/metrics.py add another weights 1.0 in the 5th position (depends on where you put the f2 in the above return) and give the other metrics a weight of 0.0:\n```\ndef fitness(x):\n# Model fitness as a weighted combination of metrics\nw = [0.0, 0.0, 0.0, 0.0, 1.0] # weights for [P, R, mAP@0.5, mAP@0.5:0.95, F2@0.3:0.8]\n      return (x[:, :5] * w).sum(1)\n```\nTo log F2 scores in wandb, add this code in train.py\n```\n\n            if loggers.wandb:\n                    loggers.wandb.log({\"F2\": fi})  # W&B\n```\nYou'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable, you can avoid it by returning f2 instead of map50 to keep the same shape of the results.",
          "votes": 14
        },
        {
          "id": 1658394,
          "postDate": "2022-01-21T01:49:09.617Z",
          "content": "<p>Thanks, Got it what mistake i am doing </p>",
          "rawMarkdown": "Thanks, Got it what mistake i am doing ",
          "votes": 1
        },
        {
          "id": 1658837,
          "postDate": "2022-01-21T10:51:52.823Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  Can you tell me which batch size did you use with yolov5m?</p>",
          "rawMarkdown": "@amiiiney  Can you tell me which batch size did you use with yolov5m?",
          "votes": 1
        },
        {
          "id": 1658864,
          "postDate": "2022-01-21T11:13:59.737Z",
          "content": "<p>Hey, <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Impressive score. May I know what change you made to get CV 0.528? Are the above-mentioned changes in the yolov5 are correct or not?</p>",
          "rawMarkdown": "Hey, @amiiiney Impressive score. May I know what change you made to get CV 0.528? Are the above-mentioned changes in the yolov5 are correct or not?",
          "votes": 1
        },
        {
          "id": 1658910,
          "postDate": "2022-01-21T12:01:54.523Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> </p>\n<p>do you use Yolo-s or L? (FYI sheep's is with <code>s6</code>, <code>--weights yolov5s6.pt</code>)  </p>\n<blockquote>\n  <p>You'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable</p>\n</blockquote>\n<p>as long as <code>x, w</code> mult is valid and <code>fitness(x)</code> returns a single value should work OK.</p>",
          "rawMarkdown": "@amiiiney \n\ndo you use Yolo-s or L? (FYI sheep's is with `s6`, `--weights yolov5s6.pt`)  \n\n>You'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable\n\nas long as `x, w` mult is valid and `fitness(x)` returns a single value should work OK.",
          "votes": 1
        },
        {
          "id": 1658913,
          "postDate": "2022-01-21T12:03:18.470Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> thanks for sharing this, solved my errors. <a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> the above modifications are correct. There are some more modifications which can be done in order to log and visualize F2 score metrics on <code>wandb</code> while training. I will be sharing that in a new post….maybe beneficial for everyone in this competition. </p>",
          "rawMarkdown": "@amiiiney thanks for sharing this, solved my errors. @morizin the above modifications are correct. There are some more modifications which can be done in order to log and visualize F2 score metrics on `wandb` while training. I will be sharing that in a new post....maybe beneficial for everyone in this competition. ",
          "votes": 1
        },
        {
          "id": 1658950,
          "postDate": "2022-01-21T12:29:42.723Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Thanks for such an in-depth explanation. I was able to modify the code. I think I just had to make some changes in one of the callbacks so that it would log all metrics. </p>",
          "rawMarkdown": "@amiiiney Thanks for such an in-depth explanation. I was able to modify the code. I think I just had to make some changes in one of the callbacks so that it would log all metrics. ",
          "votes": 1
        },
        {
          "id": 1658969,
          "postDate": "2022-01-21T12:47:51.397Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> can u plz tell where extact in train.py changes needed. I am getting error and I am not able to solve it</p>",
          "rawMarkdown": "@amiiiney can u plz tell where extact in train.py changes needed. I am getting error and I am not able to solve it"
        },
        {
          "id": 1658971,
          "postDate": "2022-01-21T12:49:18.950Z",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> hi, Which batch size did you use in training</p>",
          "rawMarkdown": "@sanchitvj hi, Which batch size did you use in training",
          "votes": 1
        },
        {
          "id": 1658986,
          "postDate": "2022-01-21T13:15:28.797Z",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> What error are you getting?</p>",
          "rawMarkdown": "@anshulkhadse What error are you getting?"
        },
        {
          "id": 1659002,
          "postDate": "2022-01-21T13:31:46.940Z",
          "content": "<p><a href=\"https://www.kaggle.com/nochanged\" target=\"_blank\">@nochanged</a> I used batch size of 2, batch size of 1 with higher resolution is too slow.</p>\n<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> I hope this is correct and I am not misleading anybody :))) The bug I had before was related to computing F2 only at the 0.5 threshold, not averaging over 0.3:0.8 thresholds. The new CV looks reasonable now given that my best model would score 0.5x on LB with inference size of 3000 instead of 6000.</p>\n<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> I am using yolov5m6 weights, the only thing I am doing different to sheep is saving the weights based on F2 instead of mAP</p>",
          "rawMarkdown": "@nochanged I used batch size of 2, batch size of 1 with higher resolution is too slow.\n\n@morizin I hope this is correct and I am not misleading anybody :))) The bug I had before was related to computing F2 only at the 0.5 threshold, not averaging over 0.3:0.8 thresholds. The new CV looks reasonable now given that my best model would score 0.5x on LB with inference size of 3000 instead of 6000.\n\n@imeintanis I am using yolov5m6 weights, the only thing I am doing different to sheep is saving the weights based on F2 instead of mAP",
          "votes": 3
        },
        {
          "id": 1659008,
          "postDate": "2022-01-21T13:40:11.087Z",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> and <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  I am getting errors in train.py file while computing in val.py file at end on epoch 1<br>\n<a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> can u also tell change in train.py files</p>",
          "rawMarkdown": "@ayu055 and @amiiiney  I am getting errors in train.py file while computing in val.py file at end on epoch 1\n@amiiiney can u also tell change in train.py files"
        },
        {
          "id": 1659010,
          "postDate": "2022-01-21T13:41:26.397Z",
          "content": "<p>What is the difference between the five fold csv file and the 0.2 csv? Is there any advantage to using one over the other?</p>",
          "rawMarkdown": "What is the difference between the five fold csv file and the 0.2 csv? Is there any advantage to using one over the other?"
        },
        {
          "id": 1659014,
          "postDate": "2022-01-21T13:45:18.477Z",
          "content": "<p><a href=\"https://www.kaggle.com/deptraicute\" target=\"_blank\">@deptraicute</a> I am using batch_size of 4 with small models and resolution of 3000.<br>\n<a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> solution for that errors on the way :)</p>",
          "rawMarkdown": "@deptraicute I am using batch_size of 4 with small models and resolution of 3000.\n@anshulkhadse solution for that errors on the way :)",
          "votes": 1
        },
        {
          "id": 1659017,
          "postDate": "2022-01-21T13:48:38.680Z",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> Thanks you!</p>",
          "rawMarkdown": "@sanchitvj Thanks you!"
        },
        {
          "id": 1659027,
          "postDate": "2022-01-21T13:58:50.620Z",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> You have to update the callbacks to fit the new metrics, it seems <a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> is preparing a solution for this :) </p>",
          "rawMarkdown": "@anshulkhadse You have to update the callbacks to fit the new metrics, it seems @sanchitvj is preparing a solution for this :) ",
          "votes": 2
        },
        {
          "id": 1659031,
          "postDate": "2022-01-21T14:02:32.963Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> I trained like 14 epochs or something but I still reach like 0.49x</p>",
          "rawMarkdown": "@amiiiney I trained like 14 epochs or something but I still reach like 0.49x",
          "votes": 1
        },
        {
          "id": 1659072,
          "postDate": "2022-01-21T14:30:07.037Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> for this model, what IOU and Confidence u used while inference?<br>\n CV=0.528 (inference imsize: 3000)<br>\nLB= 0.652 (inference imsize: 6000)</p>",
          "rawMarkdown": "@amiiiney for this model, what IOU and Confidence u used while inference?\n CV=0.528 (inference imsize: 3000)\nLB= 0.652 (inference imsize: 6000)",
          "votes": 1
        },
        {
          "id": 1659079,
          "postDate": "2022-01-21T14:34:23.657Z",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> <a href=\"https://www.kaggle.com/deptraicute\" target=\"_blank\">@deptraicute</a> <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> solution out <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302241\" target=\"_blank\">here</a> :))</p>",
          "rawMarkdown": "@anshulkhadse @deptraicute @amiiiney solution out [here](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302241) :))",
          "votes": 2
        },
        {
          "id": 1659121,
          "postDate": "2022-01-21T15:07:39.370Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> Did you use the same CV split I mentioned above? I am retraining the yolov5m6 again, I will report the F2 scores again once training is done</p>\n<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> I used the same inference notebook shared by sheep, I didn't modify it.</p>",
          "rawMarkdown": "@morizin Did you use the same CV split I mentioned above? I am retraining the yolov5m6 again, I will report the F2 scores again once training is done\n\n@anshulkhadse I used the same inference notebook shared by sheep, I didn't modify it.",
          "votes": 1
        },
        {
          "id": 1659150,
          "postDate": "2022-01-21T15:21:59.223Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  thanks to share the info…<br>\nits quite weird that we cant able to reproduce results🤣</p>",
          "rawMarkdown": "@amiiiney  thanks to share the info...\nits quite weird that we cant able to reproduce results🤣",
          "votes": 1
        },
        {
          "id": 1659190,
          "postDate": "2022-01-21T16:06:47.353Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Thank you. yes, i am using the same split!</p>",
          "rawMarkdown": "@amiiiney Thank you. yes, i am using the same split!",
          "votes": 1
        },
        {
          "id": 1659254,
          "postDate": "2022-01-21T16:34:40.063Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> What is the difference between the five fold csv file and the 0.2 csv? Is there any reason you chose one over the other?</p>",
          "rawMarkdown": "@amiiiney What is the difference between the five fold csv file and the 0.2 csv? Is there any reason you chose one over the other?",
          "votes": 1
        },
        {
          "id": 1659291,
          "postDate": "2022-01-21T17:15:56.370Z",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> There is no specific reason I chose it :) I just picked it to have the same split as my teammates for benchmarking. The author of the split notebook used StratifiedKFold for both 0.2csv and 5folds, so there shouldn't be much difference between them.</p>",
          "rawMarkdown": "@ayu055 There is no specific reason I chose it :) I just picked it to have the same split as my teammates for benchmarking. The author of the split notebook used StratifiedKFold for both 0.2csv and 5folds, so there shouldn't be much difference between them."
        },
        {
          "id": 1659723,
          "postDate": "2022-01-22T04:31:31.057Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> are u using only annotated images or with annotated all non-annotated images as well?</p>",
          "rawMarkdown": "@amiiiney are u using only annotated images or with annotated all non-annotated images as well?"
        },
        {
          "id": 1659933,
          "postDate": "2022-01-22T08:23:44.050Z",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Did you check your LB at size 3000 with yolov5m?</p>",
          "rawMarkdown": "@amiiiney Did you check your LB at size 3000 with yolov5m?"
        },
        {
          "id": 1660399,
          "postDate": "2022-01-22T16:41:51.083Z",
          "content": "<blockquote>\n  <p>Yes it's F2 score, I am using all the images with the subsequence split from this notebook, csv file train-0.2.csv</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Do you filter out the images with no bounding boxes before training?</p>\n<blockquote>\n  <p>I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear</p>\n</blockquote>\n<p>Are the default parameters the ones found in hyp.scratch.yaml?</p>",
          "rawMarkdown": "> Yes it's F2 score, I am using all the images with the subsequence split from this notebook, csv file train-0.2.csv\n\n@amiiiney Do you filter out the images with no bounding boxes before training?\n\n> I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear\n\nAre the default parameters the ones found in hyp.scratch.yaml?"
        }
      ]
    },
    {
      "id": 1653346,
      "postDate": "2022-01-17T13:06:29.077Z",
      "content": "<p>Any one can reproduce the training notebook of yolov5s6, 3600 with 15 epoch? I can only get 0.48 for lb, and cv(on video 1) is also much lower than sheep big brother. </p>",
      "rawMarkdown": "Any one can reproduce the training notebook of yolov5s6, 3600 with 15 epoch? I can only get 0.48 for lb, and cv(on video 1) is also much lower than sheep big brother. ",
      "votes": 10,
      "replies": [
        {
          "id": 1653402,
          "postDate": "2022-01-17T13:53:53.820Z",
          "content": "<p>Not sure why the downvote ,but yes , i could not reproduce it exactly although not as low as you ,but surely not .579 . Not sure what is going on . My CV was exactly same as sheep though . </p>",
          "rawMarkdown": "Not sure why the downvote ,but yes , i could not reproduce it exactly although not as low as you ,but surely not .579 . Not sure what is going on . My CV was exactly same as sheep though . ",
          "votes": 3
        },
        {
          "id": 1653522,
          "postDate": "2022-01-17T15:57:30.293Z",
          "content": "<p>I believe the split used on the training notebook is different compared to what the 0.579 model was trained on. I speculate this based on the filename for the weights (it says fold 12). Maybe it was trained on the 12th fold of the 20 fold subseq split?</p>",
          "rawMarkdown": "I believe the split used on the training notebook is different compared to what the 0.579 model was trained on. I speculate this based on the filename for the weights (it says fold 12). Maybe it was trained on the 12th fold of the 20 fold subseq split?",
          "votes": 2
        },
        {
          "id": 1653544,
          "postDate": "2022-01-17T16:20:46.777Z",
          "content": "<p>No when you run the same experiment multiple times in Yolo5 it will append a sequence number at the end of the experiment folder . e.g run1,run2, run3  etc so fold1 became fold12 in second run ..this is my theory </p>",
          "rawMarkdown": "No when you run the same experiment multiple times in Yolo5 it will append a sequence number at the end of the experiment folder . e.g run1,run2, run3  etc so fold1 became fold12 in second run ..this is my theory ",
          "votes": 3
        },
        {
          "id": 1653599,
          "postDate": "2022-01-17T17:15:46.690Z",
          "content": "<p>I can't also get the same results. When I trained on the same train split and same hyberparameters I got only 0.48 LB</p>",
          "rawMarkdown": "I can't also get the same results. When I trained on the same train split and same hyberparameters I got only 0.48 LB"
        },
        {
          "id": 1654080,
          "postDate": "2022-01-18T06:06:01.887Z",
          "content": "<p>I use this cmd for local training</p>\n<pre><code>python train.py --img 3600 --batch 4 --epochs 15 --data reef_f1_naive.yaml --weights yolov5s6.pt --name l6_3600_uflip_vm5_f1 --hyp data/hyps/hyp.heavy.2.yaml\n</code></pre>\n<p>I am not sure the cause of the reproduction issue.</p>",
          "rawMarkdown": "I use this cmd for local training\n```\npython train.py --img 3600 --batch 4 --epochs 15 --data reef_f1_naive.yaml --weights yolov5s6.pt --name l6_3600_uflip_vm5_f1 --hyp data/hyps/hyp.heavy.2.yaml\n```\nI am not sure the cause of the reproduction issue.",
          "votes": 3
        },
        {
          "id": 1654109,
          "postDate": "2022-01-18T06:49:43.427Z",
          "content": "<p>failed to reproduce. +1</p>",
          "rawMarkdown": "failed to reproduce. +1",
          "votes": 1
        },
        {
          "id": 1654115,
          "postDate": "2022-01-18T07:05:12.523Z",
          "content": "<p>Forget about <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> 's model , i cant reproduce my own models …lol</p>",
          "rawMarkdown": "Forget about @steamedsheep 's model , i cant reproduce my own models ...lol",
          "votes": 7
        },
        {
          "id": 1654117,
          "postDate": "2022-01-18T07:14:12.360Z",
          "content": "<p>I got 0.567 with batch=1 due to GPU limit.</p>",
          "rawMarkdown": "I got 0.567 with batch=1 due to GPU limit."
        },
        {
          "id": 1654119,
          "postDate": "2022-01-18T07:20:21.760Z",
          "content": "<p>batch_size=1 won't give good results because Yolos use batch norm (sync BN).</p>",
          "rawMarkdown": "batch_size=1 won't give good results because Yolos use batch norm (sync BN).",
          "votes": 1
        },
        {
          "id": 1654183,
          "postDate": "2022-01-18T08:48:20.847Z",
          "content": "<p>They also use Gradient Accumulation and adjusts weight decay based on batch size </p>",
          "rawMarkdown": "They also use Gradient Accumulation and adjusts weight decay based on batch size ",
          "votes": 4
        },
        {
          "id": 1654254,
          "postDate": "2022-01-18T10:50:24.717Z",
          "content": "<p>batch_size=1 is not giving a good result and batch_size&gt;1 is giving an error on GPU on kaggle. I am not sure if we need to move to another platform or I made a mistake.</p>",
          "rawMarkdown": "batch_size=1 is not giving a good result and batch_size>1 is giving an error on GPU on kaggle. I am not sure if we need to move to another platform or I made a mistake.\n"
        },
        {
          "id": 1654266,
          "postDate": "2022-01-18T11:08:34.727Z",
          "content": "<p>train on cropped images are better solution then accumulated gradient. you have variation from different images and your bn statistics will be more stable</p>",
          "rawMarkdown": "train on cropped images are better solution then accumulated gradient. you have variation from different images and your bn statistics will be more stable",
          "votes": 5
        },
        {
          "id": 1654322,
          "postDate": "2022-01-18T11:41:08.133Z",
          "content": "<p>\"I am not sure the cause of the reproduction issue.\"</p>\n<p>training objection detection can be unstable if the number of annotation is few and the data is difficult.<br>\nimagine you have a batch of 8 images with 8 truth bbox, verus another batch with 32 truth bbox.</p>\n<p>loss may changes from batch to batch.</p>\n<p>a soultion is to modified your sampler os that num of bbox per batch is fairly constant. but this is difficult becuase augmentation also changes number of true bbox (e.g. when you scale image, boxes become too small are ignore)</p>\n<p>this is also why when you check the code of the loss for object detection, they are normalised by number of truth object</p>",
          "rawMarkdown": "\"I am not sure the cause of the reproduction issue.\"\n\ntraining objection detection can be unstable if the number of annotation is few and the data is difficult.\nimagine you have a batch of 8 images with 8 truth bbox, verus another batch with 32 truth bbox.\n\nloss may changes from batch to batch.\n\n\na soultion is to modified your sampler os that num of bbox per batch is fairly constant. but this is difficult becuase augmentation also changes number of true bbox (e.g. when you scale image, boxes become too small are ignore)\n\nthis is also why when you check the code of the loss for object detection, they are normalised by number of truth object",
          "votes": 6
        },
        {
          "id": 1654447,
          "postDate": "2022-01-18T14:20:48.557Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> So is it a better idea to train on smaller image sizes with larger batch sizes?</p>",
          "rawMarkdown": "@hengck23 So is it a better idea to train on smaller image sizes with larger batch sizes?"
        },
        {
          "id": 1654642,
          "postDate": "2022-01-18T17:22:14.300Z",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>. I think you did something on the source code, perhaps. because when I looked into your weights. you cropped all the information of epoch number and the best_fitness score and also a couple of values. I may ask: have you done it to reduce the file size? I guess it won't reduce much</p>",
          "rawMarkdown": "@steamedsheep. I think you did something on the source code, perhaps. because when I looked into your weights. you cropped all the information of epoch number and the best_fitness score and also a couple of values. I may ask: have you done it to reduce the file size? I guess it won't reduce much",
          "votes": 1
        },
        {
          "id": 1656024,
          "postDate": "2022-01-19T03:44:27.600Z",
          "content": "<p>I did NOTHING on source code, It is yolov5's host who decide only to save the model weight on <code>weights/best.pt</code>, If you still have some question on this, It is better for you to run some demo code and check the weight first.</p>",
          "rawMarkdown": "I did NOTHING on source code, It is yolov5's host who decide only to save the model weight on `weights/best.pt`, If you still have some question on this, It is better for you to run some demo code and check the weight first.",
          "votes": 3
        },
        {
          "id": 1656621,
          "postDate": "2022-01-19T13:40:54.983Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> …. it's true that <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>  doe not do anything with its weight file..and u are also correct at ur position is that why u are notable able to see model training details on the trained model… the reason is that in YOLOv5 when u trained ur model at the end of training it does striping of the model weight file it means it deletes model optimizer states and along with that it also removes the information about for many epoch ur models is trained on….the reason for this is keeping optimizer states in model inferencing is no used and it unnecessarily increases the weight file size that's why this stripping is done…it will reduce the weight file size</p>\n<p>Striping comes with some drawbacks also that u can't really much fine-tune the same weight file due to the absence of optimizer state…and due to stripping model weight file size gets changed with same initials pre-trained weights.</p>",
          "rawMarkdown": "@morizin .... it's true that @steamedsheep  doe not do anything with its weight file..and u are also correct at ur position is that why u are notable able to see model training details on the trained model... the reason is that in YOLOv5 when u trained ur model at the end of training it does striping of the model weight file it means it deletes model optimizer states and along with that it also removes the information about for many epoch ur models is trained on....the reason for this is keeping optimizer states in model inferencing is no used and it unnecessarily increases the weight file size that's why this stripping is done...it will reduce the weight file size\n\nStriping comes with some drawbacks also that u can't really much fine-tune the same weight file due to the absence of optimizer state...and due to stripping model weight file size gets changed with same initials pre-trained weights.\n",
          "votes": 1
        },
        {
          "id": 1658617,
          "postDate": "2022-01-21T07:07:46.763Z",
          "content": "<p>Thank you! <a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> and Sorry <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> </p>",
          "rawMarkdown": "Thank you! @anshulkhadse and Sorry @steamedsheep ",
          "votes": 1
        }
      ]
    },
    {
      "id": 1649263,
      "postDate": "2022-01-14T06:24:06.817Z",
      "content": "<p>4k is always better than 1080p 😆</p>",
      "rawMarkdown": "4k is always better than 1080p 😆",
      "votes": 5
    },
    {
      "id": 1653223,
      "postDate": "2022-01-17T11:15:29.017Z",
      "content": "<p>i want to study more about lb metric and the reasons and effects of doing inference at higher resolution.<br>\nanyone has local CV (validation set = video1) at 3600 for the given model  '../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt' ?</p>\n<p>I am getting around 0.57 for local CV</p>",
      "rawMarkdown": "i want to study more about lb metric and the reasons and effects of doing inference at higher resolution.\nanyone has local CV (validation set = video1) at 3600 for the given model  '../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt' ?\n\nI am getting around 0.57 for local CV",
      "votes": 5,
      "replies": [
        {
          "id": 1653451,
          "postDate": "2022-01-17T14:36:59.953Z",
          "content": "<p>Your CV is very similiar to mine.</p>",
          "rawMarkdown": "Your CV is very similiar to mine.",
          "votes": 1
        },
        {
          "id": 1653580,
          "postDate": "2022-01-17T16:58:18.820Z",
          "content": "<p>How do you calculate the CV? And this is f2 score right? I was getting <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res#F2-Score-Helpers\" target=\"_blank\">0.69 at image size =3600 </a> for sheeps model </p>",
          "rawMarkdown": "How do you calculate the CV? And this is f2 score right? I was getting [0.69 at image size =3600 ](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res#F2-Score-Helpers) for sheeps model "
        },
        {
          "id": 1653683,
          "postDate": "2022-01-17T19:35:44.663Z",
          "content": "<p>I got about the same on CV <code>0.69x at img size=3600, conf 0.1</code> (~2100 images with annot)</p>\n<p>EDIT: maybe the <code>0.57</code> is for all images including empty ones (8232 images, 6133 empty) ?</p>",
          "rawMarkdown": "I got about the same on CV `0.69x at img size=3600, conf 0.1` (~2100 images with annot)\n\nEDIT: maybe the `0.57` is for all images including empty ones (8232 images, 6133 empty) ?"
        },
        {
          "id": 1654025,
          "postDate": "2022-01-18T04:27:49.090Z",
          "content": "<p>IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</p>\n<p>i thinnk there is a bug in <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook</a></p>\n<p>(it reported CV of 0.69)</p>\n<p><a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/comments\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/comments</a></p>\n<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> , I think there is a bug in your code:</p>\n<ul>\n<li>you use +1 in computation of the area</li>\n</ul>\n<pre><code>boxAArea = (x12 - x11 + 1) * (y12 - y11 + 1)\nboxBArea = (x22 - x21 + 1) * (y22 - y21 + 1)\n</code></pre>\n<ul>\n<li>but you used gt_bboxs_list, prd_bboxs_list which are normalised coordinates in the range of 0,1</li>\n</ul>\n<hr>\n<p>would the host evaluation code also have such bug ???</p>",
          "rawMarkdown": "IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\ni thinnk there is a bug in https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\n\n(it reported CV of 0.69)\n\nhttps://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/comments\n\n@ferlockx , I think there is a bug in your code:\n\n- you use +1 in computation of the area\n\n```\nboxAArea = (x12 - x11 + 1) * (y12 - y11 + 1)\nboxBArea = (x22 - x21 + 1) * (y22 - y21 + 1)\n\n```\n\n- but you used gt_bboxs_list, prd_bboxs_list which are normalised coordinates in the range of 0,1\n\n---\n\nwould the host evaluation code also have such bug ???",
          "votes": 7
        },
        {
          "id": 1654033,
          "postDate": "2022-01-18T04:42:33.930Z",
          "content": "<p>i spend a whole day catching the bug and has other interesting findings. let's denote</p>\n<p>(a) <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook</a><br>\n(b) <a href=\"https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need</a></p>\n<ol>\n<li><p>in particular, (a) is based on val.py which use dataset and dataloader. there is padding of 114 for input images (i think the train also uses pad of 114?). it improves slightly detection of cots objects at the boundary. (b) uses image directly (or a pad of zero values).</p></li>\n<li><p>(b) incudes test time augmentation in submission. (a) is evaluation without augmentation</p></li>\n<li><p>both (a) and (b) uses different input size becuase of the padding of 114. the resizing function is also different. (a) uses opencv resize, (b) uses torch F.interpolate.</p></li>\n</ol>\n<p>3600 is not multiple of 64 (max stride of yolov5ms model). the code uses another size actually</p>\n<h2>4. the most important one! </h2>\n<p>if you are using (a), you would get the best f2 score for the lowest confidence threshold. you can even go as low as 0.01. this is becuase the evaluation only include non-empty images (i.e.  those without ground truth annotations only).</p>\n<p>i think the public test set has few empty images. this is why as long as you improve recall, you have increase in lb score</p>",
          "rawMarkdown": "i spend a whole day catching the bug and has other interesting findings. let's denote\n\n(a) https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\n(b) https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need\n \n1. in particular, (a) is based on val.py which use dataset and dataloader. there is padding of 114 for input images (i think the train also uses pad of 114?). it improves slightly detection of cots objects at the boundary. (b) uses image directly (or a pad of zero values).\n\n2. (b) incudes test time augmentation in submission. (a) is evaluation without augmentation\n\n3. both (a) and (b) uses different input size becuase of the padding of 114. the resizing function is also different. (a) uses opencv resize, (b) uses torch F.interpolate.\n\n3600 is not multiple of 64 (max stride of yolov5ms model). the code uses another size actually\n\n4. the most important one! \n---\n\nif you are using (a), you would get the best f2 score for the lowest confidence threshold. you can even go as low as 0.01. this is becuase the evaluation only include non-empty images (i.e.  those without ground truth annotations only).\n\ni think the public test set has few empty images. this is why as long as you improve recall, you have increase in lb score",
          "votes": 10
        },
        {
          "id": 1654086,
          "postDate": "2022-01-18T06:14:58.340Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> you should use val.py with full fold with empty images, otherwise its wrong.</p>",
          "rawMarkdown": "@hengck23 you should use val.py with full fold with empty images, otherwise its wrong.",
          "votes": 1
        },
        {
          "id": 1654101,
          "postDate": "2022-01-18T06:34:43.683Z",
          "content": "<p>thanks for spending time on reviewing the CV notebook <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> most of the helper functions were taken from the first reference and I did not review the bbox area calculation part. I'll correct it in the next version. </p>\n<p>I think in one of runs using -augment call of yolo val script was not improving results so I did not include it in the saved versions. </p>\n<p>I think that the 4th point you mention was only true for the models which have been made public by sheep. In my own runs with some models, upsizing and then using higher thresholds was giving significant CV boost (even though this was without empty images). </p>\n<p>In runs with 0 annotation images I think that we can discard all \"small area\"(arbitrarily chosen as 800 or 1000) boxes under threshold 0.4-0.5 so that we don't have lot's of false positive small bbox predictions. I tested this technique suggested by hengck on LB and it was indeed boosting by ~0.005-0.01.</p>\n<p>Thanks Lukas I'll do a run with all data in vid 1 as val to get the accurate CV. I was resisting doing on Kaggle since it's compute expensive to run on a lot of images and that too testing with different sizes so I'll try locally on Colab. </p>",
          "rawMarkdown": "thanks for spending time on reviewing the CV notebook @hengck23 most of the helper functions were taken from the first reference and I did not review the bbox area calculation part. I'll correct it in the next version. \n\nI think in one of runs using -augment call of yolo val script was not improving results so I did not include it in the saved versions. \n\nI think that the 4th point you mention was only true for the models which have been made public by sheep. In my own runs with some models, upsizing and then using higher thresholds was giving significant CV boost (even though this was without empty images). \n\nIn runs with 0 annotation images I think that we can discard all \"small area\"(arbitrarily chosen as 800 or 1000) boxes under threshold 0.4-0.5 so that we don't have lot's of false positive small bbox predictions. I tested this technique suggested by hengck on LB and it was indeed boosting by ~0.005-0.01.\n\nThanks Lukas I'll do a run with all data in vid 1 as val to get the accurate CV. I was resisting doing on Kaggle since it's compute expensive to run on a lot of images and that too testing with different sizes so I'll try locally on Colab. "
        },
        {
          "id": 1654346,
          "postDate": "2022-01-18T11:49:25.203Z",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>  Thanks for the notebook and your valuable input <br>\nAfter making the necessary suggested modification : <br>\nSheep's code CV : 0.574 LB :0.578 <a href=\"https://www.kaggle.com/3600\" target=\"_blank\">@3600</a> <br>\nA Version of my Checkpoint CV : 0.536 LB : 0.563 <a href=\"https://www.kaggle.com/3600\" target=\"_blank\">@3600</a> <br>\nSame version of my checkpoint CV : 0.582 LB: (yet to check )  <a href=\"https://www.kaggle.com/4000\" target=\"_blank\">@4000</a></p>\n<p>I used val.py with --augment parameter </p>\n<p>Not making the notebook public as I did minimal modification from the original published by Aditya.</p>",
          "rawMarkdown": "@ferlockx @hengck23  Thanks for the notebook and your valuable input \nAfter making the necessary suggested modification : \nSheep's code CV : 0.574 LB :0.578 @3600 \nA Version of my Checkpoint CV : 0.536 LB : 0.563 @3600 \nSame version of my checkpoint CV : 0.582 LB: (yet to check )  @4000\n\nI used val.py with --augment parameter \n\nNot making the notebook public as I did minimal modification from the original published by Aditya."
        },
        {
          "id": 1654382,
          "postDate": "2022-01-18T12:59:22.607Z",
          "content": "<p>For me, my yolov5 scores 0.66 with pure video_1 validation(including empty images)</p>",
          "rawMarkdown": "For me, my yolov5 scores 0.66 with pure video_1 validation(including empty images)"
        },
        {
          "id": 1654396,
          "postDate": "2022-01-18T13:17:21.633Z",
          "content": "<p>Sheep's code ? If not May be you should submit it :D</p>",
          "rawMarkdown": "Sheep's code ? If not May be you should submit it :D"
        },
        {
          "id": 1654471,
          "postDate": "2022-01-18T14:53:26.717Z",
          "content": "<p>Yaa, I would. My model doesn't love enlarging images. In img_size 4800, giving 0.5x or something strange. It doesn't detect much in larger image sizes.</p>",
          "rawMarkdown": "Yaa, I would. My model doesn't love enlarging images. In img_size 4800, giving 0.5x or something strange. It doesn't detect much in larger image sizes.",
          "votes": 1
        },
        {
          "id": 1654608,
          "postDate": "2022-01-18T16:59:08.980Z",
          "content": "<p><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> When you say CV score, do you refer to the F2 score or the mAP across 0.3:0.8 IOU thresholds?</p>\n<p>If it is F2, do you calculate this in val.py using the mean precision and recall that is already calculated?</p>",
          "rawMarkdown": "@phoenix9032 When you say CV score, do you refer to the F2 score or the mAP across 0.3:0.8 IOU thresholds?\n\nIf it is F2, do you calculate this in val.py using the mean precision and recall that is already calculated?"
        },
        {
          "id": 1654638,
          "postDate": "2022-01-18T17:17:25.593Z",
          "content": "<p>Sorry for informing the false score. unfortunately i found a bug in my code and i am just updating the CV score here.  its 0.602 F2 score</p>\n<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> you can use this <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">notebook</a> . there are some few changes are required which is described in these comments</p>",
          "rawMarkdown": "Sorry for informing the false score. unfortunately i found a bug in my code and i am just updating the CV score here.  its 0.602 F2 score\n\n@ayu055 you can use this [notebook](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook) . there are some few changes are required which is described in these comments\n",
          "votes": 1
        },
        {
          "id": 1654645,
          "postDate": "2022-01-18T17:26:15.990Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> Still its quite good local CV for lower image size  ..But i have not tested the local CV for many cases, may be once you submit you will know about your model too … <a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> , Rizin is right ..</p>",
          "rawMarkdown": "@morizin Still its quite good local CV for lower image size  ..But i have not tested the local CV for many cases, may be once you submit you will know about your model too ... @ayu055 , Rizin is right .."
        },
        {
          "id": 1654748,
          "postDate": "2022-01-18T18:59:57.900Z",
          "content": "<p>So do you not calculate F2 score while training and only at the end on validation?</p>",
          "rawMarkdown": "So do you not calculate F2 score while training and only at the end on validation?"
        },
        {
          "id": 1654749,
          "postDate": "2022-01-18T19:01:08.390Z",
          "content": "<p>Yes that is correct , for now.</p>",
          "rawMarkdown": "Yes that is correct , for now."
        },
        {
          "id": 1656357,
          "postDate": "2022-01-19T09:41:26.253Z",
          "content": "<p>Can someone explain the changes to be made in this <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">notebook</a> to calculate the proper cv score.</p>",
          "rawMarkdown": "Can someone explain the changes to be made in this [notebook](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook) to calculate the proper cv score."
        },
        {
          "id": 1657380,
          "postDate": "2022-01-20T06:27:32.460Z",
          "rawMarkdown": "",
          "isDeleted": true
        },
        {
          "id": 1665208,
          "postDate": "2022-01-26T16:45:07.527Z",
          "content": "<p>my best score with video1 is 0.624, without TTA</p>",
          "rawMarkdown": "my best score with video1 is 0.624, without TTA"
        }
      ]
    },
    {
      "id": 1654106,
      "postDate": "2022-01-18T06:45:38.463Z",
      "content": "<p>In fact, there is nothing to be sorry about. The purpose of this community is to use AI technology to solve industrial problems. Sharing good ideas can improve the performance of final solutions, and they are not shared near the deadline. I don't think there's anything wrong. Although some people feel that the experience is getting worse, others feel that the experience is getting better, such as me.</p>",
      "rawMarkdown": "In fact, there is nothing to be sorry about. The purpose of this community is to use AI technology to solve industrial problems. Sharing good ideas can improve the performance of final solutions, and they are not shared near the deadline. I don't think there's anything wrong. Although some people feel that the experience is getting worse, others feel that the experience is getting better, such as me.",
      "votes": 3
    },
    {
      "id": 1649248,
      "postDate": "2022-01-14T05:47:58.817Z",
      "content": "<p>thanks a lot, sheep big old and frog god</p>",
      "rawMarkdown": "thanks a lot, sheep big old and frog god",
      "votes": 3
    },
    {
      "id": 1654267,
      "postDate": "2022-01-18T11:08:58.040Z",
      "content": "<p>Anyone tried submitting Yolov5X6 (largest model). My inference <br>\nWith img size:</p>\n<ul>\n<li>6000 -&gt; timeout</li>\n<li>8400 -&gt; timeout</li>\n</ul>",
      "rawMarkdown": "Anyone tried submitting Yolov5X6 (largest model). My inference \nWith img size:\n- 6000 -> timeout\n- 8400 -> timeout",
      "votes": 1,
      "replies": [
        {
          "id": 1657383,
          "postDate": "2022-01-20T06:30:03.253Z",
          "content": "<p>unable to train due to limit of GPU😭</p>",
          "rawMarkdown": "unable to train due to limit of GPU😭",
          "votes": 1
        },
        {
          "id": 1657399,
          "postDate": "2022-01-20T06:43:22.760Z",
          "content": "<p><a href=\"https://www.kaggle.com/rainfalllove\" target=\"_blank\">@rainfalllove</a> don't worry large models aren't performing good anyways. I am performing experiment with all the models and will be clearing this in my post by next week.</p>",
          "rawMarkdown": "@rainfalllove don't worry large models aren't performing good anyways. I am performing experiment with all the models and will be clearing this in my post by next week."
        },
        {
          "id": 1657691,
          "postDate": "2022-01-20T11:54:49.143Z",
          "content": "<p>okay, I'm looking forward to it .</p>",
          "rawMarkdown": "okay, I'm looking forward to it ."
        },
        {
          "id": 1658939,
          "postDate": "2022-01-21T12:24:28.817Z",
          "content": "<p>I timed out with img_size=5600 so you're not alone. But it might be due to my own fault, due to messed up model. </p>",
          "rawMarkdown": "I timed out with img_size=5600 so you're not alone. But it might be due to my own fault, due to messed up model. "
        }
      ]
    },
    {
      "id": 1652502,
      "postDate": "2022-01-16T17:28:38.250Z",
      "content": "<p><a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> I tried my <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res\" target=\"_blank\">cross val notebook</a> on sheeps splitting of data and respective models by video id=1 as val folder and that split did indeed give increase in CV with increasing image sizes. It's at 6k size rn and should complete in an hour will update changes to public then. However at initial size, score was ~0.69 much lower than ~0.77 of my models.</p>\n<p>Also for my own models split by sub-sequence had higher CV for increased image sizes when evaluated using higher threshold. This leads me to think that maybe an ideal setup would be using different models to infer at different threshold value.</p>",
      "rawMarkdown": "@lukaszborecki I tried my [cross val notebook](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res) on sheeps splitting of data and respective models by video id=1 as val folder and that split did indeed give increase in CV with increasing image sizes. It's at 6k size rn and should complete in an hour will update changes to public then. However at initial size, score was ~0.69 much lower than ~0.77 of my models.\n\nAlso for my own models split by sub-sequence had higher CV for increased image sizes when evaluated using higher threshold. This leads me to think that maybe an ideal setup would be using different models to infer at different threshold value.",
      "votes": 1,
      "replies": [
        {
          "id": 1652533,
          "postDate": "2022-01-16T18:10:06.787Z",
          "content": "<p>I bet it will fall :) however i tried split vid0 1 vs 2 and it was the same. Do you validating on full set ? (with empty images too :) ?</p>",
          "rawMarkdown": "I bet it will fall :) however i tried split vid0 1 vs 2 and it was the same. Do you validating on full set ? (with empty images too :) ?",
          "votes": 1
        },
        {
          "id": 1652545,
          "postDate": "2022-01-16T18:18:30.993Z",
          "content": "<p>yup it fell at 6k haha made public just a few mins before your comment. But still it was this shows it was increasing uptil ~x1.5 scaling. </p>\n<p>Oops I think that's an important detail I've not been considering 😬 So if the test set has roughly 3/4 of the data without annotations does that mean I should randomly sample val_fold_size*3 images with no annotations into my cross validation? <br>\nOh splitting by video ID means I just take the entire data with vid id 1 got it :p</p>",
          "rawMarkdown": "yup it fell at 6k haha made public just a few mins before your comment. But still it was this shows it was increasing uptil ~x1.5 scaling. \n\nOops I think that's an important detail I've not been considering 😬 So if the test set has roughly 3/4 of the data without annotations does that mean I should randomly sample val_fold_size*3 images with no annotations into my cross validation? \nOh splitting by video ID means I just take the entire data with vid id 1 got it :p",
          "votes": 1
        },
        {
          "id": 1652552,
          "postDate": "2022-01-16T18:25:13.830Z",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> seriously idk how to answer :) i made really beutiful models, predicts f2 score on validation 0.8 beutiful inference and then LB 0.5 0.49 :D i made once different training with same set same settings but early stop at epoch3 . Inference was good but worse from others , it didnt detect all starfishes from my validation images i used before and LB score was 0.62. Our best model was not our best but it scored good on LB. If you got such a pearl you want to tweak it. Imagine loading ckpt into yolo then start training it on really low LR for one epoch!, val box drops val obj drops and LB drops from 0.67 -&gt; 0.52 is it normal ? </p>",
          "rawMarkdown": "@ferlockx seriously idk how to answer :) i made really beutiful models, predicts f2 score on validation 0.8 beutiful inference and then LB 0.5 0.49 :D i made once different training with same set same settings but early stop at epoch3 . Inference was good but worse from others , it didnt detect all starfishes from my validation images i used before and LB score was 0.62. Our best model was not our best but it scored good on LB. If you got such a pearl you want to tweak it. Imagine loading ckpt into yolo then start training it on really low LR for one epoch!, val box drops val obj drops and LB drops from 0.67 -> 0.52 is it normal ? ",
          "votes": 1
        },
        {
          "id": 1652556,
          "postDate": "2022-01-16T18:32:17.343Z",
          "content": "<p>hmm thanks for the tips :) I think I should focus more on transfer learning and ensembles once I've got this cross validation part sorted :p </p>",
          "rawMarkdown": "hmm thanks for the tips :) I think I should focus more on transfer learning and ensembles once I've got this cross validation part sorted :p "
        },
        {
          "id": 1654046,
          "postDate": "2022-01-18T05:07:55.707Z",
          "content": "<p>Hi, does ensemble increase LB ? I tried ,but LB got worse.</p>",
          "rawMarkdown": "Hi, does ensemble increase LB ? I tried ,but LB got worse."
        },
        {
          "id": 1654263,
          "postDate": "2022-01-18T11:07:52.897Z",
          "content": "<p>[deleted message]</p>",
          "rawMarkdown": "[deleted message]"
        }
      ]
    },
    {
      "id": 1649330,
      "postDate": "2022-01-14T07:49:01.020Z",
      "content": "<p>For memory issue with larger image on kaggle, reducing batchsize is an option. According to the devs of yolov5, batch size should not influence results much. However, if you're using other (older) YOLO versions, do note that there's report on earlier YOLO that small batch size produces inferior results. Hardware shouldn't be a big issue (hopefully), so don't get discouraged.</p>",
      "rawMarkdown": "For memory issue with larger image on kaggle, reducing batchsize is an option. According to the devs of yolov5, batch size should not influence results much. However, if you're using other (older) YOLO versions, do note that there's report on earlier YOLO that small batch size produces inferior results. Hardware shouldn't be a big issue (hopefully), so don't get discouraged.",
      "votes": 1,
      "replies": [
        {
          "id": 1649678,
          "postDate": "2022-01-14T13:55:35.473Z",
          "content": "<p>If I remember correctly (from Yolov5 previous versions) the nominal batch size is 64, that results to grad accumul steps = 64/BS, where BS the chosen batch size. </p>",
          "rawMarkdown": "If I remember correctly (from Yolov5 previous versions) the nominal batch size is 64, that results to grad accumul steps = 64/BS, where BS the chosen batch size. ",
          "votes": 1
        }
      ]
    },
    {
      "id": 1649059,
      "postDate": "2022-01-13T23:24:47.713Z",
      "content": "<p>How did you manage to make your model weight only 28MB? XD</p>",
      "rawMarkdown": "How did you manage to make your model weight only 28MB? XD",
      "votes": 1,
      "replies": [
        {
          "id": 1649362,
          "postDate": "2022-01-14T08:20:36.243Z",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>  I have the same question . Any hint ?</p>",
          "rawMarkdown": "@steamedsheep  I have the same question . Any hint ?"
        },
        {
          "id": 1649376,
          "postDate": "2022-01-14T08:31:08.033Z",
          "content": "<p>I think is normal due to pruner &amp; optim stripper at the end of run. <br>\nFor me I see that yolov5-L is ~98MB so I guess for S 28MB sound normal</p>",
          "rawMarkdown": "I think is normal due to pruner & optim stripper at the end of run. \nFor me I see that yolov5-L is ~98MB so I guess for S 28MB sound normal",
          "votes": 2
        },
        {
          "id": 1649502,
          "postDate": "2022-01-14T10:14:17.720Z",
          "content": "<p>thanks .. got it .. at the end its stripping optimizer and reducing ..</p>",
          "rawMarkdown": "thanks .. got it .. at the end its stripping optimizer and reducing ..\n",
          "votes": 1
        }
      ]
    },
    {
      "id": 1649006,
      "postDate": "2022-01-13T22:04:12.630Z",
      "content": "<p>thanks for tip <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>! May i ask what was the CV metrics for that chekpoint and if you like to say around at which epoch? </p>",
      "rawMarkdown": "thanks for tip @steamedsheep! May i ask what was the CV metrics for that chekpoint and if you like to say around at which epoch? ",
      "votes": 1
    },
    {
      "id": 1648646,
      "postDate": "2022-01-13T15:15:07.040Z",
      "content": "<p>So this again is a hardware competition dominated?</p>\n<p>because I try to increase to 1920x1920, over 9hours limit of kaggle.  I tried on colab pro, not pro+, which I have to check once in a while,  It trains and converge slowly, so I gave up try bigger image.</p>\n<p>upvote, though.</p>",
      "rawMarkdown": "So this again is a hardware competition dominated?\n\nbecause I try to increase to 1920x1920, over 9hours limit of kaggle.  I tried on colab pro, not pro+, which I have to check once in a while,  It trains and converge slowly, so I gave up try bigger image.\n\nupvote, though.",
      "votes": 1,
      "replies": [
        {
          "id": 1648661,
          "postDate": "2022-01-13T15:30:35.947Z",
          "content": "<p>Don't worry our solution is on P100 :)</p>",
          "rawMarkdown": "Don't worry our solution is on P100 :)",
          "votes": 2
        },
        {
          "id": 1648691,
          "postDate": "2022-01-13T15:53:56.547Z",
          "content": "<p>you guys have pro+, don't you? which notebook keep running without disconnection, over my budget.</p>",
          "rawMarkdown": "you guys have pro+, don't you? which notebook keep running without disconnection, over my budget."
        },
        {
          "id": 1648701,
          "postDate": "2022-01-13T16:01:09.143Z",
          "content": "<p>Yeah we got pro+ we got p100/v100/a100 at start but now only p100 and model was trained on p100. There is huge traffic on colab right now. </p>",
          "rawMarkdown": "Yeah we got pro+ we got p100/v100/a100 at start but now only p100 and model was trained on p100. There is huge traffic on colab right now. "
        },
        {
          "id": 1648704,
          "postDate": "2022-01-13T16:02:39.147Z",
          "content": "<p>To score LB 0.673 laptop is enough … belive me …</p>",
          "rawMarkdown": "To score LB 0.673 laptop is enough ... belive me ...",
          "votes": 10
        },
        {
          "id": 1648711,
          "postDate": "2022-01-13T16:07:42.577Z",
          "content": "<p>I  believe that you guys find better strategy.  my laptop only with 1050ti. </p>",
          "rawMarkdown": "I  believe that you guys find better strategy.  my laptop only with 1050ti. "
        },
        {
          "id": 1648735,
          "postDate": "2022-01-13T16:37:57.823Z",
          "content": "<p>I've been training all my models on 3090 but I've been doing many experiments with tf-2.0. I'll need to get back to using yolov5 to score higher on LB. But I'll tell you this, image tilling might be the next big to happen since the COTs aren't big why make the whole picture bigger when you can have multiple smaller pictures that make the COTs appear bigger to the model. I've had some good results with it. Worth a try!</p>",
          "rawMarkdown": "I've been training all my models on 3090 but I've been doing many experiments with tf-2.0. I'll need to get back to using yolov5 to score higher on LB. But I'll tell you this, image tilling might be the next big to happen since the COTs aren't big why make the whole picture bigger when you can have multiple smaller pictures that make the COTs appear bigger to the model. I've had some good results with it. Worth a try!",
          "votes": 2
        },
        {
          "id": 1649001,
          "postDate": "2022-01-13T21:53:45.677Z",
          "content": "<p>I see … but using Kaggle GPU or free Collab will be enough at this moment. Certainly the more power you have the faster you can experiment … but … sometimes this is not a good to have to much GPUs :)</p>",
          "rawMarkdown": "I see ... but using Kaggle GPU or free Collab will be enough at this moment. Certainly the more power you have the faster you can experiment ... but ... sometimes this is not a good to have to much GPUs :)",
          "votes": 1
        },
        {
          "id": 1649011,
          "postDate": "2022-01-13T22:15:16.617Z",
          "content": "<p><a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a> I don't know if I made it clear in my previous comment but I meant that there are many strategies to get around the issues of high resolution. Here is this one for example that was useful to me. It is worth a try in constraint environments and with some tuning, it maybe can boost your models.<br>\n<a href=\"https://github.com/obss/sahi\" target=\"_blank\">https://github.com/obss/sahi</a></p>\n<p>Good luck!</p>",
          "rawMarkdown": "@remekkinas I don't know if I made it clear in my previous comment but I meant that there are many strategies to get around the issues of high resolution. Here is this one for example that was useful to me. It is worth a try in constraint environments and with some tuning, it maybe can boost your models.\nhttps://github.com/obss/sahi\n\nGood luck!",
          "votes": 3
        },
        {
          "id": 1649018,
          "postDate": "2022-01-13T22:23:04.803Z",
          "content": "<p>Yes, absolutely … SAHI is one of … tiling (presented in notebook section) is another one, resizing showed here is next one …  This is beauty of this competition - you can experiment a lot. Dataset is demanding.  As I can see on LB everybody … are learning :) To be honest I am waiting for end … why … I am really interested in TOP solutions 😃 We have performed a lot of different experiments … I am sure some of them … which have not worked for us probably would work for somebody else. This is really great learning.</p>",
          "rawMarkdown": "Yes, absolutely ... SAHI is one of ... tiling (presented in notebook section) is another one, resizing showed here is next one ...  This is beauty of this competition - you can experiment a lot. Dataset is demanding.  As I can see on LB everybody ... are learning :) To be honest I am waiting for end ... why ... I am really interested in TOP solutions 😃 We have performed a lot of different experiments ... I am sure some of them ... which have not worked for us probably would work for somebody else. This is really great learning.",
          "votes": 2
        },
        {
          "id": 1649176,
          "postDate": "2022-01-14T03:30:16.860Z",
          "content": "<p>If you don't mind me asking <a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a>. I tried several times both on lb and cv to improve the performance of my Yolo model with SAHI.<br>\nDid SAHI affect your current score? and how much?</p>",
          "rawMarkdown": "If you don't mind me asking @remekkinas. I tried several times both on lb and cv to improve the performance of my Yolo model with SAHI.\nDid SAHI affect your current score? and how much?"
        },
        {
          "id": 1649242,
          "postDate": "2022-01-14T05:42:23.730Z",
          "rawMarkdown": "",
          "votes": -3,
          "isDeleted": true
        },
        {
          "id": 1649246,
          "postDate": "2022-01-14T05:47:33.320Z",
          "rawMarkdown": "",
          "votes": -1,
          "isDeleted": true
        },
        {
          "id": 1649368,
          "postDate": "2022-01-14T08:24:58.697Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> I know SAHI very, very well :) I use it since it was released ( <a href=\"https://www.kaggle.com/clwwlc\" target=\"_blank\">@clwwlc</a> will be probably suprised 😂 ) To be honest we have nor tried SAHI so far … In December we decided to take totally different attitude. </p>",
          "rawMarkdown": "@morizin I know SAHI very, very well :) I use it since it was released ( @clwwlc will be probably suprised 😂 ) To be honest we have nor tried SAHI so far ... In December we decided to take totally different attitude. ",
          "votes": 1
        }
      ]
    },
    {
      "id": 1648549,
      "postDate": "2022-01-13T13:48:54.557Z",
      "content": "<p>Higher resolution is all your need 🤔 ? Maybe not, right ?</p>",
      "rawMarkdown": "Higher resolution is all your need 🤔 ? Maybe not, right ?",
      "votes": 1,
      "replies": [
        {
          "id": 1648593,
          "postDate": "2022-01-13T14:40:26.903Z",
          "content": "<p>yes, indeed</p>",
          "rawMarkdown": "yes, indeed",
          "votes": 1
        },
        {
          "id": 1648595,
          "postDate": "2022-01-13T14:40:45.037Z",
          "content": "<p>Yeah you need hugeillions of pixels and zillions of compute power. Not :)</p>",
          "rawMarkdown": "Yeah you need hugeillions of pixels and zillions of compute power. Not :)"
        },
        {
          "id": 1648599,
          "postDate": "2022-01-13T14:42:59.930Z",
          "content": "<p>Not really, I train this on a single 3090, I think 16GB ram card is also ok.</p>",
          "rawMarkdown": "Not really, I train this on a single 3090, I think 16GB ram card is also ok.",
          "votes": 2
        },
        {
          "id": 1648604,
          "postDate": "2022-01-13T14:45:43.200Z",
          "content": "<p>I didn't say it doesn't helps but is not all you need :)</p>",
          "rawMarkdown": "I didn't say it doesn't helps but is not all you need :)"
        },
        {
          "id": 1648605,
          "postDate": "2022-01-13T14:47:40.047Z",
          "content": "<p>aha, topic title in kaggle usually misleading, this isn't the worst one😂</p>",
          "rawMarkdown": "aha, topic title in kaggle usually misleading, this isn't the worst one😂",
          "votes": 2
        },
        {
          "id": 1648772,
          "postDate": "2022-01-13T17:24:41.907Z",
          "content": "<p>Seems resolution is not all you need, but damn you have to have it haha :)</p>",
          "rawMarkdown": "Seems resolution is not all you need, but damn you have to have it haha :)"
        }
      ]
    },
    {
      "id": 1651340,
      "postDate": "2022-01-15T17:24:25.830Z",
      "content": "<p>The LB is funny now!<br>\nanyone who ends up in the top 50 now will be placed above 100 after an hour </p>",
      "rawMarkdown": "The LB is funny now!\nanyone who ends up in the top 50 now will be placed above 100 after an hour ",
      "votes": 2,
      "replies": [
        {
          "id": 1651370,
          "postDate": "2022-01-15T17:49:38.783Z",
          "content": "<p>Public LB is merely a public lb.</p>",
          "rawMarkdown": "Public LB is merely a public lb.",
          "votes": 5
        }
      ]
    },
    {
      "id": 1651265,
      "postDate": "2022-01-15T16:44:37.640Z",
      "content": "<p>The most funny thing is when you run val.py --img 2500 (3200, 4600, 7200) on colab or kaggle score goes down, what happens here it goes up is kind of irrational. Either metrics in yolo are wrong or something weird is happening. But when you submit on higher resolution you got gain on LB</p>",
      "rawMarkdown": "The most funny thing is when you run val.py --img 2500 (3200, 4600, 7200) on colab or kaggle score goes down, what happens here it goes up is kind of irrational. Either metrics in yolo are wrong or something weird is happening. But when you submit on higher resolution you got gain on LB",
      "votes": 2,
      "replies": [
        {
          "id": 1651278,
          "postDate": "2022-01-15T16:50:19.430Z",
          "content": "<p>that shouldn't really be happening cause on my runs P and R were both pretty much above 70% in each epoch (and close to 80-90 during best epoch for Precision) using up-sizing so that translates to ~0.7-0.8 on F2 metric. This gives 0.58-0.61 on public LB using different sizes so correlation is pretty stable. </p>\n<p>I also recently modified</p>\n<pre><code>    # Print results\n    pf = '%20s' + '%11i' * 2 + '%11.3g' * 4  # print format\n    f2 = 5*mp*mr/(4*mr+mp)\n    LOGGER.info(pf % ('all', seen, nt.sum(), mp, mr, map50, f2)) #map))\n</code></pre>\n<p>and again some modifications in the part where model saving is done</p>\n<p>in my val.py in yolo folder so that f2 is logged instead of MAP (though I'm not sure if this is the best way to implement the metric). This gives the 0.7-0.8 I was talking about earlier. </p>\n<p>How did you get the f2 score while using val.py? By default it gives map if i'm not wrong. Might be giving lower CV locally due to some leak or maybe wrong implementation? </p>",
          "rawMarkdown": "that shouldn't really be happening cause on my runs P and R were both pretty much above 70% in each epoch (and close to 80-90 during best epoch for Precision) using up-sizing so that translates to ~0.7-0.8 on F2 metric. This gives 0.58-0.61 on public LB using different sizes so correlation is pretty stable. \n\nI also recently modified\n```\n\n    # Print results\n    pf = '%20s' + '%11i' * 2 + '%11.3g' * 4  # print format\n    f2 = 5*mp*mr/(4*mr+mp)\n    LOGGER.info(pf % ('all', seen, nt.sum(), mp, mr, map50, f2)) #map))\n\n```\nand again some modifications in the part where model saving is done\n\nin my val.py in yolo folder so that f2 is logged instead of MAP (though I'm not sure if this is the best way to implement the metric). This gives the 0.7-0.8 I was talking about earlier. \n\nHow did you get the f2 score while using val.py? By default it gives map if i'm not wrong. Might be giving lower CV locally due to some leak or maybe wrong implementation? ",
          "votes": 2
        },
        {
          "id": 1651285,
          "postDate": "2022-01-15T16:53:22.473Z",
          "content": "<p>Aditya i am talking about what <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> done in experiment. He increased inference size on same weight and got gain and gain. When you do it on val.py recall and precission drops when you increase --img parameter. (tested on colab). Even our #7 got much worse f2 score (on that size) than pure f2 score after training.</p>",
          "rawMarkdown": "Aditya i am talking about what @hengck23 done in experiment. He increased inference size on same weight and got gain and gain. When you do it on val.py recall and precission drops when you increase --img parameter. (tested on colab). Even our #7 got much worse f2 score (on that size) than pure f2 score after training."
        },
        {
          "id": 1651292,
          "postDate": "2022-01-15T16:58:55.290Z",
          "content": "<p>Aditya i made implementation which plots f2 and f1 score on PNG. That doesnt matter i run my model which has recall 0.75, and increased resolution 2.5 times and recall was almost ZERO! :) either yolo got something screwed or colab or idk even i was suspicious in comeptition metric but watchin bboxes it does it correctly ;)</p>",
          "rawMarkdown": "Aditya i made implementation which plots f2 and f1 score on PNG. That doesnt matter i run my model which has recall 0.75, and increased resolution 2.5 times and recall was almost ZERO! :) either yolo got something screwed or colab or idk even i was suspicious in comeptition metric but watchin bboxes it does it correctly ;)"
        },
        {
          "id": 1651295,
          "postDate": "2022-01-15T17:00:39.487Z",
          "content": "<p>I've not yet tried using val.py post training has completed and was trusting the per epoch calculation it does by default(i.e. img_size is also = the set higher size).<br>\n<a href=\"https://ibb.co/12QZFXW\"><img src=\"https://i.ibb.co/cT3J48n/Screenshot-from-2022-01-15-22-35-30.png\" alt=\"Screenshot-from-2022-01-15-22-35-30\"></a></p>\n<p>(P, R and f2 score I get during training after modifying the val.py file ^)</p>\n<p>I'll try using val on one of my saved models to see if there's a dip in the P, R.</p>",
          "rawMarkdown": "I've not yet tried using val.py post training has completed and was trusting the per epoch calculation it does by default(i.e. img_size is also = the set higher size).\n<a href=\"https://ibb.co/12QZFXW\"><img src=\"https://i.ibb.co/cT3J48n/Screenshot-from-2022-01-15-22-35-30.png\" alt=\"Screenshot-from-2022-01-15-22-35-30\" border=\"0\"></a>\n\n(P, R and f2 score I get during training after modifying the val.py file ^)\n\nI'll try using val on one of my saved models to see if there's a dip in the P, R."
        },
        {
          "id": 1651299,
          "postDate": "2022-01-15T17:05:00.237Z",
          "content": "<p>Hmm, close to 0 recall is sus 🤔 usually when metric calculation was this messed up in my experiments with mmdet it turned out to be some inconsistent dependencies or something but i've not encountered such issues in yolo yet</p>",
          "rawMarkdown": "Hmm, close to 0 recall is sus 🤔 usually when metric calculation was this messed up in my experiments with mmdet it turned out to be some inconsistent dependencies or something but i've not encountered such issues in yolo yet"
        },
        {
          "id": 1651309,
          "postDate": "2022-01-15T17:10:29.807Z",
          "content": "<p>ADitya you must have some leak, AP95 over 0.8 ? our #7 model got 0.35 ;)</p>",
          "rawMarkdown": "ADitya you must have some leak, AP95 over 0.8 ? our #7 model got 0.35 ;)"
        },
        {
          "id": 1651317,
          "postDate": "2022-01-15T17:12:47.907Z",
          "content": "<p>yeah that's the part i've modified, it's printing f2 score instead of AP95 :P For me AP95 was around 0.34-0.36 as well in previous runs when I hadn't modified the logging code</p>",
          "rawMarkdown": "yeah that's the part i've modified, it's printing f2 score instead of AP95 :P For me AP95 was around 0.34-0.36 as well in previous runs when I hadn't modified the logging code",
          "votes": 1
        },
        {
          "id": 1651320,
          "postDate": "2022-01-15T17:13:26.307Z",
          "content": "<p>Yes, i also noticed it. I also tried training the model with img_size 7000 but it didn't perform very well than my 3600 secret model. i guess yolo doesn't like losing so much quality due to enlarging the images. i wonder why competition metric likes</p>",
          "rawMarkdown": "Yes, i also noticed it. I also tried training the model with img_size 7000 but it didn't perform very well than my 3600 secret model. i guess yolo doesn't like losing so much quality due to enlarging the images. i wonder why competition metric likes",
          "votes": 1
        },
        {
          "id": 1651330,
          "postDate": "2022-01-15T17:17:21.153Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> yeah we were suspicious even if we were on #1 that something is wrong or we cannot explain it</p>",
          "rawMarkdown": "@morizin yeah we were suspicious even if we were on #1 that something is wrong or we cannot explain it",
          "votes": 2
        },
        {
          "id": 1651342,
          "postDate": "2022-01-15T17:29:48.867Z",
          "content": "<p>I'll try using <a href=\"https://www.kaggle.com/hyunmingu/evaluate-f2-score-for-yolov5-model\" target=\"_blank\">this code</a> to see if my val scores are correct though I'm pretty sure it'll be different than my epoch calculations cause it's mean over IOUs from 0.3-0.8. But still I felt changing it was appropriate since it might give a better sense of model performance compared to normal AP95 metric</p>",
          "rawMarkdown": "I'll try using [this code](https://www.kaggle.com/hyunmingu/evaluate-f2-score-for-yolov5-model) to see if my val scores are correct though I'm pretty sure it'll be different than my epoch calculations cause it's mean over IOUs from 0.3-0.8. But still I felt changing it was appropriate since it might give a better sense of model performance compared to normal AP95 metric"
        },
        {
          "id": 1651347,
          "postDate": "2022-01-15T17:34:15.590Z",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> try this with high img</p>\n<p><code>!python val.py --img 4800 --batch 1  --data /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolo5_cfg/data.yaml --weights /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolov5/runs/train/exp29/weights/epoch7.pt --iou 0.3 --conf 0.001</code></p>\n<p>and go with img higher. Replace yaml and weights file. conf = 0.001 is becuase it draws metrics from 0 to 1 in confidence thresholds</p>\n<p>-- hint if you dont have f2 metric plots you can watch f1 score . How looks f2 score ? same just hit f1 score from right ;) f2 got peak before f1<br>\n-- hint2 in metrics.py tweak place where is f1 plotting and change it to (5pr/(4p+r)) :) i added some lines to generate the metric after validation</p>",
          "rawMarkdown": "@ferlockx try this with high img\n\n`!python val.py --img 4800 --batch 1  --data /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolo5_cfg/data.yaml --weights /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolov5/runs/train/exp29/weights/epoch7.pt --iou 0.3 --conf 0.001`\n\nand go with img higher. Replace yaml and weights file. conf = 0.001 is becuase it draws metrics from 0 to 1 in confidence thresholds\n\n-- hint if you dont have f2 metric plots you can watch f1 score . How looks f2 score ? same just hit f1 score from right ;) f2 got peak before f1\n-- hint2 in metrics.py tweak place where is f1 plotting and change it to (5pr/(4p+r)) :) i added some lines to generate the metric after validation",
          "votes": 2
        },
        {
          "id": 1651356,
          "postDate": "2022-01-15T17:37:27.070Z",
          "content": "<p>okay thanks i'll try this out :) </p>",
          "rawMarkdown": "okay thanks i'll try this out :) "
        },
        {
          "id": 1651671,
          "postDate": "2022-01-16T01:01:50.710Z",
          "content": "<p>hey <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> , you can check <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">here</a> that CV was coming as 0.77 while post training validation. </p>\n<p>While this was obviously a drop from mid 0.8s I was getting while training, this was expected since while training yolo was doing no metric sweeps over 0.3-0.8 and then taking their mean. I don't think higher res is hurting CV results. I'll try switching img up to 4k, 5k etc to see if those values reduce f2. </p>\n<p>While there's no data leakage since splitting was done using same code, I would love your input on whether the metric implementation used in these public notebooks is correct :) </p>\n<p>UPD: yup upsizing from img size value used during training does indeed decrease f2, updated my notebook to reflect the same. wonder why LB is immune to this 🤔</p>",
          "rawMarkdown": "hey @lukaszborecki , you can check [here](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook) that CV was coming as 0.77 while post training validation. \n\nWhile this was obviously a drop from mid 0.8s I was getting while training, this was expected since while training yolo was doing no metric sweeps over 0.3-0.8 and then taking their mean. I don't think higher res is hurting CV results. I'll try switching img up to 4k, 5k etc to see if those values reduce f2. \n\nWhile there's no data leakage since splitting was done using same code, I would love your input on whether the metric implementation used in these public notebooks is correct :) \n\nUPD: yup upsizing from img size value used during training does indeed decrease f2, updated my notebook to reflect the same. wonder why LB is immune to this 🤔\n",
          "votes": 1
        },
        {
          "id": 1651867,
          "postDate": "2022-01-16T06:16:40.317Z",
          "content": "<p>So your expirement prooved it is droping while increasing inference size :)</p>\n<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> F1 score drops too because its correlated with f2. Either there are small starfishes in 25% or there is less populated video or cv metric is wrong either ours either theirs ;). But if you split F2 into TP FP FN  it is clear f2 should drop</p>",
          "rawMarkdown": "So your expirement prooved it is droping while increasing inference size :)\n\n@ferlockx F1 score drops too because its correlated with f2. Either there are small starfishes in 25% or there is less populated video or cv metric is wrong either ours either theirs ;). But if you split F2 into TP FP FN  it is clear f2 should drop"
        },
        {
          "id": 1652005,
          "postDate": "2022-01-16T08:55:07.897Z",
          "content": "<p>UPD2: <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a>  it seems that the initial public metric implementation was a tiny bit wrong in that it didn't discard annotations under a confidence metric post inference (0.15 in most public notebooks). I've added that confidence in my latest version and the decrease is a bit less drastic but the trend is still indeed decreasing. It's now 0.77 -&gt; 0.72 -&gt; 0.64 … instead of 0.77 -&gt; 0.5 -&gt; 0.4 … :) </p>\n<p>Also the number of images in which there are no annotations keeps decreasing with increase in image size i.e. it does indeed help with small object detection as expected</p>\n<p>I think there might be a few more things that are different in inference environment from our local metric calculation that our causing decreasing CV, but still we should consider more augmentation techniques just to be sure ;)</p>\n<p>Thanks Lukasz I'll try to correct the things you're mentioning</p>",
          "rawMarkdown": "UPD2: @lukaszborecki  it seems that the initial public metric implementation was a tiny bit wrong in that it didn't discard annotations under a confidence metric post inference (0.15 in most public notebooks). I've added that confidence in my latest version and the decrease is a bit less drastic but the trend is still indeed decreasing. It's now 0.77 -> 0.72 -> 0.64 ... instead of 0.77 -> 0.5 -> 0.4 ... :) \n\nAlso the number of images in which there are no annotations keeps decreasing with increase in image size i.e. it does indeed help with small object detection as expected\n\nI think there might be a few more things that are different in inference environment from our local metric calculation that our causing decreasing CV, but still we should consider more augmentation techniques just to be sure ;)\n\nThanks Lukasz I'll try to correct the things you're mentioning",
          "votes": 1
        },
        {
          "id": 1652007,
          "postDate": "2022-01-16T08:57:30.290Z",
          "content": "<p>I tried increase img size in inference with looking at images and it was also getting worse (@ some point). To implementation yes there is more errors, first you have to count np.nanmean and second you need loop with confidence :)</p>\n<p>-- anyway still the trend is decreasing and LB is increasing</p>",
          "rawMarkdown": "I tried increase img size in inference with looking at images and it was also getting worse (@ some point). To implementation yes there is more errors, first you have to count np.nanmean and second you need loop with confidence :)\n\n-- anyway still the trend is decreasing and LB is increasing"
        },
        {
          "id": 1652009,
          "postDate": "2022-01-16T09:01:01.027Z",
          "content": "<p>how about asking the host to release their metric computation code?</p>",
          "rawMarkdown": "how about asking the host to release their metric computation code?",
          "votes": 6,
          "replies": [
            {
              "id": 1652020,
              "postDate": "2022-01-16T09:10:44.337Z",
              "content": "<blockquote>\n  <p>how about asking the host to release their metric computation code?</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> do you think it is possible ? they probably will answer the same as in paper :)</p>",
              "rawMarkdown": "> how about asking the host to release their metric computation code?\n\n@hengck23 do you think it is possible ? they probably will answer the same as in paper :)",
              "votes": 1
            }
          ]
        },
        {
          "id": 1652011,
          "postDate": "2022-01-16T09:02:30.123Z",
          "content": "<p>I think the drop while increasing happens because there are lots of false positive <br>\ni visualized with <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> weights conf 0.25<br>\nFYI =&gt; RED - GT Boxes<br>\n           BLUE - PRED_BOXES<br>\n<img src=\"https://i.ibb.co/2WvCXJ9/image.png\" alt=\"\"></p>",
          "rawMarkdown": "I think the drop while increasing happens because there are lots of false positive \ni visualized with @steamedsheep weights conf 0.25\nFYI => RED - GT Boxes\n           BLUE - PRED_BOXES\n![](https://i.ibb.co/2WvCXJ9/image.png)",
          "votes": 6
        },
        {
          "id": 1652017,
          "postDate": "2022-01-16T09:07:27.577Z",
          "content": "<p>another hypothesis:<br>\nif you look at f2 per image, there should be some images that increase f2 while there are some decreases. maybe the public LB resembles more of those that improve?</p>",
          "rawMarkdown": "another hypothesis:\nif you look at f2 per image, there should be some images that increase f2 while there are some decreases. maybe the public LB resembles more of those that improve?",
          "votes": 2
        },
        {
          "id": 1652036,
          "postDate": "2022-01-16T09:28:42.240Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a>  interesting so you set model.conf =0.25 directly instead of removing below 0.25 post inference?</p>",
          "rawMarkdown": "@morizin  interesting so you set model.conf =0.25 directly instead of removing below 0.25 post inference?"
        },
        {
          "id": 1652038,
          "postDate": "2022-01-16T09:30:28.060Z",
          "content": "<p>Firstly I thnink that Australian Government won't be happy with current solution :) Maybe I am wrong (totally wrong) but I created video on validation dataset using our best LB solution - it is totally crap! 😁😆 <br>\nSimultanieusly we created video with our best local (crap according to LB score) model and … it absolutely outperfoms our \"best LB\" … and people annotating images (I know that such extra bboxes were unfortunately associatetd with FP - but it does not influence on f2 score much). </p>",
          "rawMarkdown": "Firstly I thnink that Australian Government won't be happy with current solution :) Maybe I am wrong (totally wrong) but I created video on validation dataset using our best LB solution - it is totally crap! 😁😆 \nSimultanieusly we created video with our best local (crap according to LB score) model and ... it absolutely outperfoms our \"best LB\" ... and people annotating images (I know that such extra bboxes were unfortunately associatetd with FP - but it does not influence on f2 score much). \n\n"
        },
        {
          "id": 1652040,
          "postDate": "2022-01-16T09:32:14.593Z",
          "content": "<p>No. model.conf = 0.01 and filter boxes under 0.25</p>",
          "rawMarkdown": "No. model.conf = 0.01 and filter boxes under 0.25",
          "votes": 1
        },
        {
          "id": 1652044,
          "postDate": "2022-01-16T09:34:19.790Z",
          "content": "<p>i didn't really check does csiro or tensorflow release any git repo for this data/competition?</p>",
          "rawMarkdown": "i didn't really check does csiro or tensorflow release any git repo for this data/competition?"
        },
        {
          "id": 1652062,
          "postDate": "2022-01-16T09:46:16.430Z",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> </p>\n<p>for the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.</p>\n<hr>\n<p>on a side note: one should filter off those very small boxes</p>",
          "rawMarkdown": "@morizin \n\nfor the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.\n\n---\n\non a side note: one should filter off those very small boxes",
          "votes": 2,
          "replies": [
            {
              "id": 1652385,
              "postDate": "2022-01-16T15:03:21.997Z",
              "content": "<blockquote>\n  <p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> </p>\n  <p>for the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.</p>\n  <hr>\n  <p>on a side note: one should filter off those very small boxes</p>\n</blockquote>\n<p>Perhaps you are right <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> <br>\n<img src=\"https://i.ibb.co/SNtwhfg/image.png\" alt=\"\"><br>\nthis was one of my models, i like this model very much. Predictions are almost perfect. but scores 0.418 in LB</p>",
              "rawMarkdown": "> @morizin \n> \n> for the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.\n> \n> ---\n> \n> on a side note: one should filter off those very small boxes\n\nPerhaps you are right @hengck23 \n![](https://i.ibb.co/SNtwhfg/image.png)\nthis was one of my models, i like this model very much. Predictions are almost perfect. but scores 0.418 in LB",
              "votes": 2
            }
          ]
        },
        {
          "id": 1652245,
          "postDate": "2022-01-16T13:03:56.527Z",
          "content": "<p>I calculated f2 on the validation video(whether num_bbox&gt;0 or &gt;=0) and found that larger scales will bring worse results, which makes me very worried about the current LB.</p>",
          "rawMarkdown": "I calculated f2 on the validation video(whether num_bbox>0 or >=0) and found that larger scales will bring worse results, which makes me very worried about the current LB.",
          "votes": 2
        },
        {
          "id": 1652251,
          "postDate": "2022-01-16T13:11:46.537Z",
          "content": "<p><a href=\"https://www.kaggle.com/zzy\" target=\"_blank\">@zzy</a> same observations here and same observations in expirement. And the better model you make it usually goes worse with LB</p>",
          "rawMarkdown": "@zzy same observations here and same observations in expirement. And the better model you make it usually goes worse with LB",
          "votes": 1
        },
        {
          "id": 1652257,
          "postDate": "2022-01-16T13:21:39.020Z",
          "content": "<p><a href=\"https://www.kaggle.com/zzy990106\" target=\"_blank\">@zzy990106</a> I do not how you and your team but we with <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> have problem with eveluation and chosing right model. It is kind of luck :)</p>",
          "rawMarkdown": "@zzy990106 I do not how you and your team but we with @lukaszborecki have problem with eveluation and chosing right model. It is kind of luck :)"
        },
        {
          "id": 1652258,
          "postDate": "2022-01-16T13:21:40.627Z",
          "content": "<p>maybe that is the reason for 4 submission</p>",
          "rawMarkdown": "maybe that is the reason for 4 submission",
          "votes": 2
        },
        {
          "id": 1652259,
          "postDate": "2022-01-16T13:24:57.373Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>  😄😄😄😄 yes, it could be a great explanation to this situation …. You have to take one crap model but good on LB, second best looking model for team and two … between …. </p>\n<p>I know that for most competition looking on LB score is not good idea …. but in this case is strage … because you definitely can build better model (using some ways to decrease FP and increase TP) but it does not work at all …. it dramatically drops on LB.  </p>",
          "rawMarkdown": "@hengck23  😄😄😄😄 yes, it could be a great explanation to this situation .... You have to take one crap model but good on LB, second best looking model for team and two ... between .... \n\nI know that for most competition looking on LB score is not good idea .... but in this case is strage ... because you definitely can build better model (using some ways to decrease FP and increase TP) but it does not work at all .... it dramatically drops on LB.  ",
          "votes": 3
        },
        {
          "id": 1652303,
          "postDate": "2022-01-16T13:55:35.883Z",
          "content": "<p>if i am the host and i want to be evil I would put all non-empty images as public test and all empty images as private.</p>\n<hr>\n<p>I think we need to probe the ratio of empty and non empty images in private and public. (note that we do know approximately how many empty images are there in the test, we know there are 14k test images with about 150 cots objects. we just don't know how they are  split between public and private)</p>\n<p>for confidently predicted empty images, we add FP.<br>\nfor confidently predicted TP, we drop them.<br>\nthe change in score should give us some clue?</p>",
          "rawMarkdown": "if i am the host and i want to be evil I would put all non-empty images as public test and all empty images as private.\n\n---\n\nI think we need to probe the ratio of empty and non empty images in private and public. (note that we do know approximately how many empty images are there in the test, we know there are 14k test images with about 150 cots objects. we just don't know how they are  split between public and private)\n\nfor confidently predicted empty images, we add FP.\nfor confidently predicted TP, we drop them.\nthe change in score should give us some clue?",
          "votes": 6
        },
        {
          "id": 1652349,
          "postDate": "2022-01-16T14:29:32.277Z",
          "content": "<blockquote>\n  <p>for confidently predicted empty images, we add FP.<br>\n  for confidently predicted TP, we drop them.<br>\n  the change in score should give us some clue?</p>\n</blockquote>\n<p>We have made such research. <br>\nWe increasedTP, decreased FP/FN (using many hacks) … and … rised f2 … (on many folds confs). Posted and …. 😂😨😭😭😭😭🙈🙈🙊😄😄 </p>",
          "rawMarkdown": "> for confidently predicted empty images, we add FP.\nfor confidently predicted TP, we drop them.\nthe change in score should give us some clue?\n\nWe have made such research. \nWe increasedTP, decreased FP/FN (using many hacks) ... and ... rised f2 ... (on many folds confs). Posted and .... 😂😨😭😭😭😭🙈🙈🙊😄😄 ",
          "votes": 1
        },
        {
          "id": 1652378,
          "postDate": "2022-01-16T14:59:42.863Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> split private and public by video or sequence is enough to direct a shake up</p>",
          "rawMarkdown": "@hengck23 split private and public by video or sequence is enough to direct a shake up",
          "votes": 1
        },
        {
          "id": 1652407,
          "postDate": "2022-01-16T15:35:20.153Z",
          "content": "<p>\"split private and public by video or sequence is enough to direct a shake up\"</p>\n<p>the splits are usually by random. else it is difficult to come up with 25% and 75% ratios.<br>\nanother way is that they are split by order, e.g. first 25% of seq or video</p>",
          "rawMarkdown": "\"split private and public by video or sequence is enough to direct a shake up\"\n\nthe splits are usually by random. else it is difficult to come up with 25% and 75% ratios.\nanother way is that they are split by order, e.g. first 25% of seq or video",
          "votes": 4
        },
        {
          "id": 1652413,
          "postDate": "2022-01-16T15:41:49.843Z",
          "content": "<blockquote>\n  <p>the splits are usually by random. </p>\n</blockquote>\n<p>Usually it is, but there are some impressive outliers like this <a href=\"https://www.kaggle.com/c/microsoft-malware-prediction\" target=\"_blank\">https://www.kaggle.com/c/microsoft-malware-prediction</a></p>",
          "rawMarkdown": "> the splits are usually by random. \n\nUsually it is, but there are some impressive outliers like this https://www.kaggle.com/c/microsoft-malware-prediction\n",
          "votes": 2
        },
        {
          "id": 1652418,
          "postDate": "2022-01-16T15:45:39.963Z",
          "content": "<p>from data info:</p>\n<blockquote>\n  <p>This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video. </p>\n</blockquote>\n<p>maybe this means/ensures that they are split by video/seq order (?)</p>",
          "rawMarkdown": "from data info:\n> This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video. \n\nmaybe this means/ensures that they are split by video/seq order (?)",
          "votes": 1
        },
        {
          "id": 1652426,
          "postDate": "2022-01-16T15:54:44.187Z",
          "content": "<p>Agree, at least part of the sequence.</p>",
          "rawMarkdown": "Agree, at least part of the sequence.",
          "votes": 1
        },
        {
          "id": 1652443,
          "postDate": "2022-01-16T16:09:58.733Z",
          "content": "<p>\"This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video.\"</p>\n<p>the public score could be based on every 4-th frame (25%) evaluation</p>",
          "rawMarkdown": "\"This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video.\"\n\nthe public score could be based on every 4-th frame (25%) evaluation",
          "votes": 5,
          "replies": [
            {
              "id": 1653054,
              "postDate": "2022-01-17T07:51:26.697Z",
              "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a></p>\n<blockquote>\n  <p>the public score could be based on every 4-th frame (25%) evaluation</p>\n</blockquote>\n<p>If so, we should fully trust LB. 👀</p>",
              "rawMarkdown": "@hengck23\n> the public score could be based on every 4-th frame (25%) evaluation\n\nIf so, we should fully trust LB. 👀"
            }
          ]
        },
        {
          "id": 1652998,
          "postDate": "2022-01-17T06:51:59.750Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> </p>\n<blockquote>\n  <p>we know there are 14k test images with about 150 cots objects</p>\n</blockquote>\n<p>Did i miss this info.. 150 cots in 13k images of test set ?</p>\n<p>I like your 4th frame CV, didn't expected LB can be split in that way </p>",
          "rawMarkdown": "@hengck23 \n> we know there are 14k test images with about 150 cots objects\n\nDid i miss this info.. 150 cots in 13k images of test set ?\n\nI like your 4th frame CV, didn't expected LB can be split in that way "
        },
        {
          "id": 1653664,
          "postDate": "2022-01-17T19:13:25.303Z",
          "content": "<p>I don't see the public LB being based on every 4th frame, wouldn't this screw up any temporal based solutions such as the yolox + tracking?</p>\n<p>Plus it would promote overfitting to the public LB which generally isn't the case on kaggle.</p>",
          "rawMarkdown": "I don't see the public LB being based on every 4th frame, wouldn't this screw up any temporal based solutions such as the yolox + tracking?\n\nPlus it would promote overfitting to the public LB which generally isn't the case on kaggle.",
          "votes": 3
        }
      ]
    },
    {
      "id": 1656565,
      "postDate": "2022-01-19T12:51:42.223Z",
      "content": "<p>Thank you for sharing the good notebook :) <br>\nI wish you will be entering the gold zone. <br>\nAnd I wish I could be entering the top 20% of this competition 😊</p>",
      "rawMarkdown": "Thank you for sharing the good notebook :) \nI wish you will be entering the gold zone. \nAnd I wish I could be entering the top 20% of this competition 😊"
    },
    {
      "id": 1651476,
      "postDate": "2022-01-15T19:26:54.727Z",
      "content": "<p>it may be easier to analyze by considering FP rate, recall, precision per box size.</p>\n<p>e.g. we divide bbox into few category by sizes:<br>\nbelow 20,<br>\nfrom 30 to 32 ….</p>\n<p>if you cannot explain the results (by theory or massive and careful experiment), it would be subjected to big shakeup. after all, test performance = (public+private) performance</p>\n<p>higher public score may means lower private one</p>",
      "rawMarkdown": "it may be easier to analyze by considering FP rate, recall, precision per box size.\n\ne.g. we divide bbox into few category by sizes:\nbelow 20,\nfrom 30 to 32 ....\n\nif you cannot explain the results (by theory or massive and careful experiment), it would be subjected to big shakeup. after all, test performance = (public+private) performance\n\nhigher public score may means lower private one",
      "votes": 1,
      "replies": [
        {
          "id": 1652887,
          "postDate": "2022-01-17T04:49:21.343Z",
          "content": "<p>classify first ? and then detect?</p>",
          "rawMarkdown": "classify first ? and then detect?",
          "votes": 1
        }
      ]
    },
    {
      "id": 1648551,
      "postDate": "2022-01-13T13:50:35.333Z",
      "content": "<p>wow, 3600😲</p>",
      "rawMarkdown": "wow, 3600😲",
      "votes": 1
    },
    {
      "id": 1668827,
      "postDate": "2022-01-30T04:42:15.777Z",
      "content": "<p>Are you use the big batch size and high resolution to train your model, I can not repeat your result with the batch size = 8 and picture size = 720*1280.I can not take more big size because of the limitation of GPU.<br>\n I just confuse that if the GPU limit my model 's performance. If that's True, I think I have no idea to train model as good as yours.</p>",
      "rawMarkdown": "Are you use the big batch size and high resolution to train your model, I can not repeat your result with the batch size = 8 and picture size = 720*1280.I can not take more big size because of the limitation of GPU.\n I just confuse that if the GPU limit my model 's performance. If that's True, I think I have no idea to train model as good as yours."
    },
    {
      "id": 1664157,
      "postDate": "2022-01-25T18:43:37.627Z",
      "content": "<p>Hey<br>\ncan u help me understand which images we take for validation ??<br>\nIs it 80 train-20 test from the 3 video images provided for test ??<br>\nIm a newbie so dint understand the submission format </p>",
      "rawMarkdown": "Hey\ncan u help me understand which images we take for validation ??\nIs it 80 train-20 test from the 3 video images provided for test ??\nIm a newbie so dint understand the submission format "
    },
    {
      "id": 1657890,
      "postDate": "2022-01-20T14:52:25.187Z",
      "content": "<p>Yes I used it too and am really impressed with the performance and results</p>",
      "rawMarkdown": "Yes I used it too and am really impressed with the performance and results"
    },
    {
      "id": 1657856,
      "postDate": "2022-01-20T14:14:33.203Z",
      "content": "<p>Good job! Why did you guys all use yolov5s but not v5x?</p>",
      "rawMarkdown": "Good job! Why did you guys all use yolov5s but not v5x?",
      "replies": [
        {
          "id": 1657891,
          "postDate": "2022-01-20T14:52:57.053Z",
          "content": "<p>I used v5m. That was enough</p>",
          "rawMarkdown": "I used v5m. That was enough",
          "votes": 2
        }
      ]
    },
    {
      "id": 1653264,
      "postDate": "2022-01-17T11:50:08.933Z",
      "content": "<p>I'll try 9000 and see how it works :-)</p>",
      "rawMarkdown": "I'll try 9000 and see how it works :-)"
    },
    {
      "id": 1653048,
      "postDate": "2022-01-17T07:42:05.030Z",
      "content": "<p>:) rookie here</p>",
      "rawMarkdown": ":) rookie here"
    },
    {
      "id": 1652121,
      "postDate": "2022-01-16T11:10:14.263Z",
      "content": "<p>impressive though you could apply skimage as well</p>",
      "rawMarkdown": "impressive though you could apply skimage as well"
    },
    {
      "id": 1651326,
      "postDate": "2022-01-15T17:16:06.830Z",
      "content": "<p>Great kernel with a simple code.<br>\nBut i think we should think this method can be generalized well to private lb dataset<br>\nWe just have 9 hours for a kernel inference. </p>",
      "rawMarkdown": "Great kernel with a simple code.\nBut i think we should think this method can be generalized well to private lb dataset\nWe just have 9 hours for a kernel inference. "
    },
    {
      "id": 1650674,
      "postDate": "2022-01-15T08:09:15.080Z",
      "content": "<p>nice, work</p>",
      "rawMarkdown": "nice, work\n\n"
    },
    {
      "id": 1650620,
      "postDate": "2022-01-15T07:19:33.370Z",
      "content": "<p>TKS for your share</p>",
      "rawMarkdown": "TKS for your share"
    },
    {
      "id": 1650382,
      "postDate": "2022-01-15T02:33:27.130Z",
      "content": "<p>Thanks for sharing, your work is great!👍</p>",
      "rawMarkdown": "Thanks for sharing, your work is great!👍"
    },
    {
      "id": 1649299,
      "postDate": "2022-01-14T07:06:04.113Z",
      "content": "<p>Simply enlarging input size produce better results. It's amazing but I suspect that this indicates the model architecture of YOLO could be improved, at least for this competition data.</p>",
      "rawMarkdown": "Simply enlarging input size produce better results. It's amazing but I suspect that this indicates the model architecture of YOLO could be improved, at least for this competition data."
    },
    {
      "id": 1649267,
      "postDate": "2022-01-14T06:26:16.533Z",
      "content": "<p>it is time to you guys💪 use 640 --&gt; 3x or 4x or 5x training?</p>",
      "rawMarkdown": "it is time to you guys💪 use 640 --> 3x or 4x or 5x training?"
    },
    {
      "id": 1648563,
      "postDate": "2022-01-13T14:06:51.560Z",
      "content": "<p>amazing！😏👍</p>",
      "rawMarkdown": "amazing！😏👍"
    },
    {
      "id": 1648559,
      "postDate": "2022-01-13T14:04:36.070Z",
      "content": "<p>Agree, Yolo is all you need👍</p>",
      "rawMarkdown": "Agree, Yolo is all you need👍"
    },
    {
      "id": 1648537,
      "postDate": "2022-01-13T13:38:24.323Z",
      "content": "<p>Look forward to…</p>",
      "rawMarkdown": "Look forward to..."
    },
    {
      "id": 1658429,
      "postDate": "2022-01-21T02:57:29.410Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 1656354,
      "postDate": "2022-01-19T09:38:06.903Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 1648561,
      "postDate": "2022-01-13T14:05:43.487Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 1664878,
      "postDate": "2022-01-26T11:04:41Z",
      "content": "<p>Thank you!</p>",
      "rawMarkdown": "Thank you!"
    },
    {
      "id": 1660980,
      "postDate": "2022-01-23T06:15:47.760Z",
      "content": "<p>Thank you!</p>",
      "rawMarkdown": "Thank you!"
    },
    {
      "id": 1659857,
      "postDate": "2022-01-22T06:43:45.977Z",
      "content": "<p>It can work, thanks!</p>",
      "rawMarkdown": "It can work, thanks!"
    },
    {
      "id": 1652441,
      "postDate": "2022-01-16T16:07:15.440Z",
      "content": "<p>Thanks! good code</p>",
      "rawMarkdown": "Thanks! good code"
    },
    {
      "id": 1649512,
      "postDate": "2022-01-14T10:35:15.160Z",
      "content": "<p>thanks for sharing</p>",
      "rawMarkdown": "thanks for sharing"
    }
  ],
  "comments": [
    {
      "id": 1649181,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2022-01-14T03:43:02.130000",
      "content": "<p>here is the magic, using your same model and same code (i just change the input size)</p>\n<pre><code>path='../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt',\n3600          LB 0.579\n4000 (1.11x)  LB 0.586\n4800 (1.33x)  LB 0.590\n5600 (1.55x)  LB 0.594\n6400 (1.77x)  LB 0.596\n7200 (2.00x)  LB 0.603  !!!!??\n9000 (2.50x)  LB 0.613  !!!!???? why it never ends\n...\n...\n# optimun is between 2.50x to 3.50x,  please feel free to explore. \n# i estimate we can get to 6.20\n...\n12600(3.50x) LB 0.557 \n</code></pre>\n<p>but i haven't used yolo5 yet and i don't know about your train data. etc.<br>\nso i cannot tell if the results is overfitting (#1) or having good generalisation.<br>\nhence interprete the results with care!</p>\n<p>(#1) overfitting as in the with enlarged image, the model is producing many FP. BUT for this public test video,<br>\nthe improvement in TP outweighs that of FP. We can't tell for sure in the private set.</p>\n<p>we need to calibrate FP of the models under different input setting, etc</p>\n<hr>\n<p>most top kagglers have tricks in their bags, accumulated from work and competition experiences.<br>\nThis is results from hard work after numerous experiments.</p>\n<p>Now i let one cat of the bag:</p>\n<p>even in past competitions, i have been using this upsizing trick.<br>\nit is interesting to note that when we enlarge input image, there is no addition information.<br>\nbecause the new pixels are interpolated (i.e. information is from the original pixels).<br>\nyet, i have been seeing consisently improvement in results, e.g. in classification, segmentation, object detection</p>",
      "votes": 56,
      "replies": [
        {
          "id": 1649240,
          "author_name": "ShengzheLiu",
          "author_url": "",
          "post_date": "2022-01-14T05:38:20.377000",
          "content": "<p>Hi, I have a quick question:<br>\nDo we have to use the YOLO detector all the time?<br>\nWill other detection models(e.g, Faster RCNN) achieve better results?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1649250,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-14T05:48:28.667000",
          "content": "<p>it depends on the data (and your augmentation).</p>\n<p>all datascience problem as three parts:</p>\n<ol>\n<li>data: how much information are there in the data </li>\n<li>model: how much  information can you model represent</li>\n<li>learning and hyperparamter : whether you know how to learn and use your model to extract all available information from data</li>\n</ol>",
          "votes": 9,
          "replies": []
        },
        {
          "id": 1649259,
          "author_name": "ShengzheLiu",
          "author_url": "",
          "post_date": "2022-01-14T06:04:25.663000",
          "content": "<p>Thank you for your prompt reply!<br>\nI don't think the training data is enough, even though there are 4919 labeled images, they are from videos and have similarities to each other. after reading your previous post, I decided to collect some additional data from the web.<br>\nThanks again for the advice! I've learned a lot from you!</p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1649284,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-14T06:52:14.160000",
          "content": "<p>I wonder if we resize a 720x1280 image into 6000px. the interpolation of so many pixels will reduce the quality of the image. Also, the image is in .jpg format(which is already compressed and some pixels already lost).<br>\nAm I correct? Such a long interpolation generates some noise pixels, isn't it?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649456,
          "author_name": "Tian",
          "author_url": "",
          "post_date": "2022-01-14T09:24:24.957000",
          "content": "<p>GO GO GO!<br>\nLet's see the limits.<br>\n10000 ?<br>\n20000 ?</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649518,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-14T10:43:01.623000",
          "content": "<p>Good direction …. I see that soon we can copy the best solution from this competition: <a href=\"https://www.kaggle.com/c/sartorius-cell-instance-segmentation\" target=\"_blank\">https://www.kaggle.com/c/sartorius-cell-instance-segmentation</a> 😂😂😜</p>\n<p><img src=\"https://i.ibb.co/GWKsrnW/inline-image-preview.jpg\" alt=\"starfish\"></p>\n<p>for people with more GPUs</p>\n<p><img src=\"https://i.ibb.co/7pRJK9j/270x430p135x215.jpg\" alt=\"s1\"></p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1649663,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-14T13:39:25.780000",
          "content": "<p>besides image upsize, what other test time augment can lead to more TP than FP?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649672,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-14T13:49:57.140000",
          "content": "<p>Very good question <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> 😃</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649697,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-14T14:19:41.257000",
          "content": "<p><a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a>  I bet it will be an Astro Cell Type :P </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649726,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-14T14:45:27.337000",
          "content": "<p><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> this prooves that you have spent a lot of time in this competition. You deserve additional prize :) 💪🤜👍😄</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649757,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-14T15:07:15.117000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> You made the LB alive and competitive.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649916,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-14T17:16:17.550000",
          "content": "<p>just realize that we have a video and not single image, and hence:<br>\nvideo resolution or learning better upsizing filter!</p>\n<p>(e.g. using consistency loss to distill 5x input smiliar to 1x input)</p>\n<p>Learning to Resize Images for Computer Vision Tasks<br>\n<a href=\"https://arxiv.org/pdf/2003.08237.pdf\" target=\"_blank\">https://arxiv.org/pdf/2003.08237.pdf</a></p>",
          "votes": 8,
          "replies": []
        },
        {
          "id": 1650238,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-14T23:19:46.923000",
          "content": "<p>sooner or later we're bound to hit memory runtime limits in Kaggle environment after 9k too. I was able to get my current score using  up sizing trick (to 4032) and some other tta inspired from yolo repo and hengck's augmentation for 0.56. </p>\n<blockquote>\n  <p>Learning to Resize Images for Computer Vision Tasks<br>\n  <a href=\"https://arxiv.org/pdf/2003.08237.pdf\" target=\"_blank\">https://arxiv.org/pdf/2003.08237.pdf</a></p>\n</blockquote>\n<p>this is a useful paper imo</p>\n<p>UPD: looks like up-sizing <a href=\"https://www.kaggle.com/sentrankim/only-yolov5-tracking-lb-52\" target=\"_blank\">doesn't work well</a> if initial training size is low so there is indeed a limit for higher res training as well</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1650319,
          "author_name": "liuzhangzhen",
          "author_url": "",
          "post_date": "2022-01-15T00:50:32.927000",
          "content": "<p>6800(LB0.601) <br>\n7600(LB0.610)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1650397,
          "author_name": "Ichimaru Gin",
          "author_url": "",
          "post_date": "2022-01-15T03:05:37.020000",
          "content": "<p>10200 (LB 0.602) <br>\nI guess it end here 😄</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650402,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-15T03:12:10.780000",
          "content": "<p>It finally reaches end. Maybe probing confidence threshold make it better.<br>\n10800(LB 0.602)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650435,
          "author_name": "Phat Tran",
          "author_url": "",
          "post_date": "2022-01-15T03:35:50.683000",
          "content": "<p>I just woke up and see everyone jump on the LB :D </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1650437,
          "author_name": "Max van Dijck",
          "author_url": "",
          "post_date": "2022-01-15T03:38:09.723000",
          "content": "<p>It seems that using two stage detectors results in a performace trade off which won't allow for the upsizing of images as effectively… however it is always worth experimenting with. My best two stage detector reached 0.578 but currently is a 2 hour runtime.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650530,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-15T05:17:19.597000",
          "content": "<p>Sorry, I have not foresee this, I should not release this. Apology to the turbulence of leaderboard</p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1650549,
          "author_name": "Alex Wong",
          "author_url": "",
          "post_date": "2022-01-15T05:36:50.510000",
          "content": "<p>My understanding is that the private LB will be run with 75% of the test dataset? In that case, any notebook that takes &gt; 3 hours to complete will breach the 9 hr limit on the private LB?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650577,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T06:12:10.853000",
          "content": "<p>Nope, it is already counted but hidden don't worry :)</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1650798,
          "author_name": "Alex Wong",
          "author_url": "",
          "post_date": "2022-01-15T10:32:35.233000",
          "content": "<p>Thanks, that's good to know. Does that mean any notebook that runs to completion can be counted for the final / private LB?</p>\n<p>9 hrs is a ridiculous amount of time.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650882,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T11:45:42.123000",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> actually this is an important contribution since even for public notebooks or well known frameworks, it is our job as participants to find the best hyperparams. </p>\n<p>However if in the final solution we were to see a few gold/silver medals won solely due to a single parameter change we'll feel a bit defeated and maybe even call that participant's hard work luck or \"easy-work\". Your contribution helped normalise this parameter tuning discrepancy and now we can move on to implementing techniques on top of these hyperparams :)</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1650885,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T11:51:58.240000",
          "content": "<p><a href=\"https://www.kaggle.com/alexchwong\" target=\"_blank\">@alexchwong</a> yup you will have an option to select 4 notebooks at the end of the competition out of which best score on private holdout(which has already been calculated) will determine your private lb rank (you can select them now too but you'll probably get 4 better scores in the next month)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1650898,
          "author_name": "dragon zhang",
          "author_url": "",
          "post_date": "2022-01-15T12:01:56.743000",
          "content": "<p>great, kind of fractal enlargement. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651176,
          "author_name": "Garvit Garg",
          "author_url": "",
          "post_date": "2022-01-15T15:49:58.533000",
          "content": "<p><a href=\"https://www.kaggle.com/alexchwong\" target=\"_blank\">@alexchwong</a>  Please refer to this discussion <br>\n<a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/301020\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/301020</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651562,
          "author_name": "Alex Wong",
          "author_url": "",
          "post_date": "2022-01-15T21:05:40.180000",
          "content": "<p>Thanks guys thats very helpful</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2506668,
      "author_name": "zhiyue666",
      "author_url": "",
      "post_date": "2023-10-31T13:18:15.977000",
      "content": "<p>thanks a lot, sheep big old and frog god</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2558274,
          "author_name": "secondcaiji",
          "author_url": "",
          "post_date": "2023-12-12T03:28:53.543000",
          "content": "<p>you are so cool,my god</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1656668,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2022-01-19T14:32:45.487000",
      "content": "<p>i think i have solved the puzzle</p>\n<p><img src=\"https://i.ibb.co/FHQsG3J/Selection-005.png\" alt=\"https://i.ibb.co/FHQsG3J/Selection-005.png\"></p>\n<p>the safest bet is to use public LB to measure your recall only. I think there is insufficient images to measure FPrate and precision. Hence use another dataset for that</p>",
      "votes": 23,
      "replies": [
        {
          "id": 1656688,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-19T14:49:02.497000",
          "content": "<p>I am starting to think your tactic is to confuse everybody <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> , you throwed so many ideas maybe with intention that somebody will test it. But your graph now proves that IMG_SIZE is not all you need :)</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1656701,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-19T14:57:24.297000",
          "content": "<p>large image size improve recall. but if you visually inspect the results, you do see many FP. <br>\nif you measure local validation, there is improvement in the local cv f2 score but not to the extent of 2.5x times. (I am referring to the results on my experiment on sheep models, i.e train at 3600, inference at much higher resolution)</p>\n<p>hence I conclude that the number of empty images in your local cv and public test set are different.<br>\nthere is clearly a huge difference in trend on local cv and public lb score.</p>\n<p>if there is too many empty images in the private set, the gain in recall will be eaten away by too many FPs and you will have low f2 score. this will cause shakeup.</p>\n<p>you have to measure your fp rate of your solution (and keep it low enough). i don't think the public lb score reflect this well enough, due to the lack of sufficient images.</p>\n<p>in short:</p>\n<ol>\n<li>if you want to use large image size, do reduce the fp rate</li>\n<li>don't trust so much on the public lb only. you should consider public lb together with your local cv and try to explain the difference</li>\n</ol>",
          "votes": 7,
          "replies": []
        },
        {
          "id": 1656705,
          "author_name": "Leon",
          "author_url": "",
          "post_date": "2022-01-19T15:02:06.087000",
          "content": "<blockquote>\n  <p>your tactic is to confuse everybody</p>\n</blockquote>\n<p>I think <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> is well-intentioned. All these are observations based on experiments, nothing to confuse others on purpose.</p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1656709,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-19T15:02:53.760000",
          "content": "<p>yes this is what we do everytime test with full fold (with empties also) and there is border where FP are less. Doesn't work :)</p>\n<p><img src=\"https://i.ibb.co/jLmCPf1/F2-curve.png\" alt=\"\"></p>\n<p>Our models got high confidence from 0.4 to 0.6 removing FP but as you see its not the case this model got LB 0.59</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1656713,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-19T15:04:51.870000",
          "content": "<p><a href=\"https://www.kaggle.com/zzy990106\" target=\"_blank\">@zzy990106</a> to bo accurate i said i am starting to think, i didnt claimed <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> is confusing everybody</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1656717,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-19T15:11:04.437000",
          "content": "<p>You gave some hypotheses, but you have no evidence to prove their correctness. Usually people show a hypothesis and then evidence to prove it right, eg increase in the result of their model, score , etc. Here are theses, but only theses and no facts … This picture just show that …. rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way … \"oh no …. I will be punished ….\".   </p>\n<p>I am giving one example of an experiment carried out on a selected fold (we conducted this experiment on many different configuration). Which model do you think is significantly better on the LB?</p>\n<p><img src=\"https://i.ibb.co/Q8PGsyC/exp1.jpg\" alt=\"Grafika\"></p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1656722,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-19T15:15:55.063000",
          "content": "<p>the issue now is that we don't know how many truth objects and how many empty images are there in the public test set. my experiments show that when there are insufficient images (and truth objects) the f2 score varies quite greatly.</p>\n<p>in order to avoid shakeup, our model must perform well against various combinations of number of objects and empty images.  (we need to plot f2 curve for different combinations)</p>\n<p>using larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall. a stable results must come from both improving recall and precision. i think the public LB score only reflects recall. so one has to be careful to interpret the results to avoid shakeup.</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 1656726,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-19T15:21:23.730000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> you think why i implemented f2 curve and why Remek made TP FP FN analysis ?:) we doing it from long time. Did you see our submission number ? we test it with many ways, and got many ways still to test</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1656729,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-19T15:24:42.930000",
          "content": "<p>\"experiment carried out on a selected fold\"</p>\n<p>the fold is fixed, so I would interpret the results with care.<br>\nalso, public data is also fixed.</p>\n<p>besides FP,FN,FP I would try also different num of empty images and no. of true objects in the table.</p>\n<p>i want to know how sensitive the metrics are when the dataset changes.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1656732,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-19T15:27:53.947000",
          "content": "<p>\" This picture just show that …. rescaling is finally bad way of winning (you will be punished in priv LB). Now I can see many people who took this way … \"oh no …. I will be punished ….\".\"</p>\n<p>there will be no problem if you can keep your curve straight (instead of falling down)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1656734,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-19T15:29:28.357000",
          "content": "<p>I have once trained a model. don't know if it cause because of my split. it was one of my initial experiments. <br>\ni trained a model which had a great recall and inferred it. Give me a bad score like 0.382 or something.<br>\nMy hypothesis is that, both public and private have the same density percentage of nonempty and empty images.<br>\nperhaps like </p>\n<pre><code>frame 1  -&gt; Empty =&gt; private\nframe 2  -&gt; Empty =&gt; private\nframe 3  -&gt; Empty =&gt; private\nframe 4  -&gt; Empty =&gt; private\nframe 5  -&gt; Empty =&gt; public\nframe 6  -&gt; Empty =&gt; public\nframe 7  -&gt; Empty =&gt; public\nframe 8 ... frame m  -&gt; Empty =&gt; public\nframe m+1 -&gt; Non Empty =&gt; private\nframe m+2 -&gt; Non Empty =&gt; private\nframe m+3 -&gt; Non Empty =&gt; private\nframe m+4 -&gt; Non Empty =&gt; private\nframe m+5 -&gt; Non Empty =&gt; public\nframe m+6 .. frame n -&gt;Non Empty =&gt; public\nand so on\n</code></pre>\n<p>The reason why I say they into split first 4 consecutive frames is because why tracking working</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1658038,
          "author_name": "AnhMeow",
          "author_url": "",
          "post_date": "2022-01-20T16:56:01.790000",
          "content": "<p>I think we are simply inferring sequentially on frames but public LB is a 'random' (or not) select of frames afterwards</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1658425,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-21T02:55:42.767000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1658430,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-21T02:58:50.103000",
          "content": "<blockquote>\n  <p>using larger inference image obviously don't reduce FP, so the gain in public LB score must come from the recall.</p>\n</blockquote>\n<p>My experiments supports this hypothesis for the case of my model.<br>\nI estimated recall and precision in the Leader board [1], and have result below.<br>\nIn this result, recall is higher when we infer larger scale than that in train, whereas precision is nearly the same.<br>\nOf course we need more sample because it depends on the model.<br>\nI don't confirm this result is generally applicable.</p>\n<p>train scale: x2.00, infer scale: x2.00</p>\n<pre><code>      R     P\nmean: 0.557 0.534\nstd:  0.028 0.106\n</code></pre>\n<p>train scale: x2.00, infer scale: x3.20 (x1.60 larger than train scale)</p>\n<pre><code>      R     P\nmean: 0.623 0.527\nstd:  0.007 0.020\n</code></pre>\n<p>[1] <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130#1658385\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130#1658385</a></p>",
          "votes": 5,
          "replies": []
        }
      ]
    },
    {
      "id": 1648542,
      "author_name": "Psi",
      "author_url": "",
      "post_date": "2022-01-13T13:41:07.850000",
      "content": "<p>I should start with competitions one month before deadline, apparently it is the time people release good solutions.</p>",
      "votes": 18,
      "replies": [
        {
          "id": 1648598,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-13T14:42:13.867000",
          "content": "<p>This is not a good solution, just a custom run of yolo5.  </p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1649389,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-14T08:40:20.480000",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> this is a brilliant notebook. After trying 100 methods, finally found one secret of this competition (although it is no longer a secret).</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649758,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2022-01-14T15:08:06.843000",
          "content": "<p><a href=\"https://www.kaggle.com/philippsinger\" target=\"_blank\">@philippsinger</a> </p>\n<p>That's why I am entering now…</p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1649761,
          "author_name": "Psi",
          "author_url": "",
          "post_date": "2022-01-14T15:11:49.023000",
          "content": "<p>good idea <a href=\"https://www.kaggle.com/cpmpml\" target=\"_blank\">@cpmpml</a> - the public lb is now as high as we got after 2 months of fighting hard</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 1649766,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2022-01-14T15:16:26.523000",
          "content": "<p>To tell the truth I didn't plan to spend so much time on santa comp. I would have joined earlier otherwise.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1649781,
          "author_name": "Psi",
          "author_url": "",
          "post_date": "2022-01-14T15:24:27.730000",
          "content": "<p>New NLP one might be an alternative, more time :P</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649918,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2022-01-14T17:17:16.703000",
          "content": "<p>The one Abishek just ruined?</p>",
          "votes": 8,
          "replies": []
        },
        {
          "id": 1649924,
          "author_name": "Chun Ming Lee",
          "author_url": "",
          "post_date": "2022-01-14T17:21:36.427000",
          "content": "<p>Funny coincidence</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649925,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-14T17:22:56.863000",
          "content": "<p>You Only Longformer Twice</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1657271,
      "author_name": "outwrest",
      "author_url": "",
      "post_date": "2022-01-20T04:23:20.987000",
      "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> I did some testing on the notebook after finding out exactly what augment=True does. According to the yolov5 code, it scales images at 1x, 0.83x (also flips horizontally), and 0.67x. Inferencing at higher resolutions can still pick up bboxes from previous and lower resolutions. Here is some data that might help with augment=False at the same resolutions you tested.</p>\n<pre><code>Resoluton     With Aug.  W/O Aug.\n3600 (1.00x)  LB 0.579 | LB 0.577\n4000 (1.11x)  LB 0.586 | LB 0.583\n4800 (1.33x)  LB 0.590 | LB 0.575\n5600 (1.55x)  LB 0.594 | LB 0.586\n6400 (1.77x)  LB 0.596 | LB 0.597\n7200 (2.00x)  LB 0.603 | LB 0.610\n9000 (2.50x)  LB 0.613 | LB 0.584\n12600(3.50x) LB 0.557 |  ????\n</code></pre>\n<p>Could it be that the model learned the sizes of small, medium, and large cots, was able to find more \"smaller\" ones with higher resolutions? The NMS looks like it helps but it there's still a lot of error. Some F2 testing is needed on the last video for more confirmation.</p>\n<p>One thing this does show: Augment is not a big factor in the public leaderboard score and maybe with a bigger model (Large or medium), we can inference with augment=False for 2/3 reduction in submission time. Hopefully, this helps!</p>",
      "votes": 13,
      "replies": [
        {
          "id": 1657285,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-20T04:40:02.673000",
          "content": "<p><a href=\"https://www.kaggle.com/outwrest\" target=\"_blank\">@outwrest</a> this is insightful. Have you noted exact time difference?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1657313,
          "author_name": "outwrest",
          "author_url": "",
          "post_date": "2022-01-20T05:07:07.573000",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> I’m not sure exactly, I know the 9000px one ran in under 3h (or just about, not 100% sure). The time should scale with resolution but with Augment=True you are basically running an inference 3 times on every image (albeit at a smaller resolution).</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1657915,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-20T15:24:08.423000",
          "content": "<p>Model which gave LB of 0.648 is giving LB of 0.384 at incresed image size and No TTA. Inference time is decreased by ~2.5 hrs but poor LB.  </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1657942,
          "author_name": "outwrest",
          "author_url": "",
          "post_date": "2022-01-20T15:44:25.530000",
          "content": "<p>I haven't tried it on one of the models, I'll try it out later but it looks like the 2.5x sweet spot from the last model is causing too many abnormally small predictions and maybe the NMS was getting rid of a lot of them when using TTA at smaller resolutions? I'm not exactly sure if it helped, but I forgot to mention that I tried to mitigate that by adding this to the inference function:</p>\n<pre><code>area = (int(row.xmax) - int(row.xmin)) * (int(row.ymax) - int(row.ymin))\nif row.confidence &gt; 0.15 and area &gt; 250:\n</code></pre>\n<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> I don't think this can work on everything but I am going to try to experiment with other augmentations on the yolov5 function here:<br>\n<a href=\"https://github.com/ultralytics/yolov5/blob/9708cf56eaead29bce789a07cfe73ecc7d7d4838/models/yolo.py#L128\" target=\"_blank\">https://github.com/ultralytics/yolov5/blob/9708cf56eaead29bce789a07cfe73ecc7d7d4838/models/yolo.py#L128</a><br>\nMaybe inferencing at the same high resolution is good with other TTA's.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1662190,
          "author_name": "cool_rabbit",
          "author_url": "",
          "post_date": "2022-01-24T05:31:41.367000",
          "content": "<p>In my experiment, inference with 2x resolution boosted LB score, but CV got worse.<br>\nTraining: 2560 (train: video0&amp;2, valid: video1)<br>\nTest inference: 2560→5120<br>\nLB: 0.486-&gt;0.540<br>\nCV: 0.533-&gt;0.473<br>\nHow about your CV? Is it improved??</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1648571,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2022-01-13T14:12:28.370000",
      "content": "<p>according to the cots dataset paper </p>\n<p>\"We set the GoPro cameras to record videos continuously at 24 frames per second at 3840x2160 resolution and manually removed the periods of no activity between transects\"</p>\n<p>it would be better if kaggle has released the original high resolution image</p>",
      "votes": 12,
      "replies": [
        {
          "id": 1648603,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-13T14:45:27.463000",
          "content": "<p>Yeah, I guess host worry that if they release original image this will become a hardware war. Not every guy here have tons of A100s and A6000s</p>",
          "votes": 15,
          "replies": []
        },
        {
          "id": 1648641,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T15:09:52.130000",
          "content": "<p>They probably got good solution, but they throw it on kaggle to find new path to implement on original reso :)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1649076,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-14T00:15:47.073000",
          "content": "<p>the application is robotics. for good results (e.g. near zero FP), algorithm should fuse with the path planning or sensor of the robots. as an example:</p>\n<ol>\n<li>for far objects, it is small and low resolution.<br>\nagorithm apporach to improve results is to think of better model or increase resolution or improve quality  of the images</li>\n</ol>\n<p>robotic approach is just to move the robot closer and take a bigger picture of the suspected object  </p>\n<ol>\n<li>as another exmple, if the environment is dark, object is not clear<br>\nagain, agorithm apporach tries to improve model, etc</li>\n</ol>\n<p>robotic approach is just to  increase camera gain to take better picture.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1649123,
          "author_name": "Roc",
          "author_url": "",
          "post_date": "2022-01-14T01:27:24.150000",
          "content": "<p>Hahaha… You have started this hardware war.😃</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1651637,
      "author_name": "Amin",
      "author_url": "",
      "post_date": "2022-01-15T23:09:24.283000",
      "content": "<p>Does this work on CV as well? I trained a YoloV5m with image size 3000:<br>\nCV= 0.428<br>\nLB=0.652 (inference imsize: 6000)</p>\n<h5>UPDATE:</h5>\n<p>I had a bug in my F2 implementation, the new score:<br>\nCV=0.528 (inference imsize: 3000)</p>",
      "votes": 9,
      "replies": [
        {
          "id": 1652565,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-16T18:39:34.397000",
          "content": "<p>nice! is this CV score F2? with empty images as well maybe? </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1653001,
          "author_name": "SeshuRaju 🧘‍♂️",
          "author_url": "",
          "post_date": "2022-01-17T06:55:52.593000",
          "content": "<p><a href=\"https://www.kaggle.com/amin\" target=\"_blank\">@amin</a> how many epochs you trained ? </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1653296,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-17T12:19:53.097000",
          "content": "<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> Yes it's F2 score, I am using all the images with the subsequence split from <a href=\"https://www.kaggle.com/julian3833/reef-a-cv-strategy-subsequences\" target=\"_blank\">this notebook</a>, csv file train-0.2.csv<br>\nThe F2 score I report was calculated only at the 0.5 thresh. I retrained Yolov5l6 and calculated F2 over the thresholds 0.3-0.8 and the new CV=0.53 (inf size=3000) LB=0.624 (inf size=6000).</p>\n<p><a href=\"https://www.kaggle.com/seshurajup\" target=\"_blank\">@seshurajup</a> For 15 epochs (best epoch: 8), I tried to replicate the pipeline shared by sheep to compare with the benchmark.</p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1653465,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-17T14:54:22.463000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1653476,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-17T15:03:41.250000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> After 6-7 epochs mAP starts to saturates. Can you share which optimizer you are using and also if you using image shear and rotation with Yolov5m?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1653502,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-17T15:37:30.580000",
          "content": "<p>I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1656751,
          "author_name": "DiamondH",
          "author_url": "",
          "post_date": "2022-01-19T15:48:56.553000",
          "content": "<p>I've done the same as you said, but always failed at epoch 3, things didn't go well😅</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658096,
          "author_name": "SeshuRaju 🧘‍♂️",
          "author_url": "",
          "post_date": "2022-01-20T18:23:59.100000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> which kernel you used to measure CV ? since i am getting CV as 0.522 for same split </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658343,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T00:28:57.960000",
          "content": "<p><a href=\"https://www.kaggle.com/w3579628328\" target=\"_blank\">@w3579628328</a> It seems that many people couldn't reproduce sheep's notebook either, I am not sure why is that :) <br>\n<a href=\"https://www.kaggle.com/seshurajup\" target=\"_blank\">@seshurajup</a> I am currently getting the same CV as you for inference size 3000. By CV I mean the F2 validation score per epoch, I calculate F2 by adding this line to the <code>ap_per_class</code> function in utils/metrics.py<br>\n<code>f2 = 5 * p * r / (4 * p + r + 1e-16)</code><br>\nAnd then pass it through the fitness function to compute F2 over the IoU 0.3-0.8 thresholds.<br>\n<img src=\"https://i.ibb.co/yk2f1p5/Screen-Shot-2022-01-21-at-01-21-27.png\" alt=\"\"></p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1658350,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-21T00:34:19.867000",
          "content": "<p><a href=\"https://www.kaggle.com/Amin\" target=\"_blank\">@Amin</a> Can you please explain what you mean by the fitness function?</p>\n<p>This is all I see in metrics.py for the fitness function:</p>\n<p>def fitness(x):<br>\n    # Model fitness as a weighted combination of metrics<br>\n    w = [0.0, 0.0, 0.1, 0.9]  # weights for [P, R, mAP@0.5, mAP@0.5:0.95]<br>\n    return (x[:, :4] * w).sum(1)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658370,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T01:10:47.623000",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> so the first step is to add the F2 line of code to ap_per_class function and return the F2 as well:<br>\n<code>return tp, fp, p, r, f2, ap, unique_classes.astype(\"int32\")</code></p>\n<p><strong>STEP 2</strong>: Go to val.py and modify these lines by adding f2:</p>\n<pre><code>tp, fp, p, r, f2, ap, ap_class = ap_per_class(*stats, plot=plots, save_dir=save_dir, names=names)\nap50, ap, f2 = ap[:, 0], ap.mean(1), , f2.mean(1)  # AP@0.5, AP@0.5:0.95, f2@0.3:0.8\nmp, mr, f2, map50, map = p.mean(), r.mean(), f2.mean(), ap50.mean(), ap.mean()\n</code></pre>\n<p>Also change this line:</p>\n<pre><code>iouv = torch.linspace(0.5, 0.95, 10).to(device)  # iou vector for mAP@0.5:0.95\n</code></pre>\n<p>to </p>\n<pre><code>iouv= torch.from_numpy(np.arange(0.3, 0.85, 0.05)).to(device)\n</code></pre>\n<p>and return the f2 score (I return it in the 5th position):</p>\n<pre><code>     return (mp, mr, map50, map, f2, *(loss.cpu() / len(dataloader)).tolist()), maps, t\n</code></pre>\n<p><strong>STEP 3:</strong> In the fitness function in utils/metrics.py add another weights 1.0 in the 5th position (depends on where you put the f2 in the above return) and give the other metrics a weight of 0.0:</p>\n<pre><code>def fitness(x):\n# Model fitness as a weighted combination of metrics\nw = [0.0, 0.0, 0.0, 0.0, 1.0] # weights for [P, R, mAP@0.5, mAP@0.5:0.95, F2@0.3:0.8]\n      return (x[:, :5] * w).sum(1)\n</code></pre>\n<p>To log F2 scores in wandb, add this code in train.py</p>\n<pre><code>            if loggers.wandb:\n                    loggers.wandb.log({\"F2\": fi})  # W&amp;B\n</code></pre>\n<p>You'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable, you can avoid it by returning f2 instead of map50 to keep the same shape of the results.</p>",
          "votes": 14,
          "replies": []
        },
        {
          "id": 1658394,
          "author_name": "SeshuRaju 🧘‍♂️",
          "author_url": "",
          "post_date": "2022-01-21T01:49:09.617000",
          "content": "<p>Thanks, Got it what mistake i am doing </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658837,
          "author_name": "NoChanged",
          "author_url": "",
          "post_date": "2022-01-21T10:51:52.823000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  Can you tell me which batch size did you use with yolov5m?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658864,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-21T11:13:59.737000",
          "content": "<p>Hey, <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Impressive score. May I know what change you made to get CV 0.528? Are the above-mentioned changes in the yolov5 are correct or not?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658910,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-21T12:01:54.523000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> </p>\n<p>do you use Yolo-s or L? (FYI sheep's is with <code>s6</code>, <code>--weights yolov5s6.pt</code>)  </p>\n<blockquote>\n  <p>You'll probably have to change something else in train.py to avoid some size mismatch errors because of the additional f2 variable</p>\n</blockquote>\n<p>as long as <code>x, w</code> mult is valid and <code>fitness(x)</code> returns a single value should work OK.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658913,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-21T12:03:18.470000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> thanks for sharing this, solved my errors. <a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> the above modifications are correct. There are some more modifications which can be done in order to log and visualize F2 score metrics on <code>wandb</code> while training. I will be sharing that in a new post….maybe beneficial for everyone in this competition. </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658950,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-21T12:29:42.723000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Thanks for such an in-depth explanation. I was able to modify the code. I think I just had to make some changes in one of the callbacks so that it would log all metrics. </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658969,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-21T12:47:51.397000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> can u plz tell where extact in train.py changes needed. I am getting error and I am not able to solve it</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1658971,
          "author_name": "Ơ con lừa!",
          "author_url": "",
          "post_date": "2022-01-21T12:49:18.950000",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> hi, Which batch size did you use in training</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658986,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-21T13:15:28.797000",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> What error are you getting?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659002,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T13:31:46.940000",
          "content": "<p><a href=\"https://www.kaggle.com/nochanged\" target=\"_blank\">@nochanged</a> I used batch size of 2, batch size of 1 with higher resolution is too slow.</p>\n<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> I hope this is correct and I am not misleading anybody :))) The bug I had before was related to computing F2 only at the 0.5 threshold, not averaging over 0.3:0.8 thresholds. The new CV looks reasonable now given that my best model would score 0.5x on LB with inference size of 3000 instead of 6000.</p>\n<p><a href=\"https://www.kaggle.com/imeintanis\" target=\"_blank\">@imeintanis</a> I am using yolov5m6 weights, the only thing I am doing different to sheep is saving the weights based on F2 instead of mAP</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1659008,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-21T13:40:11.087000",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> and <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  I am getting errors in train.py file while computing in val.py file at end on epoch 1<br>\n<a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> can u also tell change in train.py files</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659010,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-21T13:41:26.397000",
          "content": "<p>What is the difference between the five fold csv file and the 0.2 csv? Is there any advantage to using one over the other?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659014,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-21T13:45:18.477000",
          "content": "<p><a href=\"https://www.kaggle.com/deptraicute\" target=\"_blank\">@deptraicute</a> I am using batch_size of 4 with small models and resolution of 3000.<br>\n<a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> solution for that errors on the way :)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659017,
          "author_name": "Ơ con lừa!",
          "author_url": "",
          "post_date": "2022-01-21T13:48:38.680000",
          "content": "<p><a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> Thanks you!</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659027,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T13:58:50.620000",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> You have to update the callbacks to fit the new metrics, it seems <a href=\"https://www.kaggle.com/sanchitvj\" target=\"_blank\">@sanchitvj</a> is preparing a solution for this :) </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1659031,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-21T14:02:32.963000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> I trained like 14 epochs or something but I still reach like 0.49x</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659072,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-21T14:30:07.037000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> for this model, what IOU and Confidence u used while inference?<br>\n CV=0.528 (inference imsize: 3000)<br>\nLB= 0.652 (inference imsize: 6000)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659079,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-21T14:34:23.657000",
          "content": "<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> <a href=\"https://www.kaggle.com/deptraicute\" target=\"_blank\">@deptraicute</a> <a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> solution out <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302241\" target=\"_blank\">here</a> :))</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1659121,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T15:07:39.370000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> Did you use the same CV split I mentioned above? I am retraining the yolov5m6 again, I will report the F2 scores again once training is done</p>\n<p><a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> I used the same inference notebook shared by sheep, I didn't modify it.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659150,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-21T15:21:59.223000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a>  thanks to share the info…<br>\nits quite weird that we cant able to reproduce results🤣</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659190,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-21T16:06:47.353000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Thank you. yes, i am using the same split!</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659254,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-21T16:34:40.063000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> What is the difference between the five fold csv file and the 0.2 csv? Is there any reason you chose one over the other?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1659291,
          "author_name": "Amin",
          "author_url": "",
          "post_date": "2022-01-21T17:15:56.370000",
          "content": "<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> There is no specific reason I chose it :) I just picked it to have the same split as my teammates for benchmarking. The author of the split notebook used StratifiedKFold for both 0.2csv and 5folds, so there shouldn't be much difference between them.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659723,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-22T04:31:31.057000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> are u using only annotated images or with annotated all non-annotated images as well?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1659933,
          "author_name": "Hiếu Phạm Trần Minh",
          "author_url": "",
          "post_date": "2022-01-22T08:23:44.050000",
          "content": "<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Did you check your LB at size 3000 with yolov5m?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1660399,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-22T16:41:51.083000",
          "content": "<blockquote>\n  <p>Yes it's F2 score, I am using all the images with the subsequence split from this notebook, csv file train-0.2.csv</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/amiiiney\" target=\"_blank\">@amiiiney</a> Do you filter out the images with no bounding boxes before training?</p>\n<blockquote>\n  <p>I am using SGD with lr=0.01 the defaults parameters. It seems that with this configuration there is no need to train for more than 8 epochs. And no, I am not using rotation/shear</p>\n</blockquote>\n<p>Are the default parameters the ones found in hyp.scratch.yaml?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1653346,
      "author_name": "clwclw",
      "author_url": "",
      "post_date": "2022-01-17T13:06:29.077000",
      "content": "<p>Any one can reproduce the training notebook of yolov5s6, 3600 with 15 epoch? I can only get 0.48 for lb, and cv(on video 1) is also much lower than sheep big brother. </p>",
      "votes": 10,
      "replies": [
        {
          "id": 1653402,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-17T13:53:53.820000",
          "content": "<p>Not sure why the downvote ,but yes , i could not reproduce it exactly although not as low as you ,but surely not .579 . Not sure what is going on . My CV was exactly same as sheep though . </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1653522,
          "author_name": "Sarvagya Malaviya",
          "author_url": "",
          "post_date": "2022-01-17T15:57:30.293000",
          "content": "<p>I believe the split used on the training notebook is different compared to what the 0.579 model was trained on. I speculate this based on the filename for the weights (it says fold 12). Maybe it was trained on the 12th fold of the 20 fold subseq split?</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1653544,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-17T16:20:46.777000",
          "content": "<p>No when you run the same experiment multiple times in Yolo5 it will append a sequence number at the end of the experiment folder . e.g run1,run2, run3  etc so fold1 became fold12 in second run ..this is my theory </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1653599,
          "author_name": "omarsamir",
          "author_url": "",
          "post_date": "2022-01-17T17:15:46.690000",
          "content": "<p>I can't also get the same results. When I trained on the same train split and same hyberparameters I got only 0.48 LB</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654080,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-18T06:06:01.887000",
          "content": "<p>I use this cmd for local training</p>\n<pre><code>python train.py --img 3600 --batch 4 --epochs 15 --data reef_f1_naive.yaml --weights yolov5s6.pt --name l6_3600_uflip_vm5_f1 --hyp data/hyps/hyp.heavy.2.yaml\n</code></pre>\n<p>I am not sure the cause of the reproduction issue.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1654109,
          "author_name": "Tian",
          "author_url": "",
          "post_date": "2022-01-18T06:49:43.427000",
          "content": "<p>failed to reproduce. +1</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1654115,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T07:05:12.523000",
          "content": "<p>Forget about <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> 's model , i cant reproduce my own models …lol</p>",
          "votes": 7,
          "replies": []
        },
        {
          "id": 1654117,
          "author_name": "dragon zhang",
          "author_url": "",
          "post_date": "2022-01-18T07:14:12.360000",
          "content": "<p>I got 0.567 with batch=1 due to GPU limit.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654119,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-18T07:20:21.760000",
          "content": "<p>batch_size=1 won't give good results because Yolos use batch norm (sync BN).</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1654183,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T08:48:20.847000",
          "content": "<p>They also use Gradient Accumulation and adjusts weight decay based on batch size </p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1654254,
          "author_name": "Hoda",
          "author_url": "",
          "post_date": "2022-01-18T10:50:24.717000",
          "content": "<p>batch_size=1 is not giving a good result and batch_size&gt;1 is giving an error on GPU on kaggle. I am not sure if we need to move to another platform or I made a mistake.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654266,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-18T11:08:34.727000",
          "content": "<p>train on cropped images are better solution then accumulated gradient. you have variation from different images and your bn statistics will be more stable</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 1654322,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-18T11:41:08.133000",
          "content": "<p>\"I am not sure the cause of the reproduction issue.\"</p>\n<p>training objection detection can be unstable if the number of annotation is few and the data is difficult.<br>\nimagine you have a batch of 8 images with 8 truth bbox, verus another batch with 32 truth bbox.</p>\n<p>loss may changes from batch to batch.</p>\n<p>a soultion is to modified your sampler os that num of bbox per batch is fairly constant. but this is difficult becuase augmentation also changes number of true bbox (e.g. when you scale image, boxes become too small are ignore)</p>\n<p>this is also why when you check the code of the loss for object detection, they are normalised by number of truth object</p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1654447,
          "author_name": "Dwight Foster",
          "author_url": "",
          "post_date": "2022-01-18T14:20:48.557000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> So is it a better idea to train on smaller image sizes with larger batch sizes?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654642,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-18T17:22:14.300000",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>. I think you did something on the source code, perhaps. because when I looked into your weights. you cropped all the information of epoch number and the best_fitness score and also a couple of values. I may ask: have you done it to reduce the file size? I guess it won't reduce much</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1656024,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-19T03:44:27.600000",
          "content": "<p>I did NOTHING on source code, It is yolov5's host who decide only to save the model weight on <code>weights/best.pt</code>, If you still have some question on this, It is better for you to run some demo code and check the weight first.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1656621,
          "author_name": "Anshul Khadse",
          "author_url": "",
          "post_date": "2022-01-19T13:40:54.983000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> …. it's true that <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>  doe not do anything with its weight file..and u are also correct at ur position is that why u are notable able to see model training details on the trained model… the reason is that in YOLOv5 when u trained ur model at the end of training it does striping of the model weight file it means it deletes model optimizer states and along with that it also removes the information about for many epoch ur models is trained on….the reason for this is keeping optimizer states in model inferencing is no used and it unnecessarily increases the weight file size that's why this stripping is done…it will reduce the weight file size</p>\n<p>Striping comes with some drawbacks also that u can't really much fine-tune the same weight file due to the absence of optimizer state…and due to stripping model weight file size gets changed with same initials pre-trained weights.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1658617,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-21T07:07:46.763000",
          "content": "<p>Thank you! <a href=\"https://www.kaggle.com/anshulkhadse\" target=\"_blank\">@anshulkhadse</a> and Sorry <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1649263,
      "author_name": "Hannah B",
      "author_url": "",
      "post_date": "2022-01-14T06:24:06.817000",
      "content": "<p>4k is always better than 1080p 😆</p>",
      "votes": 5,
      "replies": []
    },
    {
      "id": 1653223,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2022-01-17T11:15:29.017000",
      "content": "<p>i want to study more about lb metric and the reasons and effects of doing inference at higher resolution.<br>\nanyone has local CV (validation set = video1) at 3600 for the given model  '../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt' ?</p>\n<p>I am getting around 0.57 for local CV</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1653451,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-17T14:36:59.953000",
          "content": "<p>Your CV is very similiar to mine.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1653580,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-17T16:58:18.820000",
          "content": "<p>How do you calculate the CV? And this is f2 score right? I was getting <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res#F2-Score-Helpers\" target=\"_blank\">0.69 at image size =3600 </a> for sheeps model </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1653683,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-17T19:35:44.663000",
          "content": "<p>I got about the same on CV <code>0.69x at img size=3600, conf 0.1</code> (~2100 images with annot)</p>\n<p>EDIT: maybe the <code>0.57</code> is for all images including empty ones (8232 images, 6133 empty) ?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654025,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-18T04:27:49.090000",
          "content": "<p>IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</p>\n<p>i thinnk there is a bug in <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook</a></p>\n<p>(it reported CV of 0.69)</p>\n<p><a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/comments\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/comments</a></p>\n<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> , I think there is a bug in your code:</p>\n<ul>\n<li>you use +1 in computation of the area</li>\n</ul>\n<pre><code>boxAArea = (x12 - x11 + 1) * (y12 - y11 + 1)\nboxBArea = (x22 - x21 + 1) * (y22 - y21 + 1)\n</code></pre>\n<ul>\n<li>but you used gt_bboxs_list, prd_bboxs_list which are normalised coordinates in the range of 0,1</li>\n</ul>\n<hr>\n<p>would the host evaluation code also have such bug ???</p>",
          "votes": 7,
          "replies": []
        },
        {
          "id": 1654033,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-18T04:42:33.930000",
          "content": "<p>i spend a whole day catching the bug and has other interesting findings. let's denote</p>\n<p>(a) <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook</a><br>\n(b) <a href=\"https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need\" target=\"_blank\">https://www.kaggle.com/steamedsheep/yolov5-is-all-you-need</a></p>\n<ol>\n<li><p>in particular, (a) is based on val.py which use dataset and dataloader. there is padding of 114 for input images (i think the train also uses pad of 114?). it improves slightly detection of cots objects at the boundary. (b) uses image directly (or a pad of zero values).</p></li>\n<li><p>(b) incudes test time augmentation in submission. (a) is evaluation without augmentation</p></li>\n<li><p>both (a) and (b) uses different input size becuase of the padding of 114. the resizing function is also different. (a) uses opencv resize, (b) uses torch F.interpolate.</p></li>\n</ol>\n<p>3600 is not multiple of 64 (max stride of yolov5ms model). the code uses another size actually</p>\n<h2>4. the most important one! </h2>\n<p>if you are using (a), you would get the best f2 score for the lowest confidence threshold. you can even go as low as 0.01. this is becuase the evaluation only include non-empty images (i.e.  those without ground truth annotations only).</p>\n<p>i think the public test set has few empty images. this is why as long as you improve recall, you have increase in lb score</p>",
          "votes": 10,
          "replies": []
        },
        {
          "id": 1654086,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-18T06:14:58.340000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> you should use val.py with full fold with empty images, otherwise its wrong.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1654101,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-18T06:34:43.683000",
          "content": "<p>thanks for spending time on reviewing the CV notebook <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> most of the helper functions were taken from the first reference and I did not review the bbox area calculation part. I'll correct it in the next version. </p>\n<p>I think in one of runs using -augment call of yolo val script was not improving results so I did not include it in the saved versions. </p>\n<p>I think that the 4th point you mention was only true for the models which have been made public by sheep. In my own runs with some models, upsizing and then using higher thresholds was giving significant CV boost (even though this was without empty images). </p>\n<p>In runs with 0 annotation images I think that we can discard all \"small area\"(arbitrarily chosen as 800 or 1000) boxes under threshold 0.4-0.5 so that we don't have lot's of false positive small bbox predictions. I tested this technique suggested by hengck on LB and it was indeed boosting by ~0.005-0.01.</p>\n<p>Thanks Lukas I'll do a run with all data in vid 1 as val to get the accurate CV. I was resisting doing on Kaggle since it's compute expensive to run on a lot of images and that too testing with different sizes so I'll try locally on Colab. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654346,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T11:49:25.203000",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>  Thanks for the notebook and your valuable input <br>\nAfter making the necessary suggested modification : <br>\nSheep's code CV : 0.574 LB :0.578 <a href=\"https://www.kaggle.com/3600\" target=\"_blank\">@3600</a> <br>\nA Version of my Checkpoint CV : 0.536 LB : 0.563 <a href=\"https://www.kaggle.com/3600\" target=\"_blank\">@3600</a> <br>\nSame version of my checkpoint CV : 0.582 LB: (yet to check )  <a href=\"https://www.kaggle.com/4000\" target=\"_blank\">@4000</a></p>\n<p>I used val.py with --augment parameter </p>\n<p>Not making the notebook public as I did minimal modification from the original published by Aditya.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654382,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-18T12:59:22.607000",
          "content": "<p>For me, my yolov5 scores 0.66 with pure video_1 validation(including empty images)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654396,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T13:17:21.633000",
          "content": "<p>Sheep's code ? If not May be you should submit it :D</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654471,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-18T14:53:26.717000",
          "content": "<p>Yaa, I would. My model doesn't love enlarging images. In img_size 4800, giving 0.5x or something strange. It doesn't detect much in larger image sizes.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1654608,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-18T16:59:08.980000",
          "content": "<p><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> When you say CV score, do you refer to the F2 score or the mAP across 0.3:0.8 IOU thresholds?</p>\n<p>If it is F2, do you calculate this in val.py using the mean precision and recall that is already calculated?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654638,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-18T17:17:25.593000",
          "content": "<p>Sorry for informing the false score. unfortunately i found a bug in my code and i am just updating the CV score here.  its 0.602 F2 score</p>\n<p><a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> you can use this <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">notebook</a> . there are some few changes are required which is described in these comments</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1654645,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T17:26:15.990000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> Still its quite good local CV for lower image size  ..But i have not tested the local CV for many cases, may be once you submit you will know about your model too … <a href=\"https://www.kaggle.com/ayu055\" target=\"_blank\">@ayu055</a> , Rizin is right ..</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654748,
          "author_name": "ayu055",
          "author_url": "",
          "post_date": "2022-01-18T18:59:57.900000",
          "content": "<p>So do you not calculate F2 score while training and only at the end on validation?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654749,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-18T19:01:08.390000",
          "content": "<p>Yes that is correct , for now.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1656357,
          "author_name": "Bavesh123",
          "author_url": "",
          "post_date": "2022-01-19T09:41:26.253000",
          "content": "<p>Can someone explain the changes to be made in this <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">notebook</a> to calculate the proper cv score.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1657380,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-20T06:27:32.460000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1665208,
          "author_name": "Chenglu",
          "author_url": "",
          "post_date": "2022-01-26T16:45:07.527000",
          "content": "<p>my best score with video1 is 0.624, without TTA</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1654106,
      "author_name": "Tian",
      "author_url": "",
      "post_date": "2022-01-18T06:45:38.463000",
      "content": "<p>In fact, there is nothing to be sorry about. The purpose of this community is to use AI technology to solve industrial problems. Sharing good ideas can improve the performance of final solutions, and they are not shared near the deadline. I don't think there's anything wrong. Although some people feel that the experience is getting worse, others feel that the experience is getting better, such as me.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1649248,
      "author_name": "clwclw",
      "author_url": "",
      "post_date": "2022-01-14T05:47:58.817000",
      "content": "<p>thanks a lot, sheep big old and frog god</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1654267,
      "author_name": "Sanchit Vijay",
      "author_url": "",
      "post_date": "2022-01-18T11:08:58.040000",
      "content": "<p>Anyone tried submitting Yolov5X6 (largest model). My inference <br>\nWith img size:</p>\n<ul>\n<li>6000 -&gt; timeout</li>\n<li>8400 -&gt; timeout</li>\n</ul>",
      "votes": 1,
      "replies": [
        {
          "id": 1657383,
          "author_name": "Time Master",
          "author_url": "",
          "post_date": "2022-01-20T06:30:03.253000",
          "content": "<p>unable to train due to limit of GPU😭</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1657399,
          "author_name": "Sanchit Vijay",
          "author_url": "",
          "post_date": "2022-01-20T06:43:22.760000",
          "content": "<p><a href=\"https://www.kaggle.com/rainfalllove\" target=\"_blank\">@rainfalllove</a> don't worry large models aren't performing good anyways. I am performing experiment with all the models and will be clearing this in my post by next week.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1657691,
          "author_name": "Time Master",
          "author_url": "",
          "post_date": "2022-01-20T11:54:49.143000",
          "content": "<p>okay, I'm looking forward to it .</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1658939,
          "author_name": "Lime-Cake",
          "author_url": "",
          "post_date": "2022-01-21T12:24:28.817000",
          "content": "<p>I timed out with img_size=5600 so you're not alone. But it might be due to my own fault, due to messed up model. </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1652502,
      "author_name": "Hannah B",
      "author_url": "",
      "post_date": "2022-01-16T17:28:38.250000",
      "content": "<p><a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> I tried my <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res\" target=\"_blank\">cross val notebook</a> on sheeps splitting of data and respective models by video id=1 as val folder and that split did indeed give increase in CV with increasing image sizes. It's at 6k size rn and should complete in an hour will update changes to public then. However at initial size, score was ~0.69 much lower than ~0.77 of my models.</p>\n<p>Also for my own models split by sub-sequence had higher CV for increased image sizes when evaluated using higher threshold. This leads me to think that maybe an ideal setup would be using different models to infer at different threshold value.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1652533,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-16T18:10:06.787000",
          "content": "<p>I bet it will fall :) however i tried split vid0 1 vs 2 and it was the same. Do you validating on full set ? (with empty images too :) ?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652545,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T18:18:30.993000",
          "content": "<p>yup it fell at 6k haha made public just a few mins before your comment. But still it was this shows it was increasing uptil ~x1.5 scaling. </p>\n<p>Oops I think that's an important detail I've not been considering 😬 So if the test set has roughly 3/4 of the data without annotations does that mean I should randomly sample val_fold_size*3 images with no annotations into my cross validation? <br>\nOh splitting by video ID means I just take the entire data with vid id 1 got it :p</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652552,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-16T18:25:13.830000",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> seriously idk how to answer :) i made really beutiful models, predicts f2 score on validation 0.8 beutiful inference and then LB 0.5 0.49 :D i made once different training with same set same settings but early stop at epoch3 . Inference was good but worse from others , it didnt detect all starfishes from my validation images i used before and LB score was 0.62. Our best model was not our best but it scored good on LB. If you got such a pearl you want to tweak it. Imagine loading ckpt into yolo then start training it on really low LR for one epoch!, val box drops val obj drops and LB drops from 0.67 -&gt; 0.52 is it normal ? </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652556,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T18:32:17.343000",
          "content": "<p>hmm thanks for the tips :) I think I should focus more on transfer learning and ensembles once I've got this cross validation part sorted :p </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654046,
          "author_name": "Time Master",
          "author_url": "",
          "post_date": "2022-01-18T05:07:55.707000",
          "content": "<p>Hi, does ensemble increase LB ? I tried ,but LB got worse.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1654263,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-18T11:07:52.897000",
          "content": "<p>[deleted message]</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1649330,
      "author_name": "Lime-Cake",
      "author_url": "",
      "post_date": "2022-01-14T07:49:01.020000",
      "content": "<p>For memory issue with larger image on kaggle, reducing batchsize is an option. According to the devs of yolov5, batch size should not influence results much. However, if you're using other (older) YOLO versions, do note that there's report on earlier YOLO that small batch size produces inferior results. Hardware shouldn't be a big issue (hopefully), so don't get discouraged.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1649678,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-14T13:55:35.473000",
          "content": "<p>If I remember correctly (from Yolov5 previous versions) the nominal batch size is 64, that results to grad accumul steps = 64/BS, where BS the chosen batch size. </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1649059,
      "author_name": "Vinicio Castillo",
      "author_url": "",
      "post_date": "2022-01-13T23:24:47.713000",
      "content": "<p>How did you manage to make your model weight only 28MB? XD</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1649362,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-14T08:20:36.243000",
          "content": "<p><a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>  I have the same question . Any hint ?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1649376,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-14T08:31:08.033000",
          "content": "<p>I think is normal due to pruner &amp; optim stripper at the end of run. <br>\nFor me I see that yolov5-L is ~98MB so I guess for S 28MB sound normal</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649502,
          "author_name": "Nirjhar Roy",
          "author_url": "",
          "post_date": "2022-01-14T10:14:17.720000",
          "content": "<p>thanks .. got it .. at the end its stripping optimizer and reducing ..</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1649006,
      "author_name": "Ioannis M",
      "author_url": "",
      "post_date": "2022-01-13T22:04:12.630000",
      "content": "<p>thanks for tip <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>! May i ask what was the CV metrics for that chekpoint and if you like to say around at which epoch? </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1648646,
      "author_name": "dragon zhang",
      "author_url": "",
      "post_date": "2022-01-13T15:15:07.040000",
      "content": "<p>So this again is a hardware competition dominated?</p>\n<p>because I try to increase to 1920x1920, over 9hours limit of kaggle.  I tried on colab pro, not pro+, which I have to check once in a while,  It trains and converge slowly, so I gave up try bigger image.</p>\n<p>upvote, though.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1648661,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T15:30:35.947000",
          "content": "<p>Don't worry our solution is on P100 :)</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1648691,
          "author_name": "dragon zhang",
          "author_url": "",
          "post_date": "2022-01-13T15:53:56.547000",
          "content": "<p>you guys have pro+, don't you? which notebook keep running without disconnection, over my budget.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1648701,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T16:01:09.143000",
          "content": "<p>Yeah we got pro+ we got p100/v100/a100 at start but now only p100 and model was trained on p100. There is huge traffic on colab right now. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1648704,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-13T16:02:39.147000",
          "content": "<p>To score LB 0.673 laptop is enough … belive me …</p>",
          "votes": 10,
          "replies": []
        },
        {
          "id": 1648711,
          "author_name": "dragon zhang",
          "author_url": "",
          "post_date": "2022-01-13T16:07:42.577000",
          "content": "<p>I  believe that you guys find better strategy.  my laptop only with 1050ti. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1648735,
          "author_name": "outwrest",
          "author_url": "",
          "post_date": "2022-01-13T16:37:57.823000",
          "content": "<p>I've been training all my models on 3090 but I've been doing many experiments with tf-2.0. I'll need to get back to using yolov5 to score higher on LB. But I'll tell you this, image tilling might be the next big to happen since the COTs aren't big why make the whole picture bigger when you can have multiple smaller pictures that make the COTs appear bigger to the model. I've had some good results with it. Worth a try!</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649001,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-13T21:53:45.677000",
          "content": "<p>I see … but using Kaggle GPU or free Collab will be enough at this moment. Certainly the more power you have the faster you can experiment … but … sometimes this is not a good to have to much GPUs :)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1649011,
          "author_name": "outwrest",
          "author_url": "",
          "post_date": "2022-01-13T22:15:16.617000",
          "content": "<p><a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a> I don't know if I made it clear in my previous comment but I meant that there are many strategies to get around the issues of high resolution. Here is this one for example that was useful to me. It is worth a try in constraint environments and with some tuning, it maybe can boost your models.<br>\n<a href=\"https://github.com/obss/sahi\" target=\"_blank\">https://github.com/obss/sahi</a></p>\n<p>Good luck!</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1649018,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-13T22:23:04.803000",
          "content": "<p>Yes, absolutely … SAHI is one of … tiling (presented in notebook section) is another one, resizing showed here is next one …  This is beauty of this competition - you can experiment a lot. Dataset is demanding.  As I can see on LB everybody … are learning :) To be honest I am waiting for end … why … I am really interested in TOP solutions 😃 We have performed a lot of different experiments … I am sure some of them … which have not worked for us probably would work for somebody else. This is really great learning.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1649176,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-14T03:30:16.860000",
          "content": "<p>If you don't mind me asking <a href=\"https://www.kaggle.com/remekkinas\" target=\"_blank\">@remekkinas</a>. I tried several times both on lb and cv to improve the performance of my Yolo model with SAHI.<br>\nDid SAHI affect your current score? and how much?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1649242,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-14T05:42:23.730000",
          "content": "",
          "votes": -3,
          "replies": []
        },
        {
          "id": 1649246,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-01-14T05:47:33.320000",
          "content": "",
          "votes": -1,
          "replies": []
        },
        {
          "id": 1649368,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-14T08:24:58.697000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> I know SAHI very, very well :) I use it since it was released ( <a href=\"https://www.kaggle.com/clwwlc\" target=\"_blank\">@clwwlc</a> will be probably suprised 😂 ) To be honest we have nor tried SAHI so far … In December we decided to take totally different attitude. </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1648549,
      "author_name": "Liam Nguyen",
      "author_url": "",
      "post_date": "2022-01-13T13:48:54.557000",
      "content": "<p>Higher resolution is all your need 🤔 ? Maybe not, right ?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1648593,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-13T14:40:26.903000",
          "content": "<p>yes, indeed</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1648595,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T14:40:45.037000",
          "content": "<p>Yeah you need hugeillions of pixels and zillions of compute power. Not :)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1648599,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-13T14:42:59.930000",
          "content": "<p>Not really, I train this on a single 3090, I think 16GB ram card is also ok.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1648604,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T14:45:43.200000",
          "content": "<p>I didn't say it doesn't helps but is not all you need :)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1648605,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-13T14:47:40.047000",
          "content": "<p>aha, topic title in kaggle usually misleading, this isn't the worst one😂</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1648772,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-13T17:24:41.907000",
          "content": "<p>Seems resolution is not all you need, but damn you have to have it haha :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1651340,
      "author_name": "Mohammed Rizin V K",
      "author_url": "",
      "post_date": "2022-01-15T17:24:25.830000",
      "content": "<p>The LB is funny now!<br>\nanyone who ends up in the top 50 now will be placed above 100 after an hour </p>",
      "votes": 2,
      "replies": [
        {
          "id": 1651370,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-15T17:49:38.783000",
          "content": "<p>Public LB is merely a public lb.</p>",
          "votes": 5,
          "replies": []
        }
      ]
    },
    {
      "id": 1651265,
      "author_name": "Lukasz Borecki",
      "author_url": "",
      "post_date": "2022-01-15T16:44:37.640000",
      "content": "<p>The most funny thing is when you run val.py --img 2500 (3200, 4600, 7200) on colab or kaggle score goes down, what happens here it goes up is kind of irrational. Either metrics in yolo are wrong or something weird is happening. But when you submit on higher resolution you got gain on LB</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1651278,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T16:50:19.430000",
          "content": "<p>that shouldn't really be happening cause on my runs P and R were both pretty much above 70% in each epoch (and close to 80-90 during best epoch for Precision) using up-sizing so that translates to ~0.7-0.8 on F2 metric. This gives 0.58-0.61 on public LB using different sizes so correlation is pretty stable. </p>\n<p>I also recently modified</p>\n<pre><code>    # Print results\n    pf = '%20s' + '%11i' * 2 + '%11.3g' * 4  # print format\n    f2 = 5*mp*mr/(4*mr+mp)\n    LOGGER.info(pf % ('all', seen, nt.sum(), mp, mr, map50, f2)) #map))\n</code></pre>\n<p>and again some modifications in the part where model saving is done</p>\n<p>in my val.py in yolo folder so that f2 is logged instead of MAP (though I'm not sure if this is the best way to implement the metric). This gives the 0.7-0.8 I was talking about earlier. </p>\n<p>How did you get the f2 score while using val.py? By default it gives map if i'm not wrong. Might be giving lower CV locally due to some leak or maybe wrong implementation? </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1651285,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T16:53:22.473000",
          "content": "<p>Aditya i am talking about what <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> done in experiment. He increased inference size on same weight and got gain and gain. When you do it on val.py recall and precission drops when you increase --img parameter. (tested on colab). Even our #7 got much worse f2 score (on that size) than pure f2 score after training.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651292,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T16:58:55.290000",
          "content": "<p>Aditya i made implementation which plots f2 and f1 score on PNG. That doesnt matter i run my model which has recall 0.75, and increased resolution 2.5 times and recall was almost ZERO! :) either yolo got something screwed or colab or idk even i was suspicious in comeptition metric but watchin bboxes it does it correctly ;)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651295,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T17:00:39.487000",
          "content": "<p>I've not yet tried using val.py post training has completed and was trusting the per epoch calculation it does by default(i.e. img_size is also = the set higher size).<br>\n<a href=\"https://ibb.co/12QZFXW\"><img src=\"https://i.ibb.co/cT3J48n/Screenshot-from-2022-01-15-22-35-30.png\" alt=\"Screenshot-from-2022-01-15-22-35-30\"></a></p>\n<p>(P, R and f2 score I get during training after modifying the val.py file ^)</p>\n<p>I'll try using val on one of my saved models to see if there's a dip in the P, R.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651299,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T17:05:00.237000",
          "content": "<p>Hmm, close to 0 recall is sus 🤔 usually when metric calculation was this messed up in my experiments with mmdet it turned out to be some inconsistent dependencies or something but i've not encountered such issues in yolo yet</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651309,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T17:10:29.807000",
          "content": "<p>ADitya you must have some leak, AP95 over 0.8 ? our #7 model got 0.35 ;)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651317,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T17:12:47.907000",
          "content": "<p>yeah that's the part i've modified, it's printing f2 score instead of AP95 :P For me AP95 was around 0.34-0.36 as well in previous runs when I hadn't modified the logging code</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1651320,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-15T17:13:26.307000",
          "content": "<p>Yes, i also noticed it. I also tried training the model with img_size 7000 but it didn't perform very well than my 3600 secret model. i guess yolo doesn't like losing so much quality due to enlarging the images. i wonder why competition metric likes</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1651330,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T17:17:21.153000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> yeah we were suspicious even if we were on #1 that something is wrong or we cannot explain it</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1651342,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T17:29:48.867000",
          "content": "<p>I'll try using <a href=\"https://www.kaggle.com/hyunmingu/evaluate-f2-score-for-yolov5-model\" target=\"_blank\">this code</a> to see if my val scores are correct though I'm pretty sure it'll be different than my epoch calculations cause it's mean over IOUs from 0.3-0.8. But still I felt changing it was appropriate since it might give a better sense of model performance compared to normal AP95 metric</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651347,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-15T17:34:15.590000",
          "content": "<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> try this with high img</p>\n<p><code>!python val.py --img 4800 --batch 1  --data /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolo5_cfg/data.yaml --weights /gdrive/MyDrive/Datasets/Great_Coral_Reef/yolov5/runs/train/exp29/weights/epoch7.pt --iou 0.3 --conf 0.001</code></p>\n<p>and go with img higher. Replace yaml and weights file. conf = 0.001 is becuase it draws metrics from 0 to 1 in confidence thresholds</p>\n<p>-- hint if you dont have f2 metric plots you can watch f1 score . How looks f2 score ? same just hit f1 score from right ;) f2 got peak before f1<br>\n-- hint2 in metrics.py tweak place where is f1 plotting and change it to (5pr/(4p+r)) :) i added some lines to generate the metric after validation</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1651356,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-15T17:37:27.070000",
          "content": "<p>okay thanks i'll try this out :) </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1651671,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T01:01:50.710000",
          "content": "<p>hey <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> , you can check <a href=\"https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res/notebook\" target=\"_blank\">here</a> that CV was coming as 0.77 while post training validation. </p>\n<p>While this was obviously a drop from mid 0.8s I was getting while training, this was expected since while training yolo was doing no metric sweeps over 0.3-0.8 and then taking their mean. I don't think higher res is hurting CV results. I'll try switching img up to 4k, 5k etc to see if those values reduce f2. </p>\n<p>While there's no data leakage since splitting was done using same code, I would love your input on whether the metric implementation used in these public notebooks is correct :) </p>\n<p>UPD: yup upsizing from img size value used during training does indeed decrease f2, updated my notebook to reflect the same. wonder why LB is immune to this 🤔</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1651867,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-16T06:16:40.317000",
          "content": "<p>So your expirement prooved it is droping while increasing inference size :)</p>\n<p><a href=\"https://www.kaggle.com/ferlockx\" target=\"_blank\">@ferlockx</a> F1 score drops too because its correlated with f2. Either there are small starfishes in 25% or there is less populated video or cv metric is wrong either ours either theirs ;). But if you split F2 into TP FP FN  it is clear f2 should drop</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652005,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T08:55:07.897000",
          "content": "<p>UPD2: <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a>  it seems that the initial public metric implementation was a tiny bit wrong in that it didn't discard annotations under a confidence metric post inference (0.15 in most public notebooks). I've added that confidence in my latest version and the decrease is a bit less drastic but the trend is still indeed decreasing. It's now 0.77 -&gt; 0.72 -&gt; 0.64 … instead of 0.77 -&gt; 0.5 -&gt; 0.4 … :) </p>\n<p>Also the number of images in which there are no annotations keeps decreasing with increase in image size i.e. it does indeed help with small object detection as expected</p>\n<p>I think there might be a few more things that are different in inference environment from our local metric calculation that our causing decreasing CV, but still we should consider more augmentation techniques just to be sure ;)</p>\n<p>Thanks Lukasz I'll try to correct the things you're mentioning</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652007,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-16T08:57:30.290000",
          "content": "<p>I tried increase img size in inference with looking at images and it was also getting worse (@ some point). To implementation yes there is more errors, first you have to count np.nanmean and second you need loop with confidence :)</p>\n<p>-- anyway still the trend is decreasing and LB is increasing</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652009,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T09:01:01.027000",
          "content": "<p>how about asking the host to release their metric computation code?</p>",
          "votes": 6,
          "replies": [
            {
              "id": 1652020,
              "author_name": "Lukasz Borecki",
              "author_url": "",
              "post_date": "2022-01-16T09:10:44.337000",
              "content": "<blockquote>\n  <p>how about asking the host to release their metric computation code?</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> do you think it is possible ? they probably will answer the same as in paper :)</p>",
              "votes": 1,
              "replies": []
            }
          ]
        },
        {
          "id": 1652011,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-16T09:02:30.123000",
          "content": "<p>I think the drop while increasing happens because there are lots of false positive <br>\ni visualized with <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a> weights conf 0.25<br>\nFYI =&gt; RED - GT Boxes<br>\n           BLUE - PRED_BOXES<br>\n<img src=\"https://i.ibb.co/2WvCXJ9/image.png\" alt=\"\"></p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1652017,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T09:07:27.577000",
          "content": "<p>another hypothesis:<br>\nif you look at f2 per image, there should be some images that increase f2 while there are some decreases. maybe the public LB resembles more of those that improve?</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1652036,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T09:28:42.240000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a>  interesting so you set model.conf =0.25 directly instead of removing below 0.25 post inference?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652038,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-16T09:30:28.060000",
          "content": "<p>Firstly I thnink that Australian Government won't be happy with current solution :) Maybe I am wrong (totally wrong) but I created video on validation dataset using our best LB solution - it is totally crap! 😁😆 <br>\nSimultanieusly we created video with our best local (crap according to LB score) model and … it absolutely outperfoms our \"best LB\" … and people annotating images (I know that such extra bboxes were unfortunately associatetd with FP - but it does not influence on f2 score much). </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652040,
          "author_name": "Mohammed Rizin V K",
          "author_url": "",
          "post_date": "2022-01-16T09:32:14.593000",
          "content": "<p>No. model.conf = 0.01 and filter boxes under 0.25</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652044,
          "author_name": "Hannah B",
          "author_url": "",
          "post_date": "2022-01-16T09:34:19.790000",
          "content": "<p>i didn't really check does csiro or tensorflow release any git repo for this data/competition?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652062,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T09:46:16.430000",
          "content": "<p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> </p>\n<p>for the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.</p>\n<hr>\n<p>on a side note: one should filter off those very small boxes</p>",
          "votes": 2,
          "replies": [
            {
              "id": 1652385,
              "author_name": "Mohammed Rizin V K",
              "author_url": "",
              "post_date": "2022-01-16T15:03:21.997000",
              "content": "<blockquote>\n  <p><a href=\"https://www.kaggle.com/morizin\" target=\"_blank\">@morizin</a> </p>\n  <p>for the image you showed, maybe f2 is still high. one correct TP is weighted 5x. if other frames don't have that many FP, then f2 is improved.</p>\n  <hr>\n  <p>on a side note: one should filter off those very small boxes</p>\n</blockquote>\n<p>Perhaps you are right <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> <br>\n<img src=\"https://i.ibb.co/SNtwhfg/image.png\" alt=\"\"><br>\nthis was one of my models, i like this model very much. Predictions are almost perfect. but scores 0.418 in LB</p>",
              "votes": 2,
              "replies": []
            }
          ]
        },
        {
          "id": 1652245,
          "author_name": "Leon",
          "author_url": "",
          "post_date": "2022-01-16T13:03:56.527000",
          "content": "<p>I calculated f2 on the validation video(whether num_bbox&gt;0 or &gt;=0) and found that larger scales will bring worse results, which makes me very worried about the current LB.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1652251,
          "author_name": "Lukasz Borecki",
          "author_url": "",
          "post_date": "2022-01-16T13:11:46.537000",
          "content": "<p><a href=\"https://www.kaggle.com/zzy\" target=\"_blank\">@zzy</a> same observations here and same observations in expirement. And the better model you make it usually goes worse with LB</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652257,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-16T13:21:39.020000",
          "content": "<p><a href=\"https://www.kaggle.com/zzy990106\" target=\"_blank\">@zzy990106</a> I do not how you and your team but we with <a href=\"https://www.kaggle.com/lukaszborecki\" target=\"_blank\">@lukaszborecki</a> have problem with eveluation and chosing right model. It is kind of luck :)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1652258,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T13:21:40.627000",
          "content": "<p>maybe that is the reason for 4 submission</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1652259,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-16T13:24:57.373000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>  😄😄😄😄 yes, it could be a great explanation to this situation …. You have to take one crap model but good on LB, second best looking model for team and two … between …. </p>\n<p>I know that for most competition looking on LB score is not good idea …. but in this case is strage … because you definitely can build better model (using some ways to decrease FP and increase TP) but it does not work at all …. it dramatically drops on LB.  </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1652303,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T13:55:35.883000",
          "content": "<p>if i am the host and i want to be evil I would put all non-empty images as public test and all empty images as private.</p>\n<hr>\n<p>I think we need to probe the ratio of empty and non empty images in private and public. (note that we do know approximately how many empty images are there in the test, we know there are 14k test images with about 150 cots objects. we just don't know how they are  split between public and private)</p>\n<p>for confidently predicted empty images, we add FP.<br>\nfor confidently predicted TP, we drop them.<br>\nthe change in score should give us some clue?</p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 1652349,
          "author_name": "Remek Kinas",
          "author_url": "",
          "post_date": "2022-01-16T14:29:32.277000",
          "content": "<blockquote>\n  <p>for confidently predicted empty images, we add FP.<br>\n  for confidently predicted TP, we drop them.<br>\n  the change in score should give us some clue?</p>\n</blockquote>\n<p>We have made such research. <br>\nWe increasedTP, decreased FP/FN (using many hacks) … and … rised f2 … (on many folds confs). Posted and …. 😂😨😭😭😭😭🙈🙈🙊😄😄 </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652378,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-16T14:59:42.863000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> split private and public by video or sequence is enough to direct a shake up</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652407,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T15:35:20.153000",
          "content": "<p>\"split private and public by video or sequence is enough to direct a shake up\"</p>\n<p>the splits are usually by random. else it is difficult to come up with 25% and 75% ratios.<br>\nanother way is that they are split by order, e.g. first 25% of seq or video</p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1652413,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-16T15:41:49.843000",
          "content": "<blockquote>\n  <p>the splits are usually by random. </p>\n</blockquote>\n<p>Usually it is, but there are some impressive outliers like this <a href=\"https://www.kaggle.com/c/microsoft-malware-prediction\" target=\"_blank\">https://www.kaggle.com/c/microsoft-malware-prediction</a></p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1652418,
          "author_name": "Ioannis M",
          "author_url": "",
          "post_date": "2022-01-16T15:45:39.963000",
          "content": "<p>from data info:</p>\n<blockquote>\n  <p>This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video. </p>\n</blockquote>\n<p>maybe this means/ensures that they are split by video/seq order (?)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652426,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-01-16T15:54:44.187000",
          "content": "<p>Agree, at least part of the sequence.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1652443,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2022-01-16T16:09:58.733000",
          "content": "<p>\"This competition uses a hidden test set that will be served by an API to ensure you evaluate the images in the same order they were recorded within each video.\"</p>\n<p>the public score could be based on every 4-th frame (25%) evaluation</p>",
          "votes": 5,
          "replies": [
            {
              "id": 1653054,
              "author_name": "Leon",
              "author_url": "",
              "post_date": "2022-01-17T07:51:26.697000",
              "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a></p>\n<blockquote>\n  <p>the public score could be based on every 4-th frame (25%) evaluation</p>\n</blockquote>\n<p>If so, we should fully trust LB. 👀</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 1652998,
          "author_name": "SeshuRaju 🧘‍♂️",
          "author_url": "",
          "post_date": "2022-01-17T06:51:59.750000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> </p>\n<blockquote>\n  <p>we know there are 14k test images with about 150 cots objects</p>\n</blockquote>\n<p>Did i miss this info.. 150 cots in 13k images of test set ?</p>\n<p>I like your 4th frame CV, didn't expected LB can be split in that way </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1653664,
          "author_name": "Max van Dijck",
          "author_url": "",
          "post_date": "2022-01-17T19:13:25.303000",
          "content": "<p>I don't see the public LB being based on every 4th frame, wouldn't this screw up any temporal based solutions such as the yolox + tracking?</p>\n<p>Plus it would promote overfitting to the public LB which generally isn't the case on kaggle.</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1656565,
      "author_name": "Eugene J. Ryu",
      "author_url": "",
      "post_date": "2022-01-19T12:51:42.223000",
      "content": "<p>Thank you for sharing the good notebook :) <br>\nI wish you will be entering the gold zone. <br>\nAnd I wish I could be entering the top 20% of this competition 😊</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1651476,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2022-01-15T19:26:54.727000",
      "content": "<p>it may be easier to analyze by considering FP rate, recall, precision per box size.</p>\n<p>e.g. we divide bbox into few category by sizes:<br>\nbelow 20,<br>\nfrom 30 to 32 ….</p>\n<p>if you cannot explain the results (by theory or massive and careful experiment), it would be subjected to big shakeup. after all, test performance = (public+private) performance</p>\n<p>higher public score may means lower private one</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1652887,
          "author_name": "dragon zhang",
          "author_url": "",
          "post_date": "2022-01-17T04:49:21.343000",
          "content": "<p>classify first ? and then detect?</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1648551,
      "author_name": "Leon",
      "author_url": "",
      "post_date": "2022-01-13T13:50:35.333000",
      "content": "<p>wow, 3600😲</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1668827,
      "author_name": "Good Moon",
      "author_url": "",
      "post_date": "2022-01-30T04:42:15.777000",
      "content": "<p>Are you use the big batch size and high resolution to train your model, I can not repeat your result with the batch size = 8 and picture size = 720*1280.I can not take more big size because of the limitation of GPU.<br>\n I just confuse that if the GPU limit my model 's performance. If that's True, I think I have no idea to train model as good as yours.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1664157,
      "author_name": "Jamadar Zoya",
      "author_url": "",
      "post_date": "2022-01-25T18:43:37.627000",
      "content": "<p>Hey<br>\ncan u help me understand which images we take for validation ??<br>\nIs it 80 train-20 test from the 3 video images provided for test ??<br>\nIm a newbie so dint understand the submission format </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1657890,
      "author_name": "Nitya",
      "author_url": "",
      "post_date": "2022-01-20T14:52:25.187000",
      "content": "<p>Yes I used it too and am really impressed with the performance and results</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1657856,
      "author_name": "Sean",
      "author_url": "",
      "post_date": "2022-01-20T14:14:33.203000",
      "content": "<p>Good job! Why did you guys all use yolov5s but not v5x?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1657891,
          "author_name": "Nitya",
          "author_url": "",
          "post_date": "2022-01-20T14:52:57.053000",
          "content": "<p>I used v5m. That was enough</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1653264,
      "author_name": "Yi.S386",
      "author_url": "",
      "post_date": "2022-01-17T11:50:08.933000",
      "content": "<p>I'll try 9000 and see how it works :-)</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1653048,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-17T07:42:05.030000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1652121,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-16T11:10:14.263000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1651326,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-15T17:16:06.830000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1650674,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-15T08:09:15.080000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1650620,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-15T07:19:33.370000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1650382,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-15T02:33:27.130000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1649299,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-14T07:06:04.113000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1649267,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-14T06:26:16.533000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1648563,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-13T14:06:51.560000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1648559,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-13T14:04:36.070000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1648537,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-13T13:38:24.323000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1658429,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-21T02:57:29.410000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1656354,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-19T09:38:06.903000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1648561,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-13T14:05:43.487000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1664878,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-26T11:04:41",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1660980,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-23T06:15:47.760000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1659857,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-22T06:43:45.977000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1652441,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-16T16:07:15.440000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1649512,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-14T10:35:15.160000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1648529": "Proper training of yolov5 can give decent score, will release train code later.\nhttps://www.kaggle.com/steamedsheep/yolov5-is-all-you-need 👉\n\nI release this merely due to that I find modifying several parameters(resolution, vflip and cutmix) then I can get a score looks good.  Higher resolution DO benefit small object's detection. you can try classifier like Heng's to boost score further.\n\nUpdate:\nTrain notebook: https://www.kaggle.com/steamedsheep/yolov5-high-resolution-training\nSince I overestimated the performance of P100 and 2T cpu in kaggle, to reproduce the score, you need change back the size to `3600` and epochs to 15. This setup will yield a 0.33 mAP@.5:.95 \n\nUpdate 2:\nI successfully kick myself out of the bronze zone, which is not my intention😭",
    "1649181": "here is the magic, using your same model and same code (i just change the input size)\n```\npath='../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt',\n3600          LB 0.579\n4000 (1.11x)  LB 0.586\n4800 (1.33x)  LB 0.590\n5600 (1.55x)  LB 0.594\n6400 (1.77x)  LB 0.596\n7200 (2.00x)  LB 0.603  !!!!??\n9000 (2.50x)  LB 0.613  !!!!???? why it never ends\n...\n...\n# optimun is between 2.50x to 3.50x,  please feel free to explore. \n# i estimate we can get to 6.20\n...\n12600(3.50x) LB 0.557 \n```\n\nbut i haven't used yolo5 yet and i don't know about your train data. etc.\nso i cannot tell if the results is overfitting (#1) or having good generalisation.\nhence interprete the results with care!\n\n\n(#1) overfitting as in the with enlarged image, the model is producing many FP. BUT for this public test video,\nthe improvement in TP outweighs that of FP. We can't tell for sure in the private set.\n\nwe need to calibrate FP of the models under different input setting, etc\n\n---\n\nmost top kagglers have tricks in their bags, accumulated from work and competition experiences.\nThis is results from hard work after numerous experiments.\n\nNow i let one cat of the bag:\n\neven in past competitions, i have been using this upsizing trick.\nit is interesting to note that when we enlarge input image, there is no addition information.\nbecause the new pixels are interpolated (i.e. information is from the original pixels).\nyet, i have been seeing consisently improvement in results, e.g. in classification, segmentation, object detection\n",
    "2506668": "thanks a lot, sheep big old and frog god",
    "1656668": "i think i have solved the puzzle\n\n![https://i.ibb.co/FHQsG3J/Selection-005.png](https://i.ibb.co/FHQsG3J/Selection-005.png)\n\nthe safest bet is to use public LB to measure your recall only. I think there is insufficient images to measure FPrate and precision. Hence use another dataset for that\n",
    "1648542": "I should start with competitions one month before deadline, apparently it is the time people release good solutions.",
    "1657271": "@hengck23 I did some testing on the notebook after finding out exactly what augment=True does. According to the yolov5 code, it scales images at 1x, 0.83x (also flips horizontally), and 0.67x. Inferencing at higher resolutions can still pick up bboxes from previous and lower resolutions. Here is some data that might help with augment=False at the same resolutions you tested.\n\n```\nResoluton     With Aug.  W/O Aug.\n3600 (1.00x)  LB 0.579 | LB 0.577\n4000 (1.11x)  LB 0.586 | LB 0.583\n4800 (1.33x)  LB 0.590 | LB 0.575\n5600 (1.55x)  LB 0.594 | LB 0.586\n6400 (1.77x)  LB 0.596 | LB 0.597\n7200 (2.00x)  LB 0.603 | LB 0.610\n9000 (2.50x)  LB 0.613 | LB 0.584\n12600(3.50x) LB 0.557 |  ????\n```\n\nCould it be that the model learned the sizes of small, medium, and large cots, was able to find more \"smaller\" ones with higher resolutions? The NMS looks like it helps but it there's still a lot of error. Some F2 testing is needed on the last video for more confirmation.\n\nOne thing this does show: Augment is not a big factor in the public leaderboard score and maybe with a bigger model (Large or medium), we can inference with augment=False for 2/3 reduction in submission time. Hopefully, this helps!",
    "1648571": "according to the cots dataset paper \n\n\"We set the GoPro cameras to record videos continuously at 24 frames per second at 3840x2160 resolution and manually removed the periods of no activity between transects\"\n\nit would be better if kaggle has released the original high resolution image",
    "1651637": "Does this work on CV as well? I trained a YoloV5m with image size 3000:\nCV= 0.428\nLB=0.652 (inference imsize: 6000)\n\n\n##### UPDATE:\nI had a bug in my F2 implementation, the new score:\nCV=0.528 (inference imsize: 3000)",
    "1653346": "Any one can reproduce the training notebook of yolov5s6, 3600 with 15 epoch? I can only get 0.48 for lb, and cv(on video 1) is also much lower than sheep big brother. ",
    "1649263": "4k is always better than 1080p 😆",
    "1653223": "i want to study more about lb metric and the reasons and effects of doing inference at higher resolution.\nanyone has local CV (validation set = video1) at 3600 for the given model  '../input/reef-baseline-fold12/l6_3600_uflip_vm5_f12_up/f1/best.pt' ?\n\nI am getting around 0.57 for local CV",
    "1654106": "In fact, there is nothing to be sorry about. The purpose of this community is to use AI technology to solve industrial problems. Sharing good ideas can improve the performance of final solutions, and they are not shared near the deadline. I don't think there's anything wrong. Although some people feel that the experience is getting worse, others feel that the experience is getting better, such as me.",
    "1649248": "thanks a lot, sheep big old and frog god",
    "1654267": "Anyone tried submitting Yolov5X6 (largest model). My inference \nWith img size:\n- 6000 -> timeout\n- 8400 -> timeout",
    "1652502": "@lukaszborecki I tried my [cross val notebook](https://www.kaggle.com/ferlockx/f2-cv-0-77-subseq-split-and-higher-res) on sheeps splitting of data and respective models by video id=1 as val folder and that split did indeed give increase in CV with increasing image sizes. It's at 6k size rn and should complete in an hour will update changes to public then. However at initial size, score was ~0.69 much lower than ~0.77 of my models.\n\nAlso for my own models split by sub-sequence had higher CV for increased image sizes when evaluated using higher threshold. This leads me to think that maybe an ideal setup would be using different models to infer at different threshold value.",
    "1649330": "For memory issue with larger image on kaggle, reducing batchsize is an option. According to the devs of yolov5, batch size should not influence results much. However, if you're using other (older) YOLO versions, do note that there's report on earlier YOLO that small batch size produces inferior results. Hardware shouldn't be a big issue (hopefully), so don't get discouraged.",
    "1649059": "How did you manage to make your model weight only 28MB? XD",
    "1649006": "thanks for tip @steamedsheep! May i ask what was the CV metrics for that chekpoint and if you like to say around at which epoch? ",
    "1648646": "So this again is a hardware competition dominated?\n\nbecause I try to increase to 1920x1920, over 9hours limit of kaggle.  I tried on colab pro, not pro+, which I have to check once in a while,  It trains and converge slowly, so I gave up try bigger image.\n\nupvote, though.",
    "1648549": "Higher resolution is all your need 🤔 ? Maybe not, right ?",
    "1651340": "The LB is funny now!\nanyone who ends up in the top 50 now will be placed above 100 after an hour ",
    "1651265": "The most funny thing is when you run val.py --img 2500 (3200, 4600, 7200) on colab or kaggle score goes down, what happens here it goes up is kind of irrational. Either metrics in yolo are wrong or something weird is happening. But when you submit on higher resolution you got gain on LB",
    "1656565": "Thank you for sharing the good notebook :) \nI wish you will be entering the gold zone. \nAnd I wish I could be entering the top 20% of this competition 😊",
    "1651476": "it may be easier to analyze by considering FP rate, recall, precision per box size.\n\ne.g. we divide bbox into few category by sizes:\nbelow 20,\nfrom 30 to 32 ....\n\nif you cannot explain the results (by theory or massive and careful experiment), it would be subjected to big shakeup. after all, test performance = (public+private) performance\n\nhigher public score may means lower private one",
    "1648551": "wow, 3600😲",
    "1668827": "Are you use the big batch size and high resolution to train your model, I can not repeat your result with the batch size = 8 and picture size = 720*1280.I can not take more big size because of the limitation of GPU.\n I just confuse that if the GPU limit my model 's performance. If that's True, I think I have no idea to train model as good as yours.",
    "1664157": "Hey\ncan u help me understand which images we take for validation ??\nIs it 80 train-20 test from the 3 video images provided for test ??\nIm a newbie so dint understand the submission format ",
    "1657890": "Yes I used it too and am really impressed with the performance and results",
    "1657856": "Good job! Why did you guys all use yolov5s but not v5x?",
    "1653264": "I'll try 9000 and see how it works :-)",
    "1653048": ":) rookie here",
    "1652121": "impressive though you could apply skimage as well",
    "1651326": "Great kernel with a simple code.\nBut i think we should think this method can be generalized well to private lb dataset\nWe just have 9 hours for a kernel inference. ",
    "1650674": "nice, work\n\n",
    "1650620": "TKS for your share",
    "1650382": "Thanks for sharing, your work is great!👍",
    "1649299": "Simply enlarging input size produce better results. It's amazing but I suspect that this indicates the model architecture of YOLO could be improved, at least for this competition data.",
    "1649267": "it is time to you guys💪 use 640 --> 3x or 4x or 5x training?",
    "1648563": "amazing！😏👍",
    "1648559": "Agree, Yolo is all you need👍",
    "1648537": "Look forward to...",
    "1658429": "",
    "1656354": "",
    "1648561": "",
    "1664878": "Thank you!",
    "1660980": "Thank you!",
    "1659857": "It can work, thanks!",
    "1652441": "Thanks! good code",
    "1649512": "thanks for sharing"
  }
}