{
  "id": 304725,
  "title": "Something in the wrong way! High resolution and big model is not the key point.",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/304725",
  "author_name": "",
  "post_date": "2022-02-02T08:43:04.816356500Z",
  "votes": 50,
  "comment_count": 70,
  "views": 0,
  "content": "<h3>I will keep updating my experimental results here</h3>\n<h4>Summaries</h4>\n<p>0.If you have enough GPU RAM or a good baseline, trying  the bigger model and size may be a easy way to get a higher score. If you haven't, small model or size can bring you a good enough baseline more quickly, hardware competition is not suitable for all.(update 2022.02.04 )<br>\n1.Image_size is not the key point, you can chose any size in the range(1280,3600),never use a smaller batch for getting a bigger image size, just chose the size suit for your gpu with a batch &gt;= 8.<br>\n2.yolov5s/yolov5s6 is enough for the task, do not waste time in yolov5l or other biger model. Check all setting and parameters in the model yolov5s/yolov5s6, and do some adjusting with your understanding.<br>\n3.config =0.28,iou = 0.40 mabey a good parameter for your first inference.</p>\n<h4>Version Information</h4>\n<h5>version 1</h5>\n<ul>\n<li>LB 0.661</li>\n<li>batch 8</li>\n<li>epoch 15</li>\n<li>train and infer size 3584( I'm trying smaller size like 2400 or 1280,I‘m’ sure it will also make sense)</li>\n<li>fold 10 and I just chose one model of it.</li>\n<li>use F2 indicator</li>\n</ul>\n<h5>version 2</h5>\n<ul>\n<li>freeze 8 (finetune from version1)</li>\n<li>LB 0.665</li>\n<li>batch 16</li>\n<li>epoch 10</li>\n<li>train size 2240 </li>\n<li>fold 10 and I just chose one model of it.</li>\n<li>use F2 indicator</li>\n<li>infer size 6400 iou = 0.50 conf = 0.30</li>\n</ul>\n<h3>Advice from comments</h3>\n<ul>\n<li><a href=\"https://www.kaggle.com/snaker\" target=\"_blank\">Chenglu</a>:Biger model and image size  work better than the small one.</li>\n</ul>",
  "messages": [
    {
      "id": "1672702",
      "postDate": "02/02/2022 08:43:04",
      "content": "<h3>I will keep updating my experimental results here</h3>\n<h4>Summaries</h4>\n<p>0.If you have enough GPU RAM or a good baseline, trying  the bigger model and size may be a easy way to get a higher score. If you haven't, small model or size can bring you a good enough baseline more quickly, hardware competition is not suitable for all.(update 2022.02.04 )<br>\n1.Image_size is not the key point, you can chose any size in the range(1280,3600),never use a smaller batch for getting a bigger image size, just chose the size suit for your gpu with a batch &gt;= 8.<br>\n2.yolov5s/yolov5s6 is enough for the task, do not waste time in yolov5l or other biger model. Check all setting and parameters in the model yolov5s/yolov5s6, and do some adjusting with your understanding.<br>\n3.config =0.28,iou = 0.40 mabey a good parameter for your first inference.</p>\n<h4>Version Information</h4>\n<h5>version 1</h5>\n<ul>\n<li>LB 0.661</li>\n<li>batch 8</li>\n<li>epoch 15</li>\n<li>train and infer size 3584( I'm trying smaller size like 2400 or 1280,I‘m’ sure it will also make sense)</li>\n<li>fold 10 and I just chose one model of it.</li>\n<li>use F2 indicator</li>\n</ul>\n<h5>version 2</h5>\n<ul>\n<li>freeze 8 (finetune from version1)</li>\n<li>LB 0.665</li>\n<li>batch 16</li>\n<li>epoch 10</li>\n<li>train size 2240 </li>\n<li>fold 10 and I just chose one model of it.</li>\n<li>use F2 indicator</li>\n<li>infer size 6400 iou = 0.50 conf = 0.30</li>\n</ul>\n<h3>Advice from comments</h3>\n<ul>\n<li><a href=\"https://www.kaggle.com/snaker\" target=\"_blank\">Chenglu</a>:Biger model and image size  work better than the small one.</li>\n</ul>",
      "rawMarkdown": "### I will keep updating my experimental results here\n#### Summaries\n0.If you have enough GPU RAM or a good baseline, trying  the bigger model and size may be a easy way to get a higher score. If you haven't, small model or size can bring you a good enough baseline more quickly, hardware competition is not suitable for all.(update 2022.02.04 )\n1.Image_size is not the key point, you can chose any size in the range(1280,3600),never use a smaller batch for getting a bigger image size, just chose the size suit for your gpu with a batch >= 8.\n2.yolov5s/yolov5s6 is enough for the task, do not waste time in yolov5l or other biger model. Check all setting and parameters in the model yolov5s/yolov5s6, and do some adjusting with your understanding.\n3.config =0.28,iou = 0.40 mabey a good parameter for your first inference.\n#### Version Information\n##### version 1\n- LB 0.661\n- batch 8\n- epoch 15\n- train and infer size 3584( I'm trying smaller size like 2400 or 1280,I‘m’ sure it will also make sense)\n- fold 10 and I just chose one model of it.\n- use F2 indicator\n\n##### version 2\n- freeze 8 (finetune from version1)\n- LB 0.665\n- batch 16\n- epoch 10\n- train size 2240 \n- fold 10 and I just chose one model of it.\n- use F2 indicator\n- infer size 6400 iou = 0.50 conf = 0.30\n### Advice from comments\n- [Chenglu](https://www.kaggle.com/snaker):Biger model and image size  work better than the small one.",
      "votes": null
    },
    {
      "id": "1672720",
      "postDate": "02/02/2022 08:52:50",
      "content": "<p>Do you train many models to enemble ?</p>",
      "rawMarkdown": "Do you train many models to enemble ?",
      "votes": null
    },
    {
      "id": "1672726",
      "postDate": "02/02/2022 08:56:23",
      "content": "<p>Just single model, ensemble is the work I am trying. I will finish it soon.</p>",
      "rawMarkdown": "Just single model, ensemble is the work I am trying. I will finish it soon.",
      "votes": null
    },
    {
      "id": "1672729",
      "postDate": "02/02/2022 09:00:02",
      "content": "<p>Single model to get LB0.661? Your working is amazing👍</p>",
      "rawMarkdown": "Single model to get LB0.661? Your working is amazing👍",
      "votes": null
    },
    {
      "id": "1672731",
      "postDate": "02/02/2022 09:05:41",
      "content": "<p>Is this result using no tracking?<br>\nAnd do you confirm using bigger model won’t improve the result?</p>",
      "rawMarkdown": "Is this result using no tracking?\nAnd do you confirm using bigger model won’t improve the result?",
      "votes": null
    },
    {
      "id": "1672734",
      "postDate": "02/02/2022 09:07:07",
      "content": "<p>infer size 3584 and lb is 0.661, you're amazing. Can i ask how you split your fold? </p>",
      "rawMarkdown": "infer size 3584 and lb is 0.661, you're amazing. Can i ask how you split your fold?",
      "votes": null
    },
    {
      "id": "1672737",
      "postDate": "02/02/2022 09:09:07",
      "content": "<p>Single model with nothing</p>",
      "rawMarkdown": "Single model with nothing",
      "votes": null
    },
    {
      "id": "1672743",
      "postDate": "02/02/2022 09:13:54",
      "content": "<p>You can add a set of id(0-9) for every video image by order and use a groupkfold function in sklearn to split it into 10fold by the id you add in.</p>",
      "rawMarkdown": "You can add a set of id(0-9) for every video image by order and use a groupkfold function in sklearn to split it into 10fold by the id you add in.",
      "votes": null
    },
    {
      "id": "1672749",
      "postDate": "02/02/2022 09:16:10",
      "content": "<p><a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a>  do  you use negative images also ?</p>",
      "rawMarkdown": "freshair1996  do  you use negative images also ?",
      "votes": null
    },
    {
      "id": "1672751",
      "postDate": "02/02/2022 09:17:12",
      "content": "<p>No trick in data split and I only use the image with boxes(COTS).</p>",
      "rawMarkdown": "No trick in data split and I only use the image with boxes(COTS).",
      "votes": null
    },
    {
      "id": "1672756",
      "postDate": "02/02/2022 09:19:38",
      "content": "<p>No. But I will try it in the next model with the 1:1 proportion of negative img and positive img.</p>",
      "rawMarkdown": "No. But I will try it in the next model with the 1:1 proportion of negative img and positive img.",
      "votes": null
    },
    {
      "id": "1672768",
      "postDate": "02/02/2022 09:33:07",
      "content": "<p>Have you tried bigger model?</p>",
      "rawMarkdown": "Have you tried bigger model?",
      "votes": null
    },
    {
      "id": "1672771",
      "postDate": "02/02/2022 09:35:43",
      "content": "<p>I maybe will try yolov5m6. But as I said in the topic, I think it's not the key point. </p>",
      "rawMarkdown": "I maybe will try yolov5m6. But as I said in the topic, I think it's not the key point.",
      "votes": null
    },
    {
      "id": "1672804",
      "postDate": "02/02/2022 10:15:13",
      "content": "<p>for batch_size&gt;=8, May I ask what is the minimum GPU RAM size required?</p>",
      "rawMarkdown": "for batch_size>=8, May I ask what is the minimum GPU RAM size required?",
      "votes": null
    },
    {
      "id": "1672862",
      "postDate": "02/02/2022 10:55:14",
      "content": "<p>It depends on your image size. For my training size 3584 and batch 8, it's 2*22.4GB. But I am trying smaller (size,batch) like (1280,8) . I will refresh my following training results to provide some reference for kagglers.</p>",
      "rawMarkdown": "It depends on your image size. For my training size 3584 and batch 8, it's 2*22.4GB. But I am trying smaller (size,batch) like (1280,8) . I will refresh my following training results to provide some reference for kagglers.",
      "votes": null
    },
    {
      "id": "1672910",
      "postDate": "02/02/2022 11:29:49",
      "content": "<p>I will try more adjusting in future model, including yolov5m , and I will update my training results in the topic.</p>",
      "rawMarkdown": "I will try more adjusting in future model, including yolov5m , and I will update my training results in the topic.",
      "votes": null
    },
    {
      "id": "1673060",
      "postDate": "02/02/2022 13:29:40",
      "content": "<p>Master, there are two questions l want to ask you!<br>\nQuestion 1:Do you use 3584 for both training and inference?<br>\nQuestion 2:When you train to use 3584, will you infer that using size 7168(2x) will you get a higher lb?</p>",
      "rawMarkdown": "Master, there are two questions l want to ask you!\nQuestion 1:Do you use 3584 for both training and inference?\nQuestion 2:When you train to use 3584, will you infer that using size 7168(2x) will you get a higher lb?",
      "votes": null
    },
    {
      "id": "1673072",
      "postDate": "02/02/2022 13:41:58",
      "content": "<p>1.yes;<br>\n2.no(only try it once,more experiments are needed to confirm all of these)</p>",
      "rawMarkdown": "1.yes;\n2.no(only try it once,more experiments are needed to confirm all of these)",
      "votes": null
    },
    {
      "id": "1673073",
      "postDate": "02/02/2022 13:42:10",
      "content": "<p>\"config =0.28,iou = 0.40 mabey a good parameter for your first inference.\"</p>\n<p>train until your validation is approxiately best at threshold = 0.28 +/- xxx , iou=04 may be a better description</p>",
      "rawMarkdown": "\"config =0.28,iou = 0.40 mabey a good parameter for your first inference.\"\n\ntrain until your validation is approxiately best at threshold = 0.28 +/- xxx , iou=04 may be a better description",
      "votes": null
    },
    {
      "id": "1673080",
      "postDate": "02/02/2022 13:53:57",
      "content": "<p>great! simple is the best</p>",
      "rawMarkdown": "great! simple is the best",
      "votes": null
    },
    {
      "id": "1673084",
      "postDate": "02/02/2022 13:57:51",
      "content": "<p>Yes, that may be related to model's hyps, but I found config = 0.28 and iou = 0.40 works in many notebook(mine too). I will update it with more training results.Thanks for your valuable advice.</p>",
      "rawMarkdown": "Yes, that may be related to model's hyps, but I found config = 0.28 and iou = 0.40 works in many notebook(mine too). I will update it with more training results.Thanks for your valuable advice.",
      "votes": null
    },
    {
      "id": "1673085",
      "postDate": "02/02/2022 13:58:31",
      "content": "<p>I will try more simple model.</p>",
      "rawMarkdown": "I will try more simple model.",
      "votes": null
    },
    {
      "id": "1673117",
      "postDate": "02/02/2022 14:17:16",
      "content": "<p>Master Frog！I have a question for you！<br>\nl locally trained a model yolov5s6 with size=3600，and local cv0.55. Using 10fold subsequences. <br>\nWhen I infer with different sizes：<br>\n3600（1x）  |  lb=0.579<br>\n5400（1.5x）|  lb=0.587<br>\n7200（2x）  |  lb=0.580<br>\n9000（2.5x）| lb=0.577<br>\nChanging the inferred size didn‘t get a noticeable boost. And many people will get a huge improvement when they increase their size. What do you think is the reason？<br>\nI think possible reasons：<br>\nReason 1：No dataset with empty annotations<br>\nReason 2： The optimal one is not selected in the divided 10-fold dataset<br>\nReason 3：Multi-scale scaling is not used during training</p>",
      "rawMarkdown": "Master Frog！I have a question for you！\nl locally trained a model yolov5s6 with size=3600，and local cv0.55. Using 10fold subsequences. \nWhen I infer with different sizes：\n3600（1x）  |  lb=0.579\n5400（1.5x）|  lb=0.587\n7200（2x）  |  lb=0.580\n9000（2.5x）| lb=0.577\nChanging the inferred size didn‘t get a noticeable boost. And many people will get a huge improvement when they increase their size. What do you think is the reason？\nI think possible reasons：\nReason 1：No dataset with empty annotations\nReason 2： The optimal one is not selected in the divided 10-fold dataset\nReason 3：Multi-scale scaling is not used during training",
      "votes": null
    },
    {
      "id": "1673150",
      "postDate": "02/02/2022 14:39:30",
      "content": "<p>thanks for your reply. Due GPU RAM limit, I can't test batch size &gt;2 with big image size or bigger models.</p>",
      "rawMarkdown": "thanks for your reply. Due GPU RAM limit, I can't test batch size >2 with big image size or bigger models.",
      "votes": null
    },
    {
      "id": "1673162",
      "postDate": "02/02/2022 14:45:10",
      "content": "<p>Don't worry, I will try to train in smaller image size to figure out it.</p>",
      "rawMarkdown": "Don't worry, I will try to train in smaller image size to figure out it.",
      "votes": null
    },
    {
      "id": "1673194",
      "postDate": "02/02/2022 15:11:50",
      "content": "<p>Congrats for your interesting result. Are you using the default anchors sizes for yolov5s6 ? Are you able to easily reproduce the result with a different fold ?</p>",
      "rawMarkdown": "Congrats for your interesting result. Are you using the default anchors sizes for yolov5s6 ? Are you able to easily reproduce the result with a different fold ?",
      "votes": null
    },
    {
      "id": "1673236",
      "postDate": "02/02/2022 15:40:51",
      "content": "<p>Both no…</p>",
      "rawMarkdown": "Both no...",
      "votes": null
    },
    {
      "id": "1673249",
      "postDate": "02/02/2022 15:53:29",
      "content": "<p>you have to make a 3d graph of f2 vs TP and FP (FN is realted to TP). Then you have to know where your model is and if you increase your inference size where you would end up with.</p>\n<hr>\n<p>\"local cv 0.550\" <br>\ni think the top results can get local cv more than cv &gt;= 0.60 (for the most difficult split … some can go up to 0.70 for the easy split)</p>\n<hr>\n<p>in the cots dataset paper, it is mentioned that there are about a few hundreds COTS objects (unique track id).</p>\n<p>in the train dataset, there are about 230 COTS objects. if we take \"a few hundreds\" to mean less than 500, say \"350\", then there about 100 to 150 objects in the test. public test is 25% of all test. there are probably about 25 to 50 cots object. each cots occurs in multiple frames. sometimes you may miss them in the earlier frames when they are small or in other frames when the results are unstable. <br>\ntracking, ensemble, TTA, increase infreence size should help to recover the unstable results (provided that you detect at lesat a few from them in their entire track)</p>\n<p>25 COTS is a hit or miss thing. if you use the correct split or augmentation, you may hit them all.<br>\nin short, there are to little data for training and maybe also in the public dataset.</p>",
      "rawMarkdown": "you have to make a 3d graph of f2 vs TP and FP (FN is realted to TP). Then you have to know where your model is and if you increase your inference size where you would end up with.\n\n---\n\"local cv 0.550\" \ni think the top results can get local cv more than cv >= 0.60 (for the most difficult split ... some can go up to 0.70 for the easy split)\n\n\n----\n\nin the cots dataset paper, it is mentioned that there are about a few hundreds COTS objects (unique track id).\n\nin the train dataset, there are about 230 COTS objects. if we take \"a few hundreds\" to mean less than 500, say \"350\", then there about 100 to 150 objects in the test. public test is 25% of all test. there are probably about 25 to 50 cots object. each cots occurs in multiple frames. sometimes you may miss them in the earlier frames when they are small or in other frames when the results are unstable. \ntracking, ensemble, TTA, increase infreence size should help to recover the unstable results (provided that you detect at lesat a few from them in their entire track)\n\n25 COTS is a hit or miss thing. if you use the correct split or augmentation, you may hit them all.\nin short, there are to little data for training and maybe also in the public dataset.",
      "votes": null
    },
    {
      "id": "1673297",
      "postDate": "02/02/2022 16:25:57",
      "content": "<p>Thanks for your answer. Your answer helped me a lot. l will try further in some ways.</p>",
      "rawMarkdown": "Thanks for your answer. Your answer helped me a lot. l will try further in some ways.",
      "votes": null
    },
    {
      "id": "1673324",
      "postDate": "02/02/2022 16:42:10",
      "content": "<p>i put the results at my post<br>\n<a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405</a><br>\n<img src=\"https://i.ibb.co/w7jZPY0/Selection-021.png\" alt=\"https://i.ibb.co/w7jZPY0/Selection-021.png\"><br>\n<a href=\"https://i.ibb.co/w7jZPY0/Selection-021.png\" target=\"_blank\">https://i.ibb.co/w7jZPY0/Selection-021.png</a></p>\n<p>same CV gives different LB!</p>\n<p>(conversely, same LB may gives different CV)</p>",
      "rawMarkdown": "i put the results at my post\nhttps://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405\n![https://i.ibb.co/w7jZPY0/Selection-021.png](https://i.ibb.co/w7jZPY0/Selection-021.png)\nhttps://i.ibb.co/w7jZPY0/Selection-021.png\n\n\nsame CV gives different LB!\n\n(conversely, same LB may gives different CV)",
      "votes": null
    },
    {
      "id": "1673338",
      "postDate": "02/02/2022 16:58:10",
      "content": "<p>You are right. After countless experiements with Yolo, image size doesn't matter <em>that much</em>  Some other parameters like learning rate or decaying functions are also matters. Thanks for letting us.</p>",
      "rawMarkdown": "You are right. After countless experiements with Yolo, image size doesn't matter *that much*  Some other parameters like learning rate or decaying functions are also matters. Thanks for letting us.",
      "votes": null
    },
    {
      "id": "1673362",
      "postDate": "02/02/2022 17:18:35",
      "content": "<p>Rigorous work! I should try more times to get enough data to make this. Your table can give kagglers a good reference.</p>",
      "rawMarkdown": "Rigorous work! I should try more times to get enough data to make this. Your table can give kagglers a good reference.",
      "votes": null
    },
    {
      "id": "1673379",
      "postDate": "02/02/2022 17:34:42",
      "content": "<p>There will be more experiments to figure out it. Waiting for more information.🤝</p>",
      "rawMarkdown": "There will be more experiments to figure out it. Waiting for more information.🤝",
      "votes": null
    },
    {
      "id": "1673409",
      "postDate": "02/02/2022 17:51:14",
      "content": "<p>GPU RAM = 2*22.4G. I made a mistake in the last comment and revise the it. So the model can be trained in public free GPU such as Colab.</p>",
      "rawMarkdown": "GPU RAM = 2*22.4G. I made a mistake in the last comment and revise the it. So the model can be trained in public free GPU such as Colab.",
      "votes": null
    },
    {
      "id": "1673510",
      "postDate": "02/02/2022 19:18:02",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/alexandrecc\" target=\"_blank\">@alexandrecc</a> I think ultralytics uses AutoAnchor, what do you mean by default anchors? Did you adjust the size manually?  </p>",
      "rawMarkdown": "Hi @alexandrecc I think ultralytics uses AutoAnchor, what do you mean by default anchors? Did you adjust the size manually?",
      "votes": null
    },
    {
      "id": "1673593",
      "postDate": "02/02/2022 20:28:22",
      "content": "<p>I meant the anchors saved in the yolov5s6.pt checkpoint.</p>",
      "rawMarkdown": "I meant the anchors saved in the yolov5s6.pt checkpoint.",
      "votes": null
    },
    {
      "id": "1673850",
      "postDate": "02/03/2022 03:06:23",
      "content": "<p>Hey, nice work. I wanted to ask why you decided to infer with the best model instead of ensembling with your other 10 models</p>",
      "rawMarkdown": "Hey, nice work. I wanted to ask why you decided to infer with the best model instead of ensembling with your other 10 models",
      "votes": null
    },
    {
      "id": "1673906",
      "postDate": "02/03/2022 04:46:55",
      "content": "<p>Ensemble is the following work，I am testing baseline model and I have only 2 good model，it‘s no need to ensemble them right now.</p>",
      "rawMarkdown": "Ensemble is the following work，I am testing baseline model and I have only 2 good model，it‘s no need to ensemble them right now.",
      "votes": null
    },
    {
      "id": "1674033",
      "postDate": "02/03/2022 07:19:26",
      "content": "<p>Are both of your \"good models\" from different folds? Also, are you splitting your folds by subsequences?</p>\n<p>I also wanted to ask how you specifically got <code>3584</code> as your training resolution</p>",
      "rawMarkdown": "Are both of your \"good models\" from different folds? Also, are you splitting your folds by subsequences?\n\nI also wanted to ask how you specifically got `3584` as your training resolution",
      "votes": null
    },
    {
      "id": "1674045",
      "postDate": "02/03/2022 07:28:50",
      "content": "<p>different fold.keep trying you will know other question‘s answer.They can be find in other discussion topic.</p>",
      "rawMarkdown": "different fold.keep trying you will know other question‘s answer.They can be find in other discussion topic.",
      "votes": null
    },
    {
      "id": "1674072",
      "postDate": "02/03/2022 07:53:35",
      "content": "<p>FYI, from my experiments, larger yolov5 model <strong>always</strong> works better than smaller models, <strong>Both CV and LB</strong>. Maybe it's related to my hyp settings.</p>",
      "rawMarkdown": "FYI, from my experiments, larger yolov5 model **always** works better than smaller models, **Both CV and LB**. Maybe it's related to my hyp settings.",
      "votes": null
    },
    {
      "id": "1674078",
      "postDate": "02/03/2022 08:04:31",
      "content": "<p>By \"larger\", do you mean yolov5-L vs yolov5-S, or do you mean higher resolution?</p>",
      "rawMarkdown": "By \"larger\", do you mean yolov5-L vs yolov5-S, or do you mean higher resolution?",
      "votes": null
    },
    {
      "id": "1674094",
      "postDate": "02/03/2022 08:19:25",
      "content": "<p>Yes，everyone knows that big model and high resolution will work if they have large gpu. But most kagglers have not enough GPU RAM，so  most people can train a good baseline model in small model and small size firstly, then they can try some big size（model and  image), or they will waste so much time in testing big model.<br>\nMy  purpose is to find out the best parameter in small model（and have got some results displayed in my comment), I will try small and big size model and put all results without any reservation.<br>\nAnd I will add your advice as reference in my summary.Thank you！</p>",
      "rawMarkdown": "Yes，everyone knows that big model and high resolution will work if they have large gpu. But most kagglers have not enough GPU RAM，so  most people can train a good baseline model in small model and small size firstly, then they can try some big size（model and  image), or they will waste so much time in testing big model.\nMy  purpose is to find out the best parameter in small model（and have got some results displayed in my comment), I will try small and big size model and put all results without any reservation.\nAnd I will add your advice as reference in my summary.Thank you！",
      "votes": null
    },
    {
      "id": "1674119",
      "postDate": "02/03/2022 08:46:07",
      "content": "<p>yolov5-L vs yolov5-S, not higher resolution.</p>",
      "rawMarkdown": "yolov5-L vs yolov5-S, not higher resolution.",
      "votes": null
    },
    {
      "id": "1674148",
      "postDate": "02/03/2022 09:13:10",
      "content": "<p><a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a> the problem with your approach is that augmentations generally work better with the larger models. So you may find that less augmentations get better results on S, but the reverse may be true for L.</p>",
      "rawMarkdown": "freshair1996 the problem with your approach is that augmentations generally work better with the larger models. So you may find that less augmentations get better results on S, but the reverse may be true for L.",
      "votes": null
    },
    {
      "id": "1674162",
      "postDate": "02/03/2022 09:22:00",
      "content": "<p>Thank you for your advice, I will keep trying.</p>",
      "rawMarkdown": "Thank you for your advice, I will keep trying.",
      "votes": null
    },
    {
      "id": "1674172",
      "postDate": "02/03/2022 09:32:05",
      "content": "<p>Using lower resolution is another approach to save on GPU RAM. But I am not sure about how low resolution affects augmentation usefulness.</p>",
      "rawMarkdown": "Using lower resolution is another approach to save on GPU RAM. But I am not sure about how low resolution affects augmentation usefulness.",
      "votes": null
    },
    {
      "id": "1674178",
      "postDate": "02/03/2022 09:35:44",
      "content": "<p>Yes, it is. That's also what I want to figure out.</p>",
      "rawMarkdown": "Yes, it is. That's also what I want to figure out.",
      "votes": null
    },
    {
      "id": "1675694",
      "postDate": "02/04/2022 12:19:05",
      "content": "<p>update.I got a higher lb(0.661-&gt;0.665) by using biger infer size(3584-&gt;6400). And some other adjusting is display in my 1st comment.</p>",
      "rawMarkdown": "update.I got a higher lb(0.661->0.665) by using biger infer size(3584->6400). And some other adjusting is display in my 1st comment.",
      "votes": null
    },
    {
      "id": "1676135",
      "postDate": "02/04/2022 17:57:56",
      "content": "<blockquote>\n  <p>freeze 8 (finetune from version1)</p>\n</blockquote>\n<p>would you tell me what does this mean : freeze 8 ? </p>",
      "rawMarkdown": "> freeze 8 (finetune from version1)\n\nwould you tell me what does this mean : freeze 8 ?",
      "votes": null
    },
    {
      "id": "1676282",
      "postDate": "02/04/2022 20:54:04",
      "content": "<p><a href=\"https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/\" target=\"_blank\">https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/</a></p>",
      "rawMarkdown": "https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/",
      "votes": null
    },
    {
      "id": "1676551",
      "postDate": "02/05/2022 04:55:26",
      "content": "<p>Were any other hparams tuned or just freeze?</p>",
      "rawMarkdown": "Were any other hparams tuned or just freeze?",
      "votes": null
    },
    {
      "id": "1676565",
      "postDate": "02/05/2022 05:08:20",
      "content": "<p>no, and other tune like infer size ,conf,batch is displayed in comment.</p>",
      "rawMarkdown": "no, and other tune like infer size ,conf,batch is displayed in comment.",
      "votes": null
    },
    {
      "id": "1676573",
      "postDate": "02/05/2022 05:15:04",
      "content": "<p>ah, thanks!</p>",
      "rawMarkdown": "ah, thanks!",
      "votes": null
    },
    {
      "id": "1676655",
      "postDate": "02/05/2022 07:08:44",
      "content": "<p>Good job bro! Can I ask how long did you train 10 models with size 3600? I just trained 5fold one model with 3000 batch 2 which cost me 12 hours on Kaggle!</p>",
      "rawMarkdown": "Good job bro! Can I ask how long did you train 10 models with size 3600? I just trained 5fold one model with 3000 batch 2 which cost me 12 hours on Kaggle!",
      "votes": null
    },
    {
      "id": "1676701",
      "postDate": "02/05/2022 08:19:48",
      "content": "<p>That's why I created the topic. For most kagglers, big model and size is not suitable. I test so many model to get a good baseline.I have enough GPU RAM, I finished the training in 1 hours.</p>",
      "rawMarkdown": "That's why I created the topic. For most kagglers, big model and size is not suitable. I test so many model to get a good baseline.I have enough GPU RAM, I finished the training in 1 hours.",
      "votes": null
    },
    {
      "id": "1678593",
      "postDate": "02/06/2022 16:38:40",
      "content": "<p>How they calculate scores, i mean what % of our RAM and GPU is involved in final score <a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a> </p>",
      "rawMarkdown": "How they calculate scores, i mean what % of our RAM and GPU is involved in final score @freshair1996",
      "votes": null
    },
    {
      "id": "1678620",
      "postDate": "02/06/2022 17:03:43",
      "content": "<p>All is calculate by yolov5 itself, and I get all parameters on wandb when it's trained over.</p>",
      "rawMarkdown": "All is calculate by yolov5 itself, and I get all parameters on wandb when it's trained over.",
      "votes": null
    },
    {
      "id": "1678766",
      "postDate": "02/06/2022 19:12:54",
      "content": "<p>amazing post, thank you for sharing! </p>",
      "rawMarkdown": "amazing post, thank you for sharing!",
      "votes": null
    },
    {
      "id": "1679246",
      "postDate": "02/07/2022 05:07:42",
      "content": "<p>I wonder why you first train the model with a larger image size (3584) then you retrain the model with a smaller image size with freeze these layers, maybe it is related to the fact that yolo is bad at detecting small objects? </p>",
      "rawMarkdown": "I wonder why you first train the model with a larger image size (3584) then you retrain the model with a smaller image size with freeze these layers, maybe it is related to the fact that yolo is bad at detecting small objects?",
      "votes": null
    },
    {
      "id": "1679258",
      "postDate": "02/07/2022 05:25:32",
      "content": "<p>To get a good score in small image size, and then infer in bigger size, that's may make sense. We can use bigger size(x4) to improve our scores.  Just a suppose. </p>",
      "rawMarkdown": "To get a good score in small image size, and then infer in bigger size, that's may make sense. We can use bigger size(x4) to improve our scores.  Just a suppose.",
      "votes": null
    },
    {
      "id": "1679510",
      "postDate": "02/07/2022 09:09:24",
      "content": "<p>thanks for posting</p>",
      "rawMarkdown": "thanks for posting",
      "votes": null
    },
    {
      "id": "1680262",
      "postDate": "02/07/2022 17:38:17",
      "content": "<p>Wow. That's quite fast. It's always overnight for me, especially when dealing with larger image size. </p>",
      "rawMarkdown": "Wow. That's quite fast. It's always overnight for me, especially when dealing with larger image size.",
      "votes": null
    },
    {
      "id": "1683472",
      "postDate": "02/09/2022 20:20:00",
      "content": "<p>I wonder if you trained the first model and then transfer-learned the second model on a different fold, doesn't that mean you are using data leakage on the training set (test the second model on a fold you have already trained the first 8 layers on)? Although that \"might\" lead to a better result, how are you confident to pick a model during training with this validation leakage?</p>",
      "rawMarkdown": "I wonder if you trained the first model and then transfer-learned the second model on a different fold, doesn't that mean you are using data leakage on the training set (test the second model on a fold you have already trained the first 8 layers on)? Although that \"might\" lead to a better result, how are you confident to pick a model during training with this validation leakage?",
      "votes": null
    },
    {
      "id": "1683483",
      "postDate": "02/09/2022 20:25:41",
      "content": "<p>May you give us some information on the fold that you choose to use as the validation fold? Is it just a k-fold split, or you may already balance the folds before training?</p>",
      "rawMarkdown": "May you give us some information on the fold that you choose to use as the validation fold? Is it just a k-fold split, or you may already balance the folds before training?",
      "votes": null
    },
    {
      "id": "1683640",
      "postDate": "02/10/2022 00:11:55",
      "content": "<p>It has been posted here.</p>",
      "rawMarkdown": "It has been posted here.",
      "votes": null
    },
    {
      "id": "1683705",
      "postDate": "02/10/2022 02:08:33",
      "content": "<p>The topic and my open code have  detail about it.</p>",
      "rawMarkdown": "The topic and my open code have  detail about it.",
      "votes": null
    },
    {
      "id": "1683820",
      "postDate": "02/10/2022 04:17:31",
      "content": "<p>No leakage. Parameter change and in the same fold. It is just a two stage training.</p>",
      "rawMarkdown": "No leakage. Parameter change and in the same fold. It is just a two stage training.",
      "votes": null
    },
    {
      "id": "1683822",
      "postDate": "02/10/2022 04:21:00",
      "content": "<p>I provide the single model to let people make more tricks on it. Code zone has many source can be merge with it. I am trying that , if I get a good results, I will share the codes with kagglers.</p>",
      "rawMarkdown": "I provide the single model to let people make more tricks on it. Code zone has many source can be merge with it. I am trying that , if I get a good results, I will share the codes with kagglers.",
      "votes": null
    },
    {
      "id": "1684092",
      "postDate": "02/10/2022 09:03:14",
      "content": "<p>Congrats for your interesting result. May I ask question? The submission of my notebook is always timeout. I use your weights for my model and copy and edit your notebook. I do not know why this happens. </p>",
      "rawMarkdown": "Congrats for your interesting result. May I ask question? The submission of my notebook is always timeout. I use your weights for my model and copy and edit your notebook. I do not know why this happens.",
      "votes": null
    },
    {
      "id": "1684163",
      "postDate": "02/10/2022 10:10:01",
      "content": "<p>Turn on GPU</p>",
      "rawMarkdown": "Turn on GPU",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1672720,
      "author_name": "liyilin14",
      "author_url": "",
      "post_date": "02/02/2022 08:52:50",
      "content": "<p>Do you train many models to enemble ?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1672726,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 08:56:23",
          "content": "<p>Just single model, ensemble is the work I am trying. I will finish it soon.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672729,
          "author_name": "liyilin14",
          "author_url": "",
          "post_date": "02/02/2022 09:00:02",
          "content": "<p>Single model to get LB0.661? Your working is amazing👍</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1672731,
      "author_name": "tatamikenn",
      "author_url": "",
      "post_date": "02/02/2022 09:05:41",
      "content": "<p>Is this result using no tracking?<br>\nAnd do you confirm using bigger model won’t improve the result?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1672737,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 09:09:07",
          "content": "<p>Single model with nothing</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672768,
          "author_name": "tatamikenn",
          "author_url": "",
          "post_date": "02/02/2022 09:33:07",
          "content": "<p>Have you tried bigger model?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672771,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 09:35:43",
          "content": "<p>I maybe will try yolov5m6. But as I said in the topic, I think it's not the key point. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672910,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 11:29:49",
          "content": "<p>I will try more adjusting in future model, including yolov5m , and I will update my training results in the topic.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1672734,
      "author_name": "locbaop",
      "author_url": "",
      "post_date": "02/02/2022 09:07:07",
      "content": "<p>infer size 3584 and lb is 0.661, you're amazing. Can i ask how you split your fold? </p>",
      "votes": null,
      "replies": [
        {
          "id": 1672743,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 09:13:54",
          "content": "<p>You can add a set of id(0-9) for every video image by order and use a groupkfold function in sklearn to split it into 10fold by the id you add in.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672749,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "02/02/2022 09:16:10",
          "content": "<p><a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a>  do  you use negative images also ?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672751,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 09:17:12",
          "content": "<p>No trick in data split and I only use the image with boxes(COTS).</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1672756,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 09:19:38",
          "content": "<p>No. But I will try it in the next model with the 1:1 proportion of negative img and positive img.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1672804,
      "author_name": "dragonzhang",
      "author_url": "",
      "post_date": "02/02/2022 10:15:13",
      "content": "<p>for batch_size&gt;=8, May I ask what is the minimum GPU RAM size required?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1672862,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 10:55:14",
          "content": "<p>It depends on your image size. For my training size 3584 and batch 8, it's 2*22.4GB. But I am trying smaller (size,batch) like (1280,8) . I will refresh my following training results to provide some reference for kagglers.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673150,
          "author_name": "dragonzhang",
          "author_url": "",
          "post_date": "02/02/2022 14:39:30",
          "content": "<p>thanks for your reply. Due GPU RAM limit, I can't test batch size &gt;2 with big image size or bigger models.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673162,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 14:45:10",
          "content": "<p>Don't worry, I will try to train in smaller image size to figure out it.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673409,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 17:51:14",
          "content": "<p>GPU RAM = 2*22.4G. I made a mistake in the last comment and revise the it. So the model can be trained in public free GPU such as Colab.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673060,
      "author_name": "henini",
      "author_url": "",
      "post_date": "02/02/2022 13:29:40",
      "content": "<p>Master, there are two questions l want to ask you!<br>\nQuestion 1:Do you use 3584 for both training and inference?<br>\nQuestion 2:When you train to use 3584, will you infer that using size 7168(2x) will you get a higher lb?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673072,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 13:41:58",
          "content": "<p>1.yes;<br>\n2.no(only try it once,more experiments are needed to confirm all of these)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1675694,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/04/2022 12:19:05",
          "content": "<p>update.I got a higher lb(0.661-&gt;0.665) by using biger infer size(3584-&gt;6400). And some other adjusting is display in my 1st comment.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673073,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "02/02/2022 13:42:10",
      "content": "<p>\"config =0.28,iou = 0.40 mabey a good parameter for your first inference.\"</p>\n<p>train until your validation is approxiately best at threshold = 0.28 +/- xxx , iou=04 may be a better description</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673084,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 13:57:51",
          "content": "<p>Yes, that may be related to model's hyps, but I found config = 0.28 and iou = 0.40 works in many notebook(mine too). I will update it with more training results.Thanks for your valuable advice.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673117,
          "author_name": "henini",
          "author_url": "",
          "post_date": "02/02/2022 14:17:16",
          "content": "<p>Master Frog！I have a question for you！<br>\nl locally trained a model yolov5s6 with size=3600，and local cv0.55. Using 10fold subsequences. <br>\nWhen I infer with different sizes：<br>\n3600（1x）  |  lb=0.579<br>\n5400（1.5x）|  lb=0.587<br>\n7200（2x）  |  lb=0.580<br>\n9000（2.5x）| lb=0.577<br>\nChanging the inferred size didn‘t get a noticeable boost. And many people will get a huge improvement when they increase their size. What do you think is the reason？<br>\nI think possible reasons：<br>\nReason 1：No dataset with empty annotations<br>\nReason 2： The optimal one is not selected in the divided 10-fold dataset<br>\nReason 3：Multi-scale scaling is not used during training</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673249,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "02/02/2022 15:53:29",
          "content": "<p>you have to make a 3d graph of f2 vs TP and FP (FN is realted to TP). Then you have to know where your model is and if you increase your inference size where you would end up with.</p>\n<hr>\n<p>\"local cv 0.550\" <br>\ni think the top results can get local cv more than cv &gt;= 0.60 (for the most difficult split … some can go up to 0.70 for the easy split)</p>\n<hr>\n<p>in the cots dataset paper, it is mentioned that there are about a few hundreds COTS objects (unique track id).</p>\n<p>in the train dataset, there are about 230 COTS objects. if we take \"a few hundreds\" to mean less than 500, say \"350\", then there about 100 to 150 objects in the test. public test is 25% of all test. there are probably about 25 to 50 cots object. each cots occurs in multiple frames. sometimes you may miss them in the earlier frames when they are small or in other frames when the results are unstable. <br>\ntracking, ensemble, TTA, increase infreence size should help to recover the unstable results (provided that you detect at lesat a few from them in their entire track)</p>\n<p>25 COTS is a hit or miss thing. if you use the correct split or augmentation, you may hit them all.<br>\nin short, there are to little data for training and maybe also in the public dataset.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673297,
          "author_name": "henini",
          "author_url": "",
          "post_date": "02/02/2022 16:25:57",
          "content": "<p>Thanks for your answer. Your answer helped me a lot. l will try further in some ways.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673324,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "02/02/2022 16:42:10",
          "content": "<p>i put the results at my post<br>\n<a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405\" target=\"_blank\">https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405</a><br>\n<img src=\"https://i.ibb.co/w7jZPY0/Selection-021.png\" alt=\"https://i.ibb.co/w7jZPY0/Selection-021.png\"><br>\n<a href=\"https://i.ibb.co/w7jZPY0/Selection-021.png\" target=\"_blank\">https://i.ibb.co/w7jZPY0/Selection-021.png</a></p>\n<p>same CV gives different LB!</p>\n<p>(conversely, same LB may gives different CV)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673362,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 17:18:35",
          "content": "<p>Rigorous work! I should try more times to get enough data to make this. Your table can give kagglers a good reference.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673080,
      "author_name": "simonsanghoonkim",
      "author_url": "",
      "post_date": "02/02/2022 13:53:57",
      "content": "<p>great! simple is the best</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673085,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 13:58:31",
          "content": "<p>I will try more simple model.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673194,
      "author_name": "alexandrecc",
      "author_url": "",
      "post_date": "02/02/2022 15:11:50",
      "content": "<p>Congrats for your interesting result. Are you using the default anchors sizes for yolov5s6 ? Are you able to easily reproduce the result with a different fold ?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673236,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 15:40:51",
          "content": "<p>Both no…</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673510,
          "author_name": "soumya9977",
          "author_url": "",
          "post_date": "02/02/2022 19:18:02",
          "content": "<p>Hi <a href=\"https://www.kaggle.com/alexandrecc\" target=\"_blank\">@alexandrecc</a> I think ultralytics uses AutoAnchor, what do you mean by default anchors? Did you adjust the size manually?  </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1673593,
          "author_name": "alexandrecc",
          "author_url": "",
          "post_date": "02/02/2022 20:28:22",
          "content": "<p>I meant the anchors saved in the yolov5s6.pt checkpoint.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673338,
      "author_name": "kfk42kfk",
      "author_url": "",
      "post_date": "02/02/2022 16:58:10",
      "content": "<p>You are right. After countless experiements with Yolo, image size doesn't matter <em>that much</em>  Some other parameters like learning rate or decaying functions are also matters. Thanks for letting us.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673379,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/02/2022 17:34:42",
          "content": "<p>There will be more experiments to figure out it. Waiting for more information.🤝</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1673850,
      "author_name": "kennyxie",
      "author_url": "",
      "post_date": "02/03/2022 03:06:23",
      "content": "<p>Hey, nice work. I wanted to ask why you decided to infer with the best model instead of ensembling with your other 10 models</p>",
      "votes": null,
      "replies": [
        {
          "id": 1673906,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/03/2022 04:46:55",
          "content": "<p>Ensemble is the following work，I am testing baseline model and I have only 2 good model，it‘s no need to ensemble them right now.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674033,
          "author_name": "kennyxie",
          "author_url": "",
          "post_date": "02/03/2022 07:19:26",
          "content": "<p>Are both of your \"good models\" from different folds? Also, are you splitting your folds by subsequences?</p>\n<p>I also wanted to ask how you specifically got <code>3584</code> as your training resolution</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674045,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/03/2022 07:28:50",
          "content": "<p>different fold.keep trying you will know other question‘s answer.They can be find in other discussion topic.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1683472,
          "author_name": "anhnhunhat",
          "author_url": "",
          "post_date": "02/09/2022 20:20:00",
          "content": "<p>I wonder if you trained the first model and then transfer-learned the second model on a different fold, doesn't that mean you are using data leakage on the training set (test the second model on a fold you have already trained the first 8 layers on)? Although that \"might\" lead to a better result, how are you confident to pick a model during training with this validation leakage?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1683820,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/10/2022 04:17:31",
          "content": "<p>No leakage. Parameter change and in the same fold. It is just a two stage training.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1683822,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/10/2022 04:21:00",
          "content": "<p>I provide the single model to let people make more tricks on it. Code zone has many source can be merge with it. I am trying that , if I get a good results, I will share the codes with kagglers.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1674072,
      "author_name": "snaker",
      "author_url": "",
      "post_date": "02/03/2022 07:53:35",
      "content": "<p>FYI, from my experiments, larger yolov5 model <strong>always</strong> works better than smaller models, <strong>Both CV and LB</strong>. Maybe it's related to my hyp settings.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1674078,
          "author_name": "alexchwong",
          "author_url": "",
          "post_date": "02/03/2022 08:04:31",
          "content": "<p>By \"larger\", do you mean yolov5-L vs yolov5-S, or do you mean higher resolution?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674094,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/03/2022 08:19:25",
          "content": "<p>Yes，everyone knows that big model and high resolution will work if they have large gpu. But most kagglers have not enough GPU RAM，so  most people can train a good baseline model in small model and small size firstly, then they can try some big size（model and  image), or they will waste so much time in testing big model.<br>\nMy  purpose is to find out the best parameter in small model（and have got some results displayed in my comment), I will try small and big size model and put all results without any reservation.<br>\nAnd I will add your advice as reference in my summary.Thank you！</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674119,
          "author_name": "snaker",
          "author_url": "",
          "post_date": "02/03/2022 08:46:07",
          "content": "<p>yolov5-L vs yolov5-S, not higher resolution.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674148,
          "author_name": "alexchwong",
          "author_url": "",
          "post_date": "02/03/2022 09:13:10",
          "content": "<p><a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a> the problem with your approach is that augmentations generally work better with the larger models. So you may find that less augmentations get better results on S, but the reverse may be true for L.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674162,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/03/2022 09:22:00",
          "content": "<p>Thank you for your advice, I will keep trying.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674172,
          "author_name": "alexchwong",
          "author_url": "",
          "post_date": "02/03/2022 09:32:05",
          "content": "<p>Using lower resolution is another approach to save on GPU RAM. But I am not sure about how low resolution affects augmentation usefulness.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1674178,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/03/2022 09:35:44",
          "content": "<p>Yes, it is. That's also what I want to figure out.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1676135,
      "author_name": "nyleve",
      "author_url": "",
      "post_date": "02/04/2022 17:57:56",
      "content": "<blockquote>\n  <p>freeze 8 (finetune from version1)</p>\n</blockquote>\n<p>would you tell me what does this mean : freeze 8 ? </p>",
      "votes": null,
      "replies": [
        {
          "id": 1676282,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/04/2022 20:54:04",
          "content": "<p><a href=\"https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/\" target=\"_blank\">https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/</a></p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1676551,
      "author_name": "kennyxie",
      "author_url": "",
      "post_date": "02/05/2022 04:55:26",
      "content": "<p>Were any other hparams tuned or just freeze?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1676565,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/05/2022 05:08:20",
          "content": "<p>no, and other tune like infer size ,conf,batch is displayed in comment.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1676573,
          "author_name": "kennyxie",
          "author_url": "",
          "post_date": "02/05/2022 05:15:04",
          "content": "<p>ah, thanks!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1676655,
      "author_name": "lixxxxx",
      "author_url": "",
      "post_date": "02/05/2022 07:08:44",
      "content": "<p>Good job bro! Can I ask how long did you train 10 models with size 3600? I just trained 5fold one model with 3000 batch 2 which cost me 12 hours on Kaggle!</p>",
      "votes": null,
      "replies": [
        {
          "id": 1676701,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/05/2022 08:19:48",
          "content": "<p>That's why I created the topic. For most kagglers, big model and size is not suitable. I test so many model to get a good baseline.I have enough GPU RAM, I finished the training in 1 hours.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1680262,
          "author_name": "liminchen1",
          "author_url": "",
          "post_date": "02/07/2022 17:38:17",
          "content": "<p>Wow. That's quite fast. It's always overnight for me, especially when dealing with larger image size. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1678593,
      "author_name": "santoshd3",
      "author_url": "",
      "post_date": "02/06/2022 16:38:40",
      "content": "<p>How they calculate scores, i mean what % of our RAM and GPU is involved in final score <a href=\"https://www.kaggle.com/freshair1996\" target=\"_blank\">@freshair1996</a> </p>",
      "votes": null,
      "replies": [
        {
          "id": 1678620,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/06/2022 17:03:43",
          "content": "<p>All is calculate by yolov5 itself, and I get all parameters on wandb when it's trained over.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1678766,
      "author_name": "hngbiquc",
      "author_url": "",
      "post_date": "02/06/2022 19:12:54",
      "content": "<p>amazing post, thank you for sharing! </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1679246,
      "author_name": "hngbiquc",
      "author_url": "",
      "post_date": "02/07/2022 05:07:42",
      "content": "<p>I wonder why you first train the model with a larger image size (3584) then you retrain the model with a smaller image size with freeze these layers, maybe it is related to the fact that yolo is bad at detecting small objects? </p>",
      "votes": null,
      "replies": [
        {
          "id": 1679258,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/07/2022 05:25:32",
          "content": "<p>To get a good score in small image size, and then infer in bigger size, that's may make sense. We can use bigger size(x4) to improve our scores.  Just a suppose. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1679510,
      "author_name": "sakshammalge",
      "author_url": "",
      "post_date": "02/07/2022 09:09:24",
      "content": "<p>thanks for posting</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1683483,
      "author_name": "anhnhunhat",
      "author_url": "",
      "post_date": "02/09/2022 20:25:41",
      "content": "<p>May you give us some information on the fold that you choose to use as the validation fold? Is it just a k-fold split, or you may already balance the folds before training?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1683640,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/10/2022 00:11:55",
          "content": "<p>It has been posted here.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1683705,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/10/2022 02:08:33",
          "content": "<p>The topic and my open code have  detail about it.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1684092,
      "author_name": "coulson1922",
      "author_url": "",
      "post_date": "02/10/2022 09:03:14",
      "content": "<p>Congrats for your interesting result. May I ask question? The submission of my notebook is always timeout. I use your weights for my model and copy and edit your notebook. I do not know why this happens. </p>",
      "votes": null,
      "replies": [
        {
          "id": 1684163,
          "author_name": "freshair1996",
          "author_url": "",
          "post_date": "02/10/2022 10:10:01",
          "content": "<p>Turn on GPU</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1672702": "### I will keep updating my experimental results here\n#### Summaries\n0.If you have enough GPU RAM or a good baseline, trying  the bigger model and size may be a easy way to get a higher score. If you haven't, small model or size can bring you a good enough baseline more quickly, hardware competition is not suitable for all.(update 2022.02.04 )\n1.Image_size is not the key point, you can chose any size in the range(1280,3600),never use a smaller batch for getting a bigger image size, just chose the size suit for your gpu with a batch >= 8.\n2.yolov5s/yolov5s6 is enough for the task, do not waste time in yolov5l or other biger model. Check all setting and parameters in the model yolov5s/yolov5s6, and do some adjusting with your understanding.\n3.config =0.28,iou = 0.40 mabey a good parameter for your first inference.\n#### Version Information\n##### version 1\n- LB 0.661\n- batch 8\n- epoch 15\n- train and infer size 3584( I'm trying smaller size like 2400 or 1280,I‘m’ sure it will also make sense)\n- fold 10 and I just chose one model of it.\n- use F2 indicator\n\n##### version 2\n- freeze 8 (finetune from version1)\n- LB 0.665\n- batch 16\n- epoch 10\n- train size 2240 \n- fold 10 and I just chose one model of it.\n- use F2 indicator\n- infer size 6400 iou = 0.50 conf = 0.30\n### Advice from comments\n- [Chenglu](https://www.kaggle.com/snaker):Biger model and image size  work better than the small one.",
    "1672720": "Do you train many models to enemble ?",
    "1672726": "Just single model, ensemble is the work I am trying. I will finish it soon.",
    "1672729": "Single model to get LB0.661? Your working is amazing👍",
    "1672731": "Is this result using no tracking?\nAnd do you confirm using bigger model won’t improve the result?",
    "1672734": "infer size 3584 and lb is 0.661, you're amazing. Can i ask how you split your fold?",
    "1672737": "Single model with nothing",
    "1672743": "You can add a set of id(0-9) for every video image by order and use a groupkfold function in sklearn to split it into 10fold by the id you add in.",
    "1672749": "freshair1996  do  you use negative images also ?",
    "1672751": "No trick in data split and I only use the image with boxes(COTS).",
    "1672756": "No. But I will try it in the next model with the 1:1 proportion of negative img and positive img.",
    "1672768": "Have you tried bigger model?",
    "1672771": "I maybe will try yolov5m6. But as I said in the topic, I think it's not the key point.",
    "1672804": "for batch_size>=8, May I ask what is the minimum GPU RAM size required?",
    "1672862": "It depends on your image size. For my training size 3584 and batch 8, it's 2*22.4GB. But I am trying smaller (size,batch) like (1280,8) . I will refresh my following training results to provide some reference for kagglers.",
    "1672910": "I will try more adjusting in future model, including yolov5m , and I will update my training results in the topic.",
    "1673060": "Master, there are two questions l want to ask you!\nQuestion 1:Do you use 3584 for both training and inference?\nQuestion 2:When you train to use 3584, will you infer that using size 7168(2x) will you get a higher lb?",
    "1673072": "1.yes;\n2.no(only try it once,more experiments are needed to confirm all of these)",
    "1673073": "\"config =0.28,iou = 0.40 mabey a good parameter for your first inference.\"\n\ntrain until your validation is approxiately best at threshold = 0.28 +/- xxx , iou=04 may be a better description",
    "1673080": "great! simple is the best",
    "1673084": "Yes, that may be related to model's hyps, but I found config = 0.28 and iou = 0.40 works in many notebook(mine too). I will update it with more training results.Thanks for your valuable advice.",
    "1673085": "I will try more simple model.",
    "1673117": "Master Frog！I have a question for you！\nl locally trained a model yolov5s6 with size=3600，and local cv0.55. Using 10fold subsequences. \nWhen I infer with different sizes：\n3600（1x）  |  lb=0.579\n5400（1.5x）|  lb=0.587\n7200（2x）  |  lb=0.580\n9000（2.5x）| lb=0.577\nChanging the inferred size didn‘t get a noticeable boost. And many people will get a huge improvement when they increase their size. What do you think is the reason？\nI think possible reasons：\nReason 1：No dataset with empty annotations\nReason 2： The optimal one is not selected in the divided 10-fold dataset\nReason 3：Multi-scale scaling is not used during training",
    "1673150": "thanks for your reply. Due GPU RAM limit, I can't test batch size >2 with big image size or bigger models.",
    "1673162": "Don't worry, I will try to train in smaller image size to figure out it.",
    "1673194": "Congrats for your interesting result. Are you using the default anchors sizes for yolov5s6 ? Are you able to easily reproduce the result with a different fold ?",
    "1673236": "Both no...",
    "1673249": "you have to make a 3d graph of f2 vs TP and FP (FN is realted to TP). Then you have to know where your model is and if you increase your inference size where you would end up with.\n\n---\n\"local cv 0.550\" \ni think the top results can get local cv more than cv >= 0.60 (for the most difficult split ... some can go up to 0.70 for the easy split)\n\n\n----\n\nin the cots dataset paper, it is mentioned that there are about a few hundreds COTS objects (unique track id).\n\nin the train dataset, there are about 230 COTS objects. if we take \"a few hundreds\" to mean less than 500, say \"350\", then there about 100 to 150 objects in the test. public test is 25% of all test. there are probably about 25 to 50 cots object. each cots occurs in multiple frames. sometimes you may miss them in the earlier frames when they are small or in other frames when the results are unstable. \ntracking, ensemble, TTA, increase infreence size should help to recover the unstable results (provided that you detect at lesat a few from them in their entire track)\n\n25 COTS is a hit or miss thing. if you use the correct split or augmentation, you may hit them all.\nin short, there are to little data for training and maybe also in the public dataset.",
    "1673297": "Thanks for your answer. Your answer helped me a lot. l will try further in some ways.",
    "1673324": "i put the results at my post\nhttps://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/300405\n![https://i.ibb.co/w7jZPY0/Selection-021.png](https://i.ibb.co/w7jZPY0/Selection-021.png)\nhttps://i.ibb.co/w7jZPY0/Selection-021.png\n\n\nsame CV gives different LB!\n\n(conversely, same LB may gives different CV)",
    "1673338": "You are right. After countless experiements with Yolo, image size doesn't matter *that much*  Some other parameters like learning rate or decaying functions are also matters. Thanks for letting us.",
    "1673362": "Rigorous work! I should try more times to get enough data to make this. Your table can give kagglers a good reference.",
    "1673379": "There will be more experiments to figure out it. Waiting for more information.🤝",
    "1673409": "GPU RAM = 2*22.4G. I made a mistake in the last comment and revise the it. So the model can be trained in public free GPU such as Colab.",
    "1673510": "Hi @alexandrecc I think ultralytics uses AutoAnchor, what do you mean by default anchors? Did you adjust the size manually?",
    "1673593": "I meant the anchors saved in the yolov5s6.pt checkpoint.",
    "1673850": "Hey, nice work. I wanted to ask why you decided to infer with the best model instead of ensembling with your other 10 models",
    "1673906": "Ensemble is the following work，I am testing baseline model and I have only 2 good model，it‘s no need to ensemble them right now.",
    "1674033": "Are both of your \"good models\" from different folds? Also, are you splitting your folds by subsequences?\n\nI also wanted to ask how you specifically got `3584` as your training resolution",
    "1674045": "different fold.keep trying you will know other question‘s answer.They can be find in other discussion topic.",
    "1674072": "FYI, from my experiments, larger yolov5 model **always** works better than smaller models, **Both CV and LB**. Maybe it's related to my hyp settings.",
    "1674078": "By \"larger\", do you mean yolov5-L vs yolov5-S, or do you mean higher resolution?",
    "1674094": "Yes，everyone knows that big model and high resolution will work if they have large gpu. But most kagglers have not enough GPU RAM，so  most people can train a good baseline model in small model and small size firstly, then they can try some big size（model and  image), or they will waste so much time in testing big model.\nMy  purpose is to find out the best parameter in small model（and have got some results displayed in my comment), I will try small and big size model and put all results without any reservation.\nAnd I will add your advice as reference in my summary.Thank you！",
    "1674119": "yolov5-L vs yolov5-S, not higher resolution.",
    "1674148": "freshair1996 the problem with your approach is that augmentations generally work better with the larger models. So you may find that less augmentations get better results on S, but the reverse may be true for L.",
    "1674162": "Thank you for your advice, I will keep trying.",
    "1674172": "Using lower resolution is another approach to save on GPU RAM. But I am not sure about how low resolution affects augmentation usefulness.",
    "1674178": "Yes, it is. That's also what I want to figure out.",
    "1675694": "update.I got a higher lb(0.661->0.665) by using biger infer size(3584->6400). And some other adjusting is display in my 1st comment.",
    "1676135": "> freeze 8 (finetune from version1)\n\nwould you tell me what does this mean : freeze 8 ?",
    "1676282": "https://docs.ultralytics.com/tutorials/transfer-learning-froze-layers/",
    "1676551": "Were any other hparams tuned or just freeze?",
    "1676565": "no, and other tune like infer size ,conf,batch is displayed in comment.",
    "1676573": "ah, thanks!",
    "1676655": "Good job bro! Can I ask how long did you train 10 models with size 3600? I just trained 5fold one model with 3000 batch 2 which cost me 12 hours on Kaggle!",
    "1676701": "That's why I created the topic. For most kagglers, big model and size is not suitable. I test so many model to get a good baseline.I have enough GPU RAM, I finished the training in 1 hours.",
    "1678593": "How they calculate scores, i mean what % of our RAM and GPU is involved in final score @freshair1996",
    "1678620": "All is calculate by yolov5 itself, and I get all parameters on wandb when it's trained over.",
    "1678766": "amazing post, thank you for sharing!",
    "1679246": "I wonder why you first train the model with a larger image size (3584) then you retrain the model with a smaller image size with freeze these layers, maybe it is related to the fact that yolo is bad at detecting small objects?",
    "1679258": "To get a good score in small image size, and then infer in bigger size, that's may make sense. We can use bigger size(x4) to improve our scores.  Just a suppose.",
    "1679510": "thanks for posting",
    "1680262": "Wow. That's quite fast. It's always overnight for me, especially when dealing with larger image size.",
    "1683472": "I wonder if you trained the first model and then transfer-learned the second model on a different fold, doesn't that mean you are using data leakage on the training set (test the second model on a fold you have already trained the first 8 layers on)? Although that \"might\" lead to a better result, how are you confident to pick a model during training with this validation leakage?",
    "1683483": "May you give us some information on the fold that you choose to use as the validation fold? Is it just a k-fold split, or you may already balance the folds before training?",
    "1683640": "It has been posted here.",
    "1683705": "The topic and my open code have  detail about it.",
    "1683820": "No leakage. Parameter change and in the same fold. It is just a two stage training.",
    "1683822": "I provide the single model to let people make more tricks on it. Code zone has many source can be merge with it. I am trying that , if I get a good results, I will share the codes with kagglers.",
    "1684092": "Congrats for your interesting result. May I ask question? The submission of my notebook is always timeout. I use your weights for my model and copy and edit your notebook. I do not know why this happens.",
    "1684163": "Turn on GPU"
  },
  "source": "meta"
}