{
  "id": 167554,
  "title": "YoloV5 is giving better results with out tweaking it much because",
  "url": "/competitions/global-wheat-detection/discussion/167554",
  "author_name": "Kalyan Kumar Pichuka",
  "post_date": "2020-07-17T04:29:01.115000",
  "votes": 19,
  "comment_count": 23,
  "views": 0,
  "content": "<p>Based on my observations, I think few of the reasons why YOLOV5 is working for everybody with out tweaking much</p>\n\n<p>First --&gt; It is doing gradient accumulation by default to a batch size of 64\nsecond --&gt; It is also giving mixed precision training(fp16) by default if we have apex installed</p>\n\n<p>Please comment with your observations</p>\n\n<p>The idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.</p>",
  "messages": [
    {
      "id": 933057,
      "postDate": "2020-07-17T13:02:45.690Z",
      "content": "<p>One of the reasons YoloV5 works well for this dataset may be using  YoloV3 (I'm not very familiar with YoloV* architecture, but I think YoloV5 and YoloV3 have common things) for semi-automatic labelling:</p>\n\n<p>&gt;2.4. from <a href=\"https://arxiv.org/abs/2005.02162\">https://arxiv.org/abs/2005.02162</a>.\nSeveral institutions had already labelled their sub-datasets. For the datasets not labelled, we used a “weakly\nsupervised deep learning framework” [27] to label images efficiently for these sub-datasets. A YoloV3 model\n[28] was trained over UTokyo_1 and Arvalis_1 sub-datasets and then applied to the un-labelled sub-datasets.\nBoxes with an associated confidence score greater than and equal to 0.5 were retained and proposed to the\nuser for correction. This semi-automatic active learning increased the throughput of the labelling process by a\nfactor of four as compared to a fully manual process. The process is detailed in Figure S1.</p>",
      "rawMarkdown": "One of the reasons YoloV5 works well for this dataset may be using  YoloV3 (I'm not very familiar with YoloV* architecture, but I think YoloV5 and YoloV3 have common things) for semi-automatic labelling:\n\n&gt;2.4. from https://arxiv.org/abs/2005.02162.\nSeveral institutions had already labelled their sub-datasets. For the datasets not labelled, we used a “weakly\nsupervised deep learning framework” [27] to label images efficiently for these sub-datasets. A YoloV3 model\n[28] was trained over UTokyo_1 and Arvalis_1 sub-datasets and then applied to the un-labelled sub-datasets.\nBoxes with an associated confidence score greater than and equal to 0.5 were retained and proposed to the\nuser for correction. This semi-automatic active learning increased the throughput of the labelling process by a\nfactor of four as compared to a fully manual process. The process is detailed in Figure S1.",
      "votes": 28,
      "replies": [
        {
          "id": 933641,
          "postDate": "2020-07-17T21:05:58.563Z",
          "content": "<p>That explains a lot. And this is likely another reason to overfit on the public LB unfortunately...</p>",
          "rawMarkdown": "That explains a lot. And this is likely another reason to overfit on the public LB unfortunately...",
          "votes": 1
        }
      ]
    },
    {
      "id": 932442,
      "postDate": "2020-07-17T04:29:01.117Z",
      "content": "<p>Based on my observations, I think few of the reasons why YOLOV5 is working for everybody with out tweaking much</p>\n\n<p>First --&gt; It is doing gradient accumulation by default to a batch size of 64\nsecond --&gt; It is also giving mixed precision training(fp16) by default if we have apex installed</p>\n\n<p>Please comment with your observations</p>\n\n<p>The idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.</p>",
      "rawMarkdown": "Based on my observations, I think few of the reasons why YOLOV5 is working for everybody with out tweaking much\n\nFirst --&gt; It is doing gradient accumulation by default to a batch size of 64\nsecond --&gt; It is also giving mixed precision training(fp16) by default if we have apex installed\n\nPlease comment with your observations\n\nThe idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.",
      "votes": 19
    },
    {
      "id": 933035,
      "postDate": "2020-07-17T12:45:21.297Z",
      "content": "<p>Haven't we been using mosaic in effdet too under the name 'cutmix'? (refer to shonenkov's notebook)</p>\n\n<p>But still the Yolov5 base model with TTA outperforms the effdet D5 with same augmentations in training and TTA in general.</p>\n\n<p>All I could think of is maybe the Yolov5 architecture is better for this dataset.</p>\n\n<p>One observation of mine for this dataset is that lighter SOTA are performing better, can also be seen in effdet D5 vs D7.\nEven though D7 or even D6 is supposedly an upgrade to D5 we couldn't get them to outperform the latter.</p>",
      "rawMarkdown": "Haven't we been using mosaic in effdet too under the name 'cutmix'? (refer to shonenkov's notebook)\n\nBut still the Yolov5 base model with TTA outperforms the effdet D5 with same augmentations in training and TTA in general.\n\nAll I could think of is maybe the Yolov5 architecture is better for this dataset.\n\nOne observation of mine for this dataset is that lighter SOTA are performing better, can also be seen in effdet D5 vs D7.\nEven though D7 or even D6 is supposedly an upgrade to D5 we couldn't get them to outperform the latter.",
      "votes": 7
    },
    {
      "id": 932984,
      "postDate": "2020-07-17T12:06:38.547Z",
      "content": "<p>About gradient accumulation: that may simply because 64 is the ideal batchsize for <em>this dataset</em>, for <em>this YoloV5 pipeline specifically</em>. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.</p>\n<p>A key factor that leads to the current public LB success of YoloV5 is probably because of the mosaic augmentation. Most of the instances in this dataset are considered as small objects with default anchor setting in pipelines tuned against COCO. And it has been reported that mosaic augmentation contributes to a COCO mAP gain by sacrificing <code>AP_l</code> to leverage for great <code>AP_s</code> and <code>AP_m</code> gain, which is exactly what we want for this competition.</p>\n<p>But IMHO I'm having a more difficult time adapting to the style of the codebase, and therefore it's harder for me to build tricks on top of it.</p>",
      "rawMarkdown": "About gradient accumulation: that may simply because 64 is the ideal batchsize for *this dataset*, for *this YoloV5 pipeline specifically*. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.\n\nA key factor that leads to the current public LB success of YoloV5 is probably because of the mosaic augmentation. Most of the instances in this dataset are considered as small objects with default anchor setting in pipelines tuned against COCO. And it has been reported that mosaic augmentation contributes to a COCO mAP gain by sacrificing `AP_l` to leverage for great `AP_s` and `AP_m` gain, which is exactly what we want for this competition.\n\nBut IMHO I'm having a more difficult time adapting to the style of the codebase, and therefore it's harder for me to build tricks on top of it.",
      "votes": 7,
      "replies": [
        {
          "id": 935577,
          "postDate": "2020-07-19T13:57:39.593Z",
          "content": "<blockquote>\n  <p>About gradient accumulation: that may simply because 64 is the ideal batchsize for this dataset, for this YoloV5 pipeline specifically. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.</p>\n</blockquote>\n<p>I agree with you. i was testing effdet d6 pipeline and gradient accumulation at 64 steps leads to high overfitting.</p>",
          "rawMarkdown": "&gt; About gradient accumulation: that may simply because 64 is the ideal batchsize for this dataset, for this YoloV5 pipeline specifically. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.\n\nI agree with you. i was testing effdet d6 pipeline and gradient accumulation at 64 steps leads to high overfitting.",
          "votes": 1,
          "replies": [
            {
              "id": 939094,
              "postDate": "2020-07-22T03:10:47.237Z",
              "content": "<p>Hi <a href=\"/geno87\">@geno87</a>  I'm also using D6. How much is the overfitting if you set gradient accumulation at batch_size = 64?</p>",
              "rawMarkdown": "Hi @geno87  I'm also using D6. How much is the overfitting if you set gradient accumulation at batch_size = 64?"
            }
          ]
        }
      ]
    },
    {
      "id": 932475,
      "postDate": "2020-07-17T04:53:22.147Z",
      "content": "<p>Just curious, why do you continue to use YoloV5? You risk being disqualified if you use it for the final submission</p>",
      "rawMarkdown": "Just curious, why do you continue to use YoloV5? You risk being disqualified if you use it for the final submission",
      "replies": [
        {
          "id": 932535,
          "postDate": "2020-07-17T06:08:10.183Z",
          "content": "<p>In case you don't know but some of us here care more about learning and not some made up Kaggle 'medals' or 'tiers'. And no it doesn't mean we will be submitting non-compliant models either.</p>\n\n<p>I've seen you in countless threads being salty and bashing YoloV5 users while you yourself haven't improved your Effdet (or whatever model) score even a tiny bit since weeks. \nSo, maybe focus more on improving yourself rather than discouraging others to experiment or discuss new ideas just because some pointless technical issue like license deemed it unfit for submission.</p>\n\n<p>And when some people here are trying to discuss ideas to improve themselves maybe add something valuable to it or don't participate at all.\nPlease take this as a positive criticism and stop with this hateful propaganda of yours.</p>",
          "rawMarkdown": "In case you don't know but some of us here care more about learning and not some made up Kaggle 'medals' or 'tiers'. And no it doesn't mean we will be submitting non-compliant models either.\n\nI've seen you in countless threads being salty and bashing YoloV5 users while you yourself haven't improved your Effdet (or whatever model) score even a tiny bit since weeks. \nSo, maybe focus more on improving yourself rather than discouraging others to experiment or discuss new ideas just because some pointless technical issue like license deemed it unfit for submission.\n\nAnd when some people here are trying to discuss ideas to improve themselves maybe add something valuable to it or don't participate at all.\nPlease take this as a positive criticism and stop with this hateful propaganda of yours.",
          "votes": -5
        },
        {
          "id": 932546,
          "postDate": "2020-07-17T06:16:18.800Z",
          "content": "<p>Where have I \"bashed YoloV5 users\"? What \"hateful propaganda\" have I posted? Please, link me so I can see from your perspective. I have always tried to be helpful and inform users that it is not allowed in final submissions and to clarify the questions surrounding licensing. But I have never \"bashed\", put anyone down, or discouraged anyone from using it for learning.</p>\n\n<p>It seems like you are bashing my model though... isn't that a bit hypocritical? You are right that I have not worked on it in weeks. But why does that matter to you?</p>",
          "rawMarkdown": "Where have I \"bashed YoloV5 users\"? What \"hateful propaganda\" have I posted? Please, link me so I can see from your perspective. I have always tried to be helpful and inform users that it is not allowed in final submissions and to clarify the questions surrounding licensing. But I have never \"bashed\", put anyone down, or discouraged anyone from using it for learning.\n\nIt seems like you are bashing my model though... isn't that a bit hypocritical? You are right that I have not worked on it in weeks. But why does that matter to you?",
          "votes": 11
        },
        {
          "id": 932576,
          "postDate": "2020-07-17T06:43:02.177Z",
          "content": "<p>Well, in this thread the person merely wants to discuss about the model improvements and you spamming 'but yolov5 is invalid' isn't helping anybody does it? It is just discouraging readers to experiment and hopefully improve such models.\nYou and the Competition hosts have already made it clear in countless posts that YoloV5 submission isn't allowed and everybody gets it now. So, maybe stop with this spamming and move on from that now shall we?</p>\n\n<p>And my point in mentioning your model scores wasn't to demean you or anything but just that it gives an impression of you being a whiny person who doesn't want to work but just destroy the competitors through other means.\nI apologize if it came out in a wrong way.</p>\n\n<p>Also, look in other threads, all the other non-YoloV5 users are pretty chill and respectful of efforts and time invested by the YoloV5 users, they aren't going about spamming every thread with this 'propaganda' and thats why I labelled yours as 'hateful'.\nOnce again I apologize for it being maybe too harsh or if it came out as a personal attack.</p>",
          "rawMarkdown": "Well, in this thread the person merely wants to discuss about the model improvements and you spamming 'but yolov5 is invalid' isn't helping anybody does it? It is just discouraging readers to experiment and hopefully improve such models.\nYou and the Competition hosts have already made it clear in countless posts that YoloV5 submission isn't allowed and everybody gets it now. So, maybe stop with this spamming and move on from that now shall we?\n\nAnd my point in mentioning your model scores wasn't to demean you or anything but just that it gives an impression of you being a whiny person who doesn't want to work but just destroy the competitors through other means.\nI apologize if it came out in a wrong way.\n\nAlso, look in other threads, all the other non-YoloV5 users are pretty chill and respectful of efforts and time invested by the YoloV5 users, they aren't going about spamming every thread with this 'propaganda' and thats why I labelled yours as 'hateful'.\nOnce again I apologize for it being maybe too harsh or if it came out as a personal attack.",
          "votes": 6
        },
        {
          "id": 932587,
          "postDate": "2020-07-17T06:55:30.263Z",
          "content": "<p>Not everyone is active in these forums and may not be aware of all the discussion around licensing. My intention behind the original post was simply to inform and ask if they were aware of the license issue. I would hate for fellow competitors to waste their time only to get disqualified. I understand and empathize with all those who spent time and resources on YoloV5 only to be disappointed that it is not allowed. I simply didn't want that to happen to anyone else. I'm sorry if I come across as \"salty and hateful\" to you, that was certainly never my intention. I can delete my original post if that would appease you?</p>",
          "rawMarkdown": "Not everyone is active in these forums and may not be aware of all the discussion around licensing. My intention behind the original post was simply to inform and ask if they were aware of the license issue. I would hate for fellow competitors to waste their time only to get disqualified. I understand and empathize with all those who spent time and resources on YoloV5 only to be disappointed that it is not allowed. I simply didn't want that to happen to anyone else. I'm sorry if I come across as \"salty and hateful\" to you, that was certainly never my intention. I can delete my original post if that would appease you?",
          "votes": 8
        },
        {
          "id": 932604,
          "postDate": "2020-07-17T07:11:09.707Z",
          "content": "<p>Yeah I agree with creating awareness part and that's a good thing you are doing but as I said in the first reply, not everyone is here for the 'medals'. \nJust be considerate to that fact and maybe reconstruct your replies as more welcoming to the new ideas and discussion in future posts.</p>",
          "rawMarkdown": "Yeah I agree with creating awareness part and that's a good thing you are doing but as I said in the first reply, not everyone is here for the 'medals'. \nJust be considerate to that fact and maybe reconstruct your replies as more welcoming to the new ideas and discussion in future posts.",
          "votes": -1
        },
        {
          "id": 932641,
          "postDate": "2020-07-17T07:22:49.667Z",
          "content": "<p>I understand, and that's all I was searching for. As I said in my original post, I honestly didn't understand why people were still using it, so I thought they must not know. I try my best to jump in and comment when I think I can help (you will see me active in most threads here, not just about Yolo/licensing) but evidently that is not always a good choice. I will try my best to take your constructive criticism to heart so I don't upset the community in the future. </p>",
          "rawMarkdown": "I understand, and that's all I was searching for. As I said in my original post, I honestly didn't understand why people were still using it, so I thought they must not know. I try my best to jump in and comment when I think I can help (you will see me active in most threads here, not just about Yolo/licensing) but evidently that is not always a good choice. I will try my best to take your constructive criticism to heart so I don't upset the community in the future. ",
          "votes": 1
        },
        {
          "id": 932648,
          "postDate": "2020-07-17T07:26:22.377Z",
          "content": "<p>The idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works</p>",
          "rawMarkdown": "The idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works",
          "votes": 8
        },
        {
          "id": 932653,
          "postDate": "2020-07-17T07:28:31.753Z",
          "content": "<p>Thank you <a href=\"/kalyanpichuka\">@kalyanpichuka</a> , I am sorry for disturbing your topic with this. I did not mean to spam you or put you down in anyway.</p>",
          "rawMarkdown": "Thank you @kalyanpichuka , I am sorry for disturbing your topic with this. I did not mean to spam you or put you down in anyway.",
          "votes": 2
        },
        {
          "id": 932656,
          "postDate": "2020-07-17T07:29:11.030Z",
          "content": "<p>No problem <a href=\"/matthewmasters\">@matthewmasters</a> </p>",
          "rawMarkdown": "No problem @matthewmasters ",
          "votes": 2
        },
        {
          "id": 942350,
          "postDate": "2020-07-23T17:51:21.937Z",
          "content": "<p><a href=\"/ii5m0k3ii\">@ii5m0k3ii</a> bro</p>\n\n<p>IMHO, <a href=\"/matthewmasters\">@matthewmasters</a> is right in a sense of spreading the truth and caring messages about <code>Yolo5</code> usages. The competition is about to end in a few days and people are still caring about using <code>Yolo5</code>, that's weird. <a href=\"/matthewmasters\">@matthewmasters</a> didn't say anything wrong or even didn't use abusive words to users for using <code>Yolo5</code>, BUT you did on his model, didn't you? In that case, <a href=\"/ii5m0k3ii\">@ii5m0k3ii</a> brother, your reply tone was bit harsh and not polite. </p>\n\n<p>If you say, not all are here for the medal, - yes, that's true, agree on it BUT the competition is about to end, all competitive nature kaggler should focus on proper modeling now. Bro, Be honest with all, those who are actively competing in any competition till the very end, do you think they don't continue to compete for winning a medal -- and how about you? what are you doing up there? Simply learning?</p>\n\n<p>As <a href=\"/kalyanpichuka\">@kalyanpichuka</a> informed, all are embedded in the model; it seems like learning opportunity here is like - how to run this model (`Yolo5) on this wheat data set, doesn't it?</p>\n\n<p>&gt; Please comment with your observations\nThe idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.</p>\n\n<p>And like you said,\n<strong>Please take this as positive criticism and stop with this hateful propaganda of yours</strong>.</p>\n\n<hr>\n\n<p>PEACE. 😊 </p>",
          "rawMarkdown": "@ii5m0k3ii bro\n\nIMHO, @matthewmasters is right in a sense of spreading the truth and caring messages about `Yolo5` usages. The competition is about to end in a few days and people are still caring about using `Yolo5`, that's weird. @matthewmasters didn't say anything wrong or even didn't use abusive words to users for using `Yolo5`, BUT you did on his model, didn't you? In that case, @ii5m0k3ii brother, your reply tone was bit harsh and not polite. \n\nIf you say, not all are here for the medal, - yes, that's true, agree on it BUT the competition is about to end, all competitive nature kaggler should focus on proper modeling now. Bro, Be honest with all, those who are actively competing in any competition till the very end, do you think they don't continue to compete for winning a medal -- and how about you? what are you doing up there? Simply learning?\n\nAs @kalyanpichuka informed, all are embedded in the model; it seems like learning opportunity here is like - how to run this model (`Yolo5) on this wheat data set, doesn't it?\n\n&gt; Please comment with your observations\nThe idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.\n\nAnd like you said,\n**Please take this as positive criticism and stop with this hateful propaganda of yours**.\n\n---\nPEACE. 😊 ",
          "votes": 1
        },
        {
          "id": 942818,
          "postDate": "2020-07-24T02:53:58.670Z",
          "content": "<p>I'm just starting ^_^. I hope there's still time.</p>",
          "rawMarkdown": "I'm just starting ^_^. I hope there's still time."
        }
      ]
    },
    {
      "id": 934889,
      "postDate": "2020-07-18T21:20:34.367Z",
      "content": "<p>Before we all found out the YoloV5 code had license issues, I tried hooking the YoloV5 data loader and augmentations up to my FasterRCNN model. It helped but it wasn't a massive improvement.</p>",
      "rawMarkdown": "Before we all found out the YoloV5 code had license issues, I tried hooking the YoloV5 data loader and augmentations up to my FasterRCNN model. It helped but it wasn't a massive improvement.",
      "votes": 2
    },
    {
      "id": 932832,
      "postDate": "2020-07-17T10:18:39.677Z",
      "content": "<p>It also has most of the augmentations by default. That can be one of the reasons.</p>",
      "rawMarkdown": "It also has most of the augmentations by default. That can be one of the reasons.",
      "votes": 2
    },
    {
      "id": 940388,
      "postDate": "2020-07-22T22:56:52.120Z",
      "content": "<p>I have change the code of EfficientDet for the gradient accumulation and apex.<a href=\"https://www.kaggle.com/raininbox/train-efficientdet-like-yolo-v5\">Train EfficientDet Like Yolo V5</a> :) Hope it helpful</p>",
      "rawMarkdown": "I have change the code of EfficientDet for the gradient accumulation and apex.[Train EfficientDet Like Yolo V5](https://www.kaggle.com/raininbox/train-efficientdet-like-yolo-v5) :) Hope it helpful",
      "votes": 1
    },
    {
      "id": 934888,
      "postDate": "2020-07-18T21:20:02.847Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 933023,
      "postDate": "2020-07-17T12:33:43.400Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 933057,
      "author_name": "Miras Amir",
      "author_url": "",
      "post_date": "2020-07-17T13:02:45.690000",
      "content": "<p>One of the reasons YoloV5 works well for this dataset may be using  YoloV3 (I'm not very familiar with YoloV* architecture, but I think YoloV5 and YoloV3 have common things) for semi-automatic labelling:</p>\n\n<p>&gt;2.4. from <a href=\"https://arxiv.org/abs/2005.02162\">https://arxiv.org/abs/2005.02162</a>.\nSeveral institutions had already labelled their sub-datasets. For the datasets not labelled, we used a “weakly\nsupervised deep learning framework” [27] to label images efficiently for these sub-datasets. A YoloV3 model\n[28] was trained over UTokyo_1 and Arvalis_1 sub-datasets and then applied to the un-labelled sub-datasets.\nBoxes with an associated confidence score greater than and equal to 0.5 were retained and proposed to the\nuser for correction. This semi-automatic active learning increased the throughput of the labelling process by a\nfactor of four as compared to a fully manual process. The process is detailed in Figure S1.</p>",
      "votes": 28,
      "replies": [
        {
          "id": 933641,
          "author_name": "eagle4",
          "author_url": "",
          "post_date": "2020-07-17T21:05:58.563000",
          "content": "<p>That explains a lot. And this is likely another reason to overfit on the public LB unfortunately...</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 933035,
      "author_name": "Sumukh",
      "author_url": "",
      "post_date": "2020-07-17T12:45:21.297000",
      "content": "<p>Haven't we been using mosaic in effdet too under the name 'cutmix'? (refer to shonenkov's notebook)</p>\n\n<p>But still the Yolov5 base model with TTA outperforms the effdet D5 with same augmentations in training and TTA in general.</p>\n\n<p>All I could think of is maybe the Yolov5 architecture is better for this dataset.</p>\n\n<p>One observation of mine for this dataset is that lighter SOTA are performing better, can also be seen in effdet D5 vs D7.\nEven though D7 or even D6 is supposedly an upgrade to D5 we couldn't get them to outperform the latter.</p>",
      "votes": 7,
      "replies": []
    },
    {
      "id": 932984,
      "author_name": "Peiyuan Liao",
      "author_url": "",
      "post_date": "2020-07-17T12:06:38.547000",
      "content": "<p>About gradient accumulation: that may simply because 64 is the ideal batchsize for <em>this dataset</em>, for <em>this YoloV5 pipeline specifically</em>. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.</p>\n<p>A key factor that leads to the current public LB success of YoloV5 is probably because of the mosaic augmentation. Most of the instances in this dataset are considered as small objects with default anchor setting in pipelines tuned against COCO. And it has been reported that mosaic augmentation contributes to a COCO mAP gain by sacrificing <code>AP_l</code> to leverage for great <code>AP_s</code> and <code>AP_m</code> gain, which is exactly what we want for this competition.</p>\n<p>But IMHO I'm having a more difficult time adapting to the style of the codebase, and therefore it's harder for me to build tricks on top of it.</p>",
      "votes": 7,
      "replies": [
        {
          "id": 935577,
          "author_name": "Geno87",
          "author_url": "",
          "post_date": "2020-07-19T13:57:39.593000",
          "content": "<blockquote>\n  <p>About gradient accumulation: that may simply because 64 is the ideal batchsize for this dataset, for this YoloV5 pipeline specifically. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.</p>\n</blockquote>\n<p>I agree with you. i was testing effdet d6 pipeline and gradient accumulation at 64 steps leads to high overfitting.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 939094,
              "author_name": "",
              "author_url": "",
              "post_date": "2020-07-22T03:10:47.237000",
              "content": "<p>Hi <a href=\"/geno87\">@geno87</a>  I'm also using D6. How much is the overfitting if you set gradient accumulation at batch_size = 64?</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 932475,
      "author_name": "Matt",
      "author_url": "",
      "post_date": "2020-07-17T04:53:22.147000",
      "content": "<p>Just curious, why do you continue to use YoloV5? You risk being disqualified if you use it for the final submission</p>",
      "votes": 0,
      "replies": [
        {
          "id": 932535,
          "author_name": "Sumukh",
          "author_url": "",
          "post_date": "2020-07-17T06:08:10.183000",
          "content": "<p>In case you don't know but some of us here care more about learning and not some made up Kaggle 'medals' or 'tiers'. And no it doesn't mean we will be submitting non-compliant models either.</p>\n\n<p>I've seen you in countless threads being salty and bashing YoloV5 users while you yourself haven't improved your Effdet (or whatever model) score even a tiny bit since weeks. \nSo, maybe focus more on improving yourself rather than discouraging others to experiment or discuss new ideas just because some pointless technical issue like license deemed it unfit for submission.</p>\n\n<p>And when some people here are trying to discuss ideas to improve themselves maybe add something valuable to it or don't participate at all.\nPlease take this as a positive criticism and stop with this hateful propaganda of yours.</p>",
          "votes": -5,
          "replies": []
        },
        {
          "id": 932546,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-07-17T06:16:18.800000",
          "content": "<p>Where have I \"bashed YoloV5 users\"? What \"hateful propaganda\" have I posted? Please, link me so I can see from your perspective. I have always tried to be helpful and inform users that it is not allowed in final submissions and to clarify the questions surrounding licensing. But I have never \"bashed\", put anyone down, or discouraged anyone from using it for learning.</p>\n\n<p>It seems like you are bashing my model though... isn't that a bit hypocritical? You are right that I have not worked on it in weeks. But why does that matter to you?</p>",
          "votes": 11,
          "replies": []
        },
        {
          "id": 932576,
          "author_name": "Sumukh",
          "author_url": "",
          "post_date": "2020-07-17T06:43:02.177000",
          "content": "<p>Well, in this thread the person merely wants to discuss about the model improvements and you spamming 'but yolov5 is invalid' isn't helping anybody does it? It is just discouraging readers to experiment and hopefully improve such models.\nYou and the Competition hosts have already made it clear in countless posts that YoloV5 submission isn't allowed and everybody gets it now. So, maybe stop with this spamming and move on from that now shall we?</p>\n\n<p>And my point in mentioning your model scores wasn't to demean you or anything but just that it gives an impression of you being a whiny person who doesn't want to work but just destroy the competitors through other means.\nI apologize if it came out in a wrong way.</p>\n\n<p>Also, look in other threads, all the other non-YoloV5 users are pretty chill and respectful of efforts and time invested by the YoloV5 users, they aren't going about spamming every thread with this 'propaganda' and thats why I labelled yours as 'hateful'.\nOnce again I apologize for it being maybe too harsh or if it came out as a personal attack.</p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 932587,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-07-17T06:55:30.263000",
          "content": "<p>Not everyone is active in these forums and may not be aware of all the discussion around licensing. My intention behind the original post was simply to inform and ask if they were aware of the license issue. I would hate for fellow competitors to waste their time only to get disqualified. I understand and empathize with all those who spent time and resources on YoloV5 only to be disappointed that it is not allowed. I simply didn't want that to happen to anyone else. I'm sorry if I come across as \"salty and hateful\" to you, that was certainly never my intention. I can delete my original post if that would appease you?</p>",
          "votes": 8,
          "replies": []
        },
        {
          "id": 932604,
          "author_name": "Sumukh",
          "author_url": "",
          "post_date": "2020-07-17T07:11:09.707000",
          "content": "<p>Yeah I agree with creating awareness part and that's a good thing you are doing but as I said in the first reply, not everyone is here for the 'medals'. \nJust be considerate to that fact and maybe reconstruct your replies as more welcoming to the new ideas and discussion in future posts.</p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 932641,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-07-17T07:22:49.667000",
          "content": "<p>I understand, and that's all I was searching for. As I said in my original post, I honestly didn't understand why people were still using it, so I thought they must not know. I try my best to jump in and comment when I think I can help (you will see me active in most threads here, not just about Yolo/licensing) but evidently that is not always a good choice. I will try my best to take your constructive criticism to heart so I don't upset the community in the future. </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 932648,
          "author_name": "Kalyan Kumar Pichuka",
          "author_url": "",
          "post_date": "2020-07-17T07:26:22.377000",
          "content": "<p>The idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works</p>",
          "votes": 8,
          "replies": []
        },
        {
          "id": 932653,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-07-17T07:28:31.753000",
          "content": "<p>Thank you <a href=\"/kalyanpichuka\">@kalyanpichuka</a> , I am sorry for disturbing your topic with this. I did not mean to spam you or put you down in anyway.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 932656,
          "author_name": "Kalyan Kumar Pichuka",
          "author_url": "",
          "post_date": "2020-07-17T07:29:11.030000",
          "content": "<p>No problem <a href=\"/matthewmasters\">@matthewmasters</a> </p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 942350,
          "author_name": "Innat",
          "author_url": "",
          "post_date": "2020-07-23T17:51:21.937000",
          "content": "<p><a href=\"/ii5m0k3ii\">@ii5m0k3ii</a> bro</p>\n\n<p>IMHO, <a href=\"/matthewmasters\">@matthewmasters</a> is right in a sense of spreading the truth and caring messages about <code>Yolo5</code> usages. The competition is about to end in a few days and people are still caring about using <code>Yolo5</code>, that's weird. <a href=\"/matthewmasters\">@matthewmasters</a> didn't say anything wrong or even didn't use abusive words to users for using <code>Yolo5</code>, BUT you did on his model, didn't you? In that case, <a href=\"/ii5m0k3ii\">@ii5m0k3ii</a> brother, your reply tone was bit harsh and not polite. </p>\n\n<p>If you say, not all are here for the medal, - yes, that's true, agree on it BUT the competition is about to end, all competitive nature kaggler should focus on proper modeling now. Bro, Be honest with all, those who are actively competing in any competition till the very end, do you think they don't continue to compete for winning a medal -- and how about you? what are you doing up there? Simply learning?</p>\n\n<p>As <a href=\"/kalyanpichuka\">@kalyanpichuka</a> informed, all are embedded in the model; it seems like learning opportunity here is like - how to run this model (`Yolo5) on this wheat data set, doesn't it?</p>\n\n<p>&gt; Please comment with your observations\nThe idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.</p>\n\n<p>And like you said,\n<strong>Please take this as positive criticism and stop with this hateful propaganda of yours</strong>.</p>\n\n<hr>\n\n<p>PEACE. 😊 </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 942818,
          "author_name": "عثمان",
          "author_url": "",
          "post_date": "2020-07-24T02:53:58.670000",
          "content": "<p>I'm just starting ^_^. I hope there's still time.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 934889,
      "author_name": "Ryan Epp",
      "author_url": "",
      "post_date": "2020-07-18T21:20:34.367000",
      "content": "<p>Before we all found out the YoloV5 code had license issues, I tried hooking the YoloV5 data loader and augmentations up to my FasterRCNN model. It helped but it wasn't a massive improvement.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 932832,
      "author_name": "Kaushal Shah",
      "author_url": "",
      "post_date": "2020-07-17T10:18:39.677000",
      "content": "<p>It also has most of the augmentations by default. That can be one of the reasons.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 940388,
      "author_name": "Benlei Cui",
      "author_url": "",
      "post_date": "2020-07-22T22:56:52.120000",
      "content": "<p>I have change the code of EfficientDet for the gradient accumulation and apex.<a href=\"https://www.kaggle.com/raininbox/train-efficientdet-like-yolo-v5\">Train EfficientDet Like Yolo V5</a> :) Hope it helpful</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 934888,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-07-18T21:20:02.847000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 933023,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-07-17T12:33:43.400000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "933057": "One of the reasons YoloV5 works well for this dataset may be using  YoloV3 (I'm not very familiar with YoloV* architecture, but I think YoloV5 and YoloV3 have common things) for semi-automatic labelling:\n\n&gt;2.4. from https://arxiv.org/abs/2005.02162.\nSeveral institutions had already labelled their sub-datasets. For the datasets not labelled, we used a “weakly\nsupervised deep learning framework” [27] to label images efficiently for these sub-datasets. A YoloV3 model\n[28] was trained over UTokyo_1 and Arvalis_1 sub-datasets and then applied to the un-labelled sub-datasets.\nBoxes with an associated confidence score greater than and equal to 0.5 were retained and proposed to the\nuser for correction. This semi-automatic active learning increased the throughput of the labelling process by a\nfactor of four as compared to a fully manual process. The process is detailed in Figure S1.",
    "932442": "Based on my observations, I think few of the reasons why YOLOV5 is working for everybody with out tweaking much\n\nFirst --&gt; It is doing gradient accumulation by default to a batch size of 64\nsecond --&gt; It is also giving mixed precision training(fp16) by default if we have apex installed\n\nPlease comment with your observations\n\nThe idea here is to see what is working with YoloV5 and same can be used for other models as well in case it works.",
    "933035": "Haven't we been using mosaic in effdet too under the name 'cutmix'? (refer to shonenkov's notebook)\n\nBut still the Yolov5 base model with TTA outperforms the effdet D5 with same augmentations in training and TTA in general.\n\nAll I could think of is maybe the Yolov5 architecture is better for this dataset.\n\nOne observation of mine for this dataset is that lighter SOTA are performing better, can also be seen in effdet D5 vs D7.\nEven though D7 or even D6 is supposedly an upgrade to D5 we couldn't get them to outperform the latter.",
    "932984": "About gradient accumulation: that may simply because 64 is the ideal batchsize for *this dataset*, for *this YoloV5 pipeline specifically*. The same thing might not be true for all detection models. Batch size affects both noise and generalization gap, as well as normalization modules, and the optimal batchsize is extremely pipeline dependent.\n\nA key factor that leads to the current public LB success of YoloV5 is probably because of the mosaic augmentation. Most of the instances in this dataset are considered as small objects with default anchor setting in pipelines tuned against COCO. And it has been reported that mosaic augmentation contributes to a COCO mAP gain by sacrificing `AP_l` to leverage for great `AP_s` and `AP_m` gain, which is exactly what we want for this competition.\n\nBut IMHO I'm having a more difficult time adapting to the style of the codebase, and therefore it's harder for me to build tricks on top of it.",
    "932475": "Just curious, why do you continue to use YoloV5? You risk being disqualified if you use it for the final submission",
    "934889": "Before we all found out the YoloV5 code had license issues, I tried hooking the YoloV5 data loader and augmentations up to my FasterRCNN model. It helped but it wasn't a massive improvement.",
    "932832": "It also has most of the augmentations by default. That can be one of the reasons.",
    "940388": "I have change the code of EfficientDet for the gradient accumulation and apex.[Train EfficientDet Like Yolo V5](https://www.kaggle.com/raininbox/train-efficientdet-like-yolo-v5) :) Hope it helpful",
    "934888": "",
    "933023": ""
  }
}