{
  "id": 162462,
  "title": "YOLOv5 Pseudo Labeling",
  "url": "/competitions/global-wheat-detection/discussion/162462",
  "author_name": "nvnn",
  "post_date": "2020-06-29T03:33:37.999000",
  "votes": 54,
  "comment_count": 59,
  "views": 0,
  "content": "<p>It seems that yolov5 also works pretty well with Pseudo labeling. I have publish a demonstration \n<a href=\"https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling\"> notebook</a></p>",
  "messages": [
    {
      "id": 906040,
      "postDate": "2020-06-29T03:33:38Z",
      "content": "<p>It seems that yolov5 also works pretty well with Pseudo labeling. I have publish a demonstration \n<a href=\"https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling\"> notebook</a></p>",
      "rawMarkdown": "It seems that yolov5 also works pretty well with Pseudo labeling. I have publish a demonstration \n[ notebook](https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling)",
      "votes": 54
    },
    {
      "id": 907724,
      "postDate": "2020-06-30T05:56:29.870Z",
      "content": "<p>What are you sorry about? It is the purpose of the community to improve each other.\nThere's still plenty of time for the competition and I guess people will still improve the score.\nYou did a great job. Well done</p>",
      "rawMarkdown": "What are you sorry about? It is the purpose of the community to improve each other.\nThere's still plenty of time for the competition and I guess people will still improve the score.\nYou did a great job. Well done",
      "votes": 12,
      "replies": [
        {
          "id": 907785,
          "postDate": "2020-06-30T06:57:09.457Z",
          "content": "<p>some people get upset because of my kernel.</p>",
          "rawMarkdown": "some people get upset because of my kernel.",
          "votes": 2
        },
        {
          "id": 907814,
          "postDate": "2020-06-30T07:12:54.660Z",
          "content": "<p>It seems to me that everyone who cries here uses the wonderful notebooks that people have posted here. Don't let the noise that people make to divert you from the wonderful work you do.</p>",
          "rawMarkdown": "It seems to me that everyone who cries here uses the wonderful notebooks that people have posted here. Don't let the noise that people make to divert you from the wonderful work you do.",
          "votes": 3
        }
      ]
    },
    {
      "id": 907010,
      "postDate": "2020-06-29T16:50:32.450Z",
      "content": "<p>I'm really skpetical about this!! \nSo whats wrong if you share a high scoring kernel. I would do the same if i were as good as you!! sharing knowledge is always the best way to grow imo.\nAfter reading so many good kernels that i understood various ways to improve score ( not only scores ) improve our ways of approach.\nI came to kaggle to learn and not compete ( but there are other people ).... if people have a problem with the money and prize what not? ( be better and take that as  a challenge instead of whining)</p>\n\n<p>This is an amazing notebook you published . youre doing gods work imo\nCheers m8</p>",
      "rawMarkdown": "I'm really skpetical about this!! \nSo whats wrong if you share a high scoring kernel. I would do the same if i were as good as you!! sharing knowledge is always the best way to grow imo.\nAfter reading so many good kernels that i understood various ways to improve score ( not only scores ) improve our ways of approach.\nI came to kaggle to learn and not compete ( but there are other people ).... if people have a problem with the money and prize what not? ( be better and take that as  a challenge instead of whining)\n\nThis is an amazing notebook you published . youre doing gods work imo\nCheers m8",
      "votes": 3
    },
    {
      "id": 906951,
      "postDate": "2020-06-29T16:25:12.550Z",
      "content": "<p>You did a great job and you should not feel guilty about it. This is my 2nd serious attempt at a Kaggle competition and I've already learned more practical tricks than any course can teach, thanks to <a href=\"/nvnnghia\">@nvnnghia</a> and <a href=\"/shonenkov\">@shonenkov</a>. Keep posting. </p>",
      "rawMarkdown": "You did a great job and you should not feel guilty about it. This is my 2nd serious attempt at a Kaggle competition and I've already learned more practical tricks than any course can teach, thanks to @nvnnghia and @shonenkov. Keep posting. ",
      "votes": 3
    },
    {
      "id": 907781,
      "postDate": "2020-06-30T06:55:16.107Z",
      "content": "<p>You have no reason to be sorry about anything. </p>\n\n<p>Kaggle experience is all about learning new things and the code you shared has taught and will teach a lot of new things to a lot of people. It is clean, well-organised and very understandable.</p>\n\n<p>You brought the best thing possible: education. No matter how good/bad your algorithm is, there will always be someone very glad to have access to it to learn new things. Of course, we are not safe from a wave of people forking it and just executing it to make an <em>easy</em> submission but the rest of the leaderboard, including myself, has to build on top of this and improve their code to beat it. </p>\n\n<p>This is a <strong>call for greatness</strong> and I show you my gratitude !</p>\n\n<p>I wish you the best in this competition and the next, you have clearly the potential to impress everyone ! Keep up the good work 😉  </p>",
      "rawMarkdown": "You have no reason to be sorry about anything. \n\nKaggle experience is all about learning new things and the code you shared has taught and will teach a lot of new things to a lot of people. It is clean, well-organised and very understandable.\n\nYou brought the best thing possible: education. No matter how good/bad your algorithm is, there will always be someone very glad to have access to it to learn new things. Of course, we are not safe from a wave of people forking it and just executing it to make an *easy* submission but the rest of the leaderboard, including myself, has to build on top of this and improve their code to beat it. \n\nThis is a **call for greatness** and I show you my gratitude !\n\nI wish you the best in this competition and the next, you have clearly the potential to impress everyone ! Keep up the good work 😉  ",
      "votes": 3
    },
    {
      "id": 915527,
      "postDate": "2020-07-04T19:50:15.087Z",
      "content": "<p><a href=\"/nvnnghia\">@nvnnghia</a> \nYou shouldn't say sorry. There's nothing happen for that you've to say this. You're doing great. 🔥 </p>",
      "rawMarkdown": "@nvnnghia \nYou shouldn't say sorry. There's nothing happen for that you've to say this. You're doing great. 🔥 ",
      "votes": 2,
      "replies": [
        {
          "id": 915547,
          "postDate": "2020-07-04T20:12:26.503Z",
          "rawMarkdown": "",
          "votes": -4,
          "isDeleted": true
        },
        {
          "id": 916013,
          "postDate": "2020-07-05T09:26:23.987Z",
          "content": "<p><a href=\"/ahmmadrashid\">@ahmmadrashid</a> \nFirst of all, I didn't downvote your comment 😅 \nAnd, You're new from Bangladeshis! Welcome to Kaggle 🙂 ; In my early days at kaggle, I also didn't like such practice, sharing the high scoring kernel, but later I understood something, that is, we should treat Kaggle as a <strong>learning platform</strong> first and then <strong>competition platform</strong>. </p>\n\n<p>But sharing a high score kernel before VERY END TIME of the competition is not acceptable. And also, I think when we share the high score kernel, we should NOT share the pre-trained weights. </p>\n\n<p><a href=\"/nvnnghia\">@nvnnghia</a> is doing super great. Those people who are questioning his high scored kernel but practically they're forking it anyway, lol. I would say to those people to stop double-standard behavior and if they're able to surpass the high scored kernel, do it or learn from it. 😊 </p>",
          "rawMarkdown": "@ahmmadrashid \nFirst of all, I didn't downvote your comment 😅 \nAnd, You're new from Bangladeshis! Welcome to Kaggle 🙂 ; In my early days at kaggle, I also didn't like such practice, sharing the high scoring kernel, but later I understood something, that is, we should treat Kaggle as a **learning platform** first and then **competition platform**. \n\nBut sharing a high score kernel before VERY END TIME of the competition is not acceptable. And also, I think when we share the high score kernel, we should NOT share the pre-trained weights. \n\n@nvnnghia is doing super great. Those people who are questioning his high scored kernel but practically they're forking it anyway, lol. I would say to those people to stop double-standard behavior and if they're able to surpass the high scored kernel, do it or learn from it. 😊 ",
          "votes": 1
        }
      ]
    },
    {
      "id": 906256,
      "postDate": "2020-06-29T06:47:39.523Z",
      "content": "<p>This is just my 5-cents, but I feel like you shouldn't make such a high-scoring kernel public, even when you did not publish your weights. The kernel setup, and the hyper-parameters for WBF and other post-processing techniques all take days, even weeks to fine-tune. You shouldn't just hand the current second-highest scoring recipe to everyone, considering that this is a competition closing in one month. A more acceptable way to share is to the community is to tell everyone that \"YOLOv5 pseudo labeling works.\"</p>",
      "rawMarkdown": "This is just my 5-cents, but I feel like you shouldn't make such a high-scoring kernel public, even when you did not publish your weights. The kernel setup, and the hyper-parameters for WBF and other post-processing techniques all take days, even weeks to fine-tune. You shouldn't just hand the current second-highest scoring recipe to everyone, considering that this is a competition closing in one month. A more acceptable way to share is to the community is to tell everyone that \"YOLOv5 pseudo labeling works.\"",
      "votes": -1,
      "replies": [
        {
          "id": 906264,
          "postDate": "2020-06-29T07:03:55.620Z",
          "content": "<p>Thanks for pointing it out.  I won't do it a second time</p>",
          "rawMarkdown": "Thanks for pointing it out.  I won't do it a second time",
          "votes": 3
        },
        {
          "id": 906283,
          "postDate": "2020-06-29T07:25:38.673Z",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> \n+1</p>",
          "rawMarkdown": "@alexanderliao \n+1",
          "votes": 2
        },
        {
          "id": 906330,
          "postDate": "2020-06-29T07:48:16.783Z",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> I think author created good kernel with excellent results, you should be more respectful with his work. If you won't make better results during MONTH with all high scoring public kernels you should forgot about \"in the money\"! Please, enjoy this competition and respect kindly provided solutions.</p>\n\n<p>I will be glad to see more solutions and kernels from <a href=\"/nvnnghia\">@nvnnghia</a>, I hope opinions such THIS never be a reason for stop publishing! Only sharing can create really perfect solutions</p>",
          "rawMarkdown": "@alexanderliao I think author created good kernel with excellent results, you should be more respectful with his work. If you won't make better results during MONTH with all high scoring public kernels you should forgot about \"in the money\"! Please, enjoy this competition and respect kindly provided solutions.\n\nI will be glad to see more solutions and kernels from @nvnnghia, I hope opinions such THIS never be a reason for stop publishing! Only sharing can create really perfect solutions",
          "votes": 27
        },
        {
          "id": 906345,
          "postDate": "2020-06-29T08:00:44.263Z",
          "content": "<p>Sharing during the earlier stages is one thing, and sharing during later stages with the second highest public score is another. I'm not disrespecting their solution, and in fact, me bringing this up can very well attest to their undoubtedly great skills in making yolov5x work. I'm also not against public sharing, I simply believe that there is a better way to prevent people from taking free rides from public sharing in ranked competitions with prize money. I have several pipelines currently under development, and none of them uses yolov5x, so I actually may benefit from nvnn's wonderful work by model ensembles, and I do have a spare GPU to simply download his kernel code, train it for a few days, and simply replace the path with my private dataset. And I can get a similar score to my other pipeline, which I tuned for weeks. I believe that this makes the competition unfair.</p>",
          "rawMarkdown": "Sharing during the earlier stages is one thing, and sharing during later stages with the second highest public score is another. I'm not disrespecting their solution, and in fact, me bringing this up can very well attest to their undoubtedly great skills in making yolov5x work. I'm also not against public sharing, I simply believe that there is a better way to prevent people from taking free rides from public sharing in ranked competitions with prize money. I have several pipelines currently under development, and none of them uses yolov5x, so I actually may benefit from nvnn's wonderful work by model ensembles, and I do have a spare GPU to simply download his kernel code, train it for a few days, and simply replace the path with my private dataset. And I can get a similar score to my other pipeline, which I tuned for weeks. I believe that this makes the competition unfair."
        },
        {
          "id": 906359,
          "postDate": "2020-06-29T08:19:30.077Z",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> Dataset with weights is private, isn't it? Nobody can make fork and submission. \"Free rides from public sharing in ranked competitions with prize money\" are impossible. It doesn't look as argument, it is only fear to lose positions :)</p>\n\n<p>You have a good strategy with ensembling yolo!</p>\n\n<p>You are right, month is enough for reaching and reproducing ideas from this kernel. But it is hard work also and not enough for prize money.</p>",
          "rawMarkdown": "@alexanderliao Dataset with weights is private, isn't it? Nobody can make fork and submission. \"Free rides from public sharing in ranked competitions with prize money\" are impossible. It doesn't look as argument, it is only fear to lose positions :)\n\nYou have a good strategy with ensembling yolo!\n\nYou are right, month is enough for reaching and reproducing ideas from this kernel. But it is hard work also and not enough for prize money.",
          "votes": 5
        },
        {
          "id": 906532,
          "postDate": "2020-06-29T11:47:03.323Z",
          "content": "<p>I agree with <a href=\"/shonenkov\">@shonenkov</a>. We shouldn't discourage people to publish high scoring kernels.  </p>",
          "rawMarkdown": "I agree with @shonenkov. We shouldn't discourage people to publish high scoring kernels.  ",
          "votes": 3
        },
        {
          "id": 906610,
          "postDate": "2020-06-29T12:49:14.470Z",
          "content": "<p>Well have you been putting in a full-time jobs worth of work into this competition week after week? It is really disappointing when all your hard work gets crushed by a couple of noobs who just ride on the backs of others 😓 </p>",
          "rawMarkdown": "Well have you been putting in a full-time jobs worth of work into this competition week after week? It is really disappointing when all your hard work gets crushed by a couple of noobs who just ride on the backs of others 😓 ",
          "votes": 1
        },
        {
          "id": 906636,
          "postDate": "2020-06-29T13:11:06.813Z",
          "content": "<p>sorry <a href=\"/matthewmasters\">@matthewmasters</a> I didn't expect that my kernel have that much impact on LB, especially your hard-work. Please forgive me. If possible I would like to team up with you in another competition and I will put my effort in it, hope that will be a way to sorry you.</p>",
          "rawMarkdown": "sorry @matthewmasters I didn't expect that my kernel have that much impact on LB, especially your hard-work. Please forgive me. If possible I would like to team up with you in another competition and I will put my effort in it, hope that will be a way to sorry you.",
          "votes": 5
        },
        {
          "id": 906645,
          "postDate": "2020-06-29T13:14:36.733Z",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> Couple of noobs? :D If your work can crushed by a couple of noobs so your work raises doubts and doesnt deserve prizes, doesnt it?) It is only fear to lose your LB positions, you should be more respectful for all authors of public kernels.</p>\n\n<p><a href=\"/nvnnghia\">@nvnnghia</a> never stop! These people don’t have arguments. Your message “I won't do it a second time” is really disheartening. I believe your shared works make kaggle better! Never stop :)</p>",
          "rawMarkdown": "@matthewmasters Couple of noobs? :D If your work can crushed by a couple of noobs so your work raises doubts and doesnt deserve prizes, doesnt it?) It is only fear to lose your LB positions, you should be more respectful for all authors of public kernels.\n\n@nvnnghia never stop! These people don’t have arguments. Your message “I won't do it a second time” is really disheartening. I believe your shared works make kaggle better! Never stop :)",
          "votes": 8
        },
        {
          "id": 906650,
          "postDate": "2020-06-29T13:19:10.513Z",
          "content": "<p><a href=\"/shonenkov\">@shonenkov</a> Thanks for your encouragement. I won't stop sharing, but I will do it earlier next time (probably when the competition has more than 1 month to go).  By the way. Thanks for sharing many great kernels. </p>",
          "rawMarkdown": "@shonenkov Thanks for your encouragement. I won't stop sharing, but I will do it earlier next time (probably when the competition has more than 1 month to go).  By the way. Thanks for sharing many great kernels. \n",
          "votes": 6
        },
        {
          "id": 906652,
          "postDate": "2020-06-29T13:19:34.233Z",
          "content": "<p>I'm not arguing that nvnn is a noob at all, he is clearly great at what he does. I am arguing that people who simply take his work and reproduce it are. This isn't isolated to just this sharing either. I was using TTA ensemble and other tricks that have since been shared, allowing all the noobs to simply copy and beat those who worked for it.</p>\n\n<p>Also, I never said we shouldn't be sharing or have put anyone down who has shared. I am simply being critical of those who contribute nothing and steal everything. I'm simply voicing my displeasure that I have worked so hard and am being beat by those who haven't.</p>",
          "rawMarkdown": "I'm not arguing that nvnn is a noob at all, he is clearly great at what he does. I am arguing that people who simply take his work and reproduce it are. This isn't isolated to just this sharing either. I was using TTA ensemble and other tricks that have since been shared, allowing all the noobs to simply copy and beat those who worked for it.\n\nAlso, I never said we shouldn't be sharing or have put anyone down who has shared. I am simply being critical of those who contribute nothing and steal everything. I'm simply voicing my displeasure that I have worked so hard and am being beat by those who haven't."
        },
        {
          "id": 906678,
          "postDate": "2020-06-29T13:41:05.167Z",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> You should write about it Kaggle Team, not here. You shouldn’t downvote messages and topics by authors and shouldn’t write here your whine. You know, after merge deadline kaggle sends notifications about sharing high-score kernels. But author shared MONTH before! Sharing is unique feature of kaggle! But your spam here is excess, this topic is about excellent shared work - enjoy or skip, please.</p>",
          "rawMarkdown": "@matthewmasters You should write about it Kaggle Team, not here. You shouldn’t downvote messages and topics by authors and shouldn’t write here your whine. You know, after merge deadline kaggle sends notifications about sharing high-score kernels. But author shared MONTH before! Sharing is unique feature of kaggle! But your spam here is excess, this topic is about excellent shared work - enjoy or skip, please.",
          "votes": 1
        },
        {
          "id": 906692,
          "postDate": "2020-06-29T13:51:29.847Z",
          "content": "<p>This is the discussion forum. I don't know why you think I have to shutup just because you don't like what I'm saying. You can just as easily enjoy or skip my posts. They are not spam, my views are just as legitimate and valid as yours are. Also, don't talk to me about downvoting messages, you've literally downvoted everything I've said here. What gives you the right to do that but I can't? </p>",
          "rawMarkdown": "This is the discussion forum. I don't know why you think I have to shutup just because you don't like what I'm saying. You can just as easily enjoy or skip my posts. They are not spam, my views are just as legitimate and valid as yours are. Also, don't talk to me about downvoting messages, you've literally downvoted everything I've said here. What gives you the right to do that but I can't? ",
          "votes": 4
        },
        {
          "id": 906710,
          "postDate": "2020-06-29T14:00:56.667Z",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> It is elementary rules of forum. You shouldnt seek team member in topic about external data 😂 this topic is about excellent shared work, not about whine) looks like you don’t understand it</p>\n\n<p>Also I didn’t say about downvoting of my messages - only by author - so welcome to downvote me 👍</p>",
          "rawMarkdown": "@matthewmasters It is elementary rules of forum. You shouldnt seek team member in topic about external data 😂 this topic is about excellent shared work, not about whine) looks like you don’t understand it\n\nAlso I didn’t say about downvoting of my messages - only by author - so welcome to downvote me 👍",
          "votes": -2
        },
        {
          "id": 906717,
          "postDate": "2020-06-29T14:05:24.260Z",
          "content": "<p>Seek team member in topic about external data?? What are you talking about? I requested a team member once and it was in the proper thread...</p>\n\n<p>And you think I don't understand this thread? I did not even bring up the topic of sharing. I saw that Liao brought up this point and was being berated for it. I was simply voicing my opinion and showing that he was not alone.</p>\n\n<p>Furthermore, I haven't downvoted anyone's comments or posts except for yours... Have nice day</p>",
          "rawMarkdown": "Seek team member in topic about external data?? What are you talking about? I requested a team member once and it was in the proper thread...\n\nAnd you think I don't understand this thread? I did not even bring up the topic of sharing. I saw that Liao brought up this point and was being berated for it. I was simply voicing my opinion and showing that he was not alone.\n\nFurthermore, I haven't downvoted anyone's comments or posts except for yours... Have nice day",
          "votes": -1
        },
        {
          "id": 907442,
          "postDate": "2020-06-30T00:58:27.863Z",
          "content": "<p>Some people do kaggle to get competition medals and some to get notebook medals and we're seeing the both views discussing in this thread. I understand there are two goals, and ultimately people come here to learn.</p>\n\n<p>This balance used to be fine, but seems to be off these days to me especially in image competitions. Since high-scoring (&gt;=low-silver) public notebooks discourage competitor people (Including myself), I personally think kaggle should not allow these high-scoring kernels to be published. People can conduct knowledge sharing after the competition ends, and it has always been a great lesson to do late-subs.</p>",
          "rawMarkdown": "Some people do kaggle to get competition medals and some to get notebook medals and we're seeing the both views discussing in this thread. I understand there are two goals, and ultimately people come here to learn.\n\nThis balance used to be fine, but seems to be off these days to me especially in image competitions. Since high-scoring (&gt;=low-silver) public notebooks discourage competitor people (Including myself), I personally think kaggle should not allow these high-scoring kernels to be published. People can conduct knowledge sharing after the competition ends, and it has always been a great lesson to do late-subs.",
          "votes": 4
        },
        {
          "id": 907792,
          "postDate": "2020-06-30T07:01:43.517Z",
          "content": "<p>Dear <a href=\"/matthewmasters\">@matthewmasters</a>,</p>\n\n<p>I believe that the sharing of solutions, ideas and topics are inherent to Kaggle's competition scheme. I have known your frustration during other competitions, despite the fact that I certainly do not have your experience with Kaggle as a whole.\nHowever, I have come to accept that this is how the platform works. It is true that it can be seen as ambiguous: competing on one hand for better leaderboard position while collaborating in the notebooks/discussion panels. But ultimately, the goal of these competitions is knowledge: not only for us, but for the whole world of Data Science. Kaggle is a test bench of ideas, and every idea is worth sharing, whether it is high-performing or the exact opposite.</p>\n\n<p>Despite all this, I do share your frustration on this topic, but I am sure that you will be able to build up on it and come back with astounding results !! </p>\n\n<p>Best of luck,</p>",
          "rawMarkdown": "Dear @matthewmasters,\n\nI believe that the sharing of solutions, ideas and topics are inherent to Kaggle's competition scheme. I have known your frustration during other competitions, despite the fact that I certainly do not have your experience with Kaggle as a whole.\nHowever, I have come to accept that this is how the platform works. It is true that it can be seen as ambiguous: competing on one hand for better leaderboard position while collaborating in the notebooks/discussion panels. But ultimately, the goal of these competitions is knowledge: not only for us, but for the whole world of Data Science. Kaggle is a test bench of ideas, and every idea is worth sharing, whether it is high-performing or the exact opposite.\n\nDespite all this, I do share your frustration on this topic, but I am sure that you will be able to build up on it and come back with astounding results !! \n\nBest of luck,",
          "votes": 2
        }
      ]
    },
    {
      "id": 947941,
      "postDate": "2020-07-27T15:07:13.310Z",
      "content": "<p>This is probably a very basic question, could you show me which part of your code handles pictures with no boxes. </p>",
      "rawMarkdown": "This is probably a very basic question, could you show me which part of your code handles pictures with no boxes. ",
      "votes": 1,
      "replies": [
        {
          "id": 948438,
          "postDate": "2020-07-28T00:07:41.890Z",
          "content": "<p>it is in makePseudolabel function.  if no boxes found, I create an empty annotation file and use it for training. </p>",
          "rawMarkdown": "it is in makePseudolabel function.  if no boxes found, I create an empty annotation file and use it for training. "
        },
        {
          "id": 948520,
          "postDate": "2020-07-28T03:18:55.267Z",
          "content": "<p>Thanks much!</p>",
          "rawMarkdown": "Thanks much!"
        }
      ]
    },
    {
      "id": 906735,
      "postDate": "2020-06-29T14:12:12.370Z",
      "content": "<p>Wow that's a big surprise that YOLOv5 outperforms all others models. Thanks for sharing. \nI've had a quick look on YOLOv5 repo and it seems that lot of SOTA tricks (mosaic, TTA and some optimization during training) are hidden which make it really easy to train. Moreover the model is lighter than effdet and 1024x1024 images are OK for most of GPUs. \nI am wondering guys what are your thoughts about it ? How could we explain that YOLOv5 is outperforming effdet series in this competition ?</p>",
      "rawMarkdown": "Wow that's a big surprise that YOLOv5 outperforms all others models. Thanks for sharing. \nI've had a quick look on YOLOv5 repo and it seems that lot of SOTA tricks (mosaic, TTA and some optimization during training) are hidden which make it really easy to train. Moreover the model is lighter than effdet and 1024x1024 images are OK for most of GPUs. \nI am wondering guys what are your thoughts about it ? How could we explain that YOLOv5 is outperforming effdet series in this competition ?",
      "votes": 1,
      "replies": [
        {
          "id": 906865,
          "postDate": "2020-06-29T15:16:07.740Z",
          "content": "<p>Same doubts. I am always confused by deep learning.\nMy immediate hypothesis is that resolution is more important than architecture at some point.</p>",
          "rawMarkdown": "Same doubts. I am always confused by deep learning.\nMy immediate hypothesis is that resolution is more important than architecture at some point.",
          "votes": 2
        },
        {
          "id": 911021,
          "postDate": "2020-07-01T14:09:23.987Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 906184,
      "postDate": "2020-06-29T05:43:43.420Z",
      "content": "<p>Nice work! How long does it take to submit?</p>",
      "rawMarkdown": "Nice work! How long does it take to submit?",
      "replies": [
        {
          "id": 906198,
          "postDate": "2020-06-29T05:57:24.003Z",
          "content": "<p>It took around 3.5 hours</p>",
          "rawMarkdown": "It took around 3.5 hours"
        },
        {
          "id": 915846,
          "postDate": "2020-07-05T06:26:33.563Z",
          "content": "<p>why does it  take so long?? I get my L.B score in 20 minutes after submit????👀 </p>",
          "rawMarkdown": "why does it  take so long?? I get my L.B score in 20 minutes after submit????👀 "
        },
        {
          "id": 915860,
          "postDate": "2020-07-05T06:48:45.850Z",
          "content": "<p>You must only be training on your pseudolabels for one epoch or something</p>",
          "rawMarkdown": "You must only be training on your pseudolabels for one epoch or something"
        },
        {
          "id": 915864,
          "postDate": "2020-07-05T06:54:56.993Z",
          "content": "<p>But I used the same code with nvnnghia..... </p>",
          "rawMarkdown": "But I used the same code with nvnnghia..... ",
          "votes": -1
        },
        {
          "id": 917148,
          "postDate": "2020-07-06T09:14:47.283Z",
          "content": "<p>Hello I see you use batch 4 to retrain model, but it will calls cuda out of memery. So could you please tell me how to train large batch? </p>",
          "rawMarkdown": "Hello I see you use batch 4 to retrain model, but it will calls cuda out of memery. So could you please tell me how to train large batch? ",
          "votes": -1
        },
        {
          "id": 917184,
          "postDate": "2020-07-06T09:47:43.793Z",
          "content": "<p><a href=\"/whurobin\">@whurobin</a> batch=4 works normally for me. so, I guess your GPU is occupied by another network. My suggestion: free all cuda memory before retraining.</p>",
          "rawMarkdown": "@whurobin batch=4 works normally for me. so, I guess your GPU is occupied by another network. My suggestion: free all cuda memory before retraining."
        },
        {
          "id": 917194,
          "postDate": "2020-07-06T09:55:51.393Z",
          "content": "<p>How to clear all cuda memory? Using \"torch.cuda.empty_cache()\"?</p>",
          "rawMarkdown": "How to clear all cuda memory? Using \"torch.cuda.empty_cache()\"?"
        },
        {
          "id": 917198,
          "postDate": "2020-07-06T10:03:18.260Z",
          "content": "<p>I find that using multi-scale will cause cuda out of memory error. It works now, thanks! </p>",
          "rawMarkdown": "I find that using multi-scale will cause cuda out of memory error. It works now, thanks! "
        },
        {
          "id": 917202,
          "postDate": "2020-07-06T10:09:26.570Z",
          "content": "<p><a href=\"/kaushal2896\">@kaushal2896</a> try <a href=\"https://stackoverflow.com/questions/55322434/how-to-clear-cuda-memory-in-pytorch\">this</a></p>\n\n<p>`</p>\n\n<p>for i, left in enumerate(dataloader):</p>\n\n<pre><code>with torch.no_grad():\n\n    temp = model(left).view(-1, 1, 300, 300)\n\nright.append(temp.to('cpu'))\n\ndel temp\n\ntorch.cuda.empty_cache()`\n</code></pre>",
          "rawMarkdown": "@kaushal2896 try [this](https://stackoverflow.com/questions/55322434/how-to-clear-cuda-memory-in-pytorch)\n\n`\n\nfor i, left in enumerate(dataloader):\n\n    with torch.no_grad():\n\n        temp = model(left).view(-1, 1, 300, 300)\n\n    right.append(temp.to('cpu'))\n\n    del temp\n\n    torch.cuda.empty_cache()`\n",
          "votes": 1
        },
        {
          "id": 917223,
          "postDate": "2020-07-06T10:33:10.203Z",
          "content": "<p>Use the 🙂 apex+multi scale. It worked fine for me </p>",
          "rawMarkdown": "Use the 🙂 apex+multi scale. It worked fine for me ",
          "votes": -1
        },
        {
          "id": 924225,
          "postDate": "2020-07-11T10:41:44.347Z",
          "rawMarkdown": "",
          "votes": -1,
          "isDeleted": true
        }
      ]
    },
    {
      "id": 907885,
      "postDate": "2020-06-30T08:08:18.963Z",
      "content": "<p>In some of the competitions, people just share and discuss about ideas. I think that helps keep the competition alive. </p>",
      "rawMarkdown": "In some of the competitions, people just share and discuss about ideas. I think that helps keep the competition alive. "
    },
    {
      "id": 916735,
      "postDate": "2020-07-06T01:21:15.280Z",
      "content": "<p>11</p>",
      "rawMarkdown": "11",
      "votes": -4
    },
    {
      "id": 922822,
      "postDate": "2020-07-10T10:56:16.917Z",
      "content": "<p>Did you try to use tensorflow instead of pytorch? Is it easier to solve this question with tensorflow?? <a href=\"/nvnnghia\">@nvnnghia</a> </p>",
      "rawMarkdown": "Did you try to use tensorflow instead of pytorch? Is it easier to solve this question with tensorflow?? @nvnnghia ",
      "votes": -1
    },
    {
      "id": 953994,
      "postDate": "2020-08-01T09:46:59.520Z",
      "content": "<p>Very good notebook</p>",
      "rawMarkdown": "Very good notebook"
    },
    {
      "id": 921718,
      "postDate": "2020-07-09T13:57:23.927Z",
      "content": "<p>I learned a lot from your kernel. You don't have to be sorry. 😊 </p>\n\n<p>Someone may have made pseudo labeling kernel because the yolov5 train kernel has already been released.</p>",
      "rawMarkdown": "I learned a lot from your kernel. You don't have to be sorry. 😊 \n\nSomeone may have made pseudo labeling kernel because the yolov5 train kernel has already been released."
    },
    {
      "id": 918110,
      "postDate": "2020-07-07T02:04:47.690Z",
      "content": "<p>did anyone get stable score in LB(no  Pseudo Labeling)? sometime got 73.2,or 74.2 or 74.9,the difference is train epoch 100,50,50,and train data is random,anyone get the same question?I am confused it.</p>",
      "rawMarkdown": "did anyone get stable score in LB(no  Pseudo Labeling)? sometime got 73.2,or 74.2 or 74.9,the difference is train epoch 100,50,50,and train data is random,anyone get the same question?I am confused it.",
      "replies": [
        {
          "id": 918169,
          "postDate": "2020-07-07T03:40:17.757Z",
          "content": "<p>use sorted instead of set for image ordering.\nOtherwise it randomize the image list for every run</p>",
          "rawMarkdown": "use sorted instead of set for image ordering.\nOtherwise it randomize the image list for every run"
        },
        {
          "id": 918297,
          "postDate": "2020-07-07T06:51:36.760Z",
          "content": "<p>thanks,I will try it,do you get the similar score when you train ?</p>",
          "rawMarkdown": "thanks,I will try it,do you get the similar score when you train ?"
        }
      ]
    },
    {
      "id": 911015,
      "postDate": "2020-07-01T14:02:29.773Z",
      "content": "<p>Do you try two rounds Pseudo Labeling ? I try this but not better than one round.</p>",
      "rawMarkdown": "Do you try two rounds Pseudo Labeling ? I try this but not better than one round.",
      "replies": [
        {
          "id": 911087,
          "postDate": "2020-07-01T15:02:53.883Z",
          "rawMarkdown": "",
          "votes": 1,
          "isDeleted": true
        }
      ]
    },
    {
      "id": 950215,
      "postDate": "2020-07-29T09:06:25.870Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 919924,
      "postDate": "2020-07-08T07:39:39.080Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 914367,
      "postDate": "2020-07-03T19:46:39.063Z",
      "rawMarkdown": "",
      "votes": -1,
      "isDeleted": true
    },
    {
      "id": 906058,
      "postDate": "2020-06-29T03:44:20.170Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 907724,
      "author_name": "OrKatz",
      "author_url": "",
      "post_date": "2020-06-30T05:56:29.870000",
      "content": "<p>What are you sorry about? It is the purpose of the community to improve each other.\nThere's still plenty of time for the competition and I guess people will still improve the score.\nYou did a great job. Well done</p>",
      "votes": 12,
      "replies": [
        {
          "id": 907785,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-06-30T06:57:09.457000",
          "content": "<p>some people get upset because of my kernel.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 907814,
          "author_name": "OrKatz",
          "author_url": "",
          "post_date": "2020-06-30T07:12:54.660000",
          "content": "<p>It seems to me that everyone who cries here uses the wonderful notebooks that people have posted here. Don't let the noise that people make to divert you from the wonderful work you do.</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 907010,
      "author_name": "vishnukv",
      "author_url": "",
      "post_date": "2020-06-29T16:50:32.450000",
      "content": "<p>I'm really skpetical about this!! \nSo whats wrong if you share a high scoring kernel. I would do the same if i were as good as you!! sharing knowledge is always the best way to grow imo.\nAfter reading so many good kernels that i understood various ways to improve score ( not only scores ) improve our ways of approach.\nI came to kaggle to learn and not compete ( but there are other people ).... if people have a problem with the money and prize what not? ( be better and take that as  a challenge instead of whining)</p>\n\n<p>This is an amazing notebook you published . youre doing gods work imo\nCheers m8</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 906951,
      "author_name": "Yash Choudhary",
      "author_url": "",
      "post_date": "2020-06-29T16:25:12.550000",
      "content": "<p>You did a great job and you should not feel guilty about it. This is my 2nd serious attempt at a Kaggle competition and I've already learned more practical tricks than any course can teach, thanks to <a href=\"/nvnnghia\">@nvnnghia</a> and <a href=\"/shonenkov\">@shonenkov</a>. Keep posting. </p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 907781,
      "author_name": "Thomas Di Martino",
      "author_url": "",
      "post_date": "2020-06-30T06:55:16.107000",
      "content": "<p>You have no reason to be sorry about anything. </p>\n\n<p>Kaggle experience is all about learning new things and the code you shared has taught and will teach a lot of new things to a lot of people. It is clean, well-organised and very understandable.</p>\n\n<p>You brought the best thing possible: education. No matter how good/bad your algorithm is, there will always be someone very glad to have access to it to learn new things. Of course, we are not safe from a wave of people forking it and just executing it to make an <em>easy</em> submission but the rest of the leaderboard, including myself, has to build on top of this and improve their code to beat it. </p>\n\n<p>This is a <strong>call for greatness</strong> and I show you my gratitude !</p>\n\n<p>I wish you the best in this competition and the next, you have clearly the potential to impress everyone ! Keep up the good work 😉  </p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 915527,
      "author_name": "Innat",
      "author_url": "",
      "post_date": "2020-07-04T19:50:15.087000",
      "content": "<p><a href=\"/nvnnghia\">@nvnnghia</a> \nYou shouldn't say sorry. There's nothing happen for that you've to say this. You're doing great. 🔥 </p>",
      "votes": 2,
      "replies": [
        {
          "id": 915547,
          "author_name": "",
          "author_url": "",
          "post_date": "2020-07-04T20:12:26.503000",
          "content": "",
          "votes": -4,
          "replies": []
        },
        {
          "id": 916013,
          "author_name": "Innat",
          "author_url": "",
          "post_date": "2020-07-05T09:26:23.987000",
          "content": "<p><a href=\"/ahmmadrashid\">@ahmmadrashid</a> \nFirst of all, I didn't downvote your comment 😅 \nAnd, You're new from Bangladeshis! Welcome to Kaggle 🙂 ; In my early days at kaggle, I also didn't like such practice, sharing the high scoring kernel, but later I understood something, that is, we should treat Kaggle as a <strong>learning platform</strong> first and then <strong>competition platform</strong>. </p>\n\n<p>But sharing a high score kernel before VERY END TIME of the competition is not acceptable. And also, I think when we share the high score kernel, we should NOT share the pre-trained weights. </p>\n\n<p><a href=\"/nvnnghia\">@nvnnghia</a> is doing super great. Those people who are questioning his high scored kernel but practically they're forking it anyway, lol. I would say to those people to stop double-standard behavior and if they're able to surpass the high scored kernel, do it or learn from it. 😊 </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 906256,
      "author_name": "Peiyuan Liao",
      "author_url": "",
      "post_date": "2020-06-29T06:47:39.523000",
      "content": "<p>This is just my 5-cents, but I feel like you shouldn't make such a high-scoring kernel public, even when you did not publish your weights. The kernel setup, and the hyper-parameters for WBF and other post-processing techniques all take days, even weeks to fine-tune. You shouldn't just hand the current second-highest scoring recipe to everyone, considering that this is a competition closing in one month. A more acceptable way to share is to the community is to tell everyone that \"YOLOv5 pseudo labeling works.\"</p>",
      "votes": -1,
      "replies": [
        {
          "id": 906264,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-06-29T07:03:55.620000",
          "content": "<p>Thanks for pointing it out.  I won't do it a second time</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 906283,
          "author_name": "arutema47",
          "author_url": "",
          "post_date": "2020-06-29T07:25:38.673000",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> \n+1</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 906330,
          "author_name": "Alex Shonenkov",
          "author_url": "",
          "post_date": "2020-06-29T07:48:16.783000",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> I think author created good kernel with excellent results, you should be more respectful with his work. If you won't make better results during MONTH with all high scoring public kernels you should forgot about \"in the money\"! Please, enjoy this competition and respect kindly provided solutions.</p>\n\n<p>I will be glad to see more solutions and kernels from <a href=\"/nvnnghia\">@nvnnghia</a>, I hope opinions such THIS never be a reason for stop publishing! Only sharing can create really perfect solutions</p>",
          "votes": 27,
          "replies": []
        },
        {
          "id": 906345,
          "author_name": "Peiyuan Liao",
          "author_url": "",
          "post_date": "2020-06-29T08:00:44.263000",
          "content": "<p>Sharing during the earlier stages is one thing, and sharing during later stages with the second highest public score is another. I'm not disrespecting their solution, and in fact, me bringing this up can very well attest to their undoubtedly great skills in making yolov5x work. I'm also not against public sharing, I simply believe that there is a better way to prevent people from taking free rides from public sharing in ranked competitions with prize money. I have several pipelines currently under development, and none of them uses yolov5x, so I actually may benefit from nvnn's wonderful work by model ensembles, and I do have a spare GPU to simply download his kernel code, train it for a few days, and simply replace the path with my private dataset. And I can get a similar score to my other pipeline, which I tuned for weeks. I believe that this makes the competition unfair.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 906359,
          "author_name": "Alex Shonenkov",
          "author_url": "",
          "post_date": "2020-06-29T08:19:30.077000",
          "content": "<p><a href=\"/alexanderliao\">@alexanderliao</a> Dataset with weights is private, isn't it? Nobody can make fork and submission. \"Free rides from public sharing in ranked competitions with prize money\" are impossible. It doesn't look as argument, it is only fear to lose positions :)</p>\n\n<p>You have a good strategy with ensembling yolo!</p>\n\n<p>You are right, month is enough for reaching and reproducing ideas from this kernel. But it is hard work also and not enough for prize money.</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 906532,
          "author_name": "Ahmmad Rashid",
          "author_url": "",
          "post_date": "2020-06-29T11:47:03.323000",
          "content": "<p>I agree with <a href=\"/shonenkov\">@shonenkov</a>. We shouldn't discourage people to publish high scoring kernels.  </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 906610,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-06-29T12:49:14.470000",
          "content": "<p>Well have you been putting in a full-time jobs worth of work into this competition week after week? It is really disappointing when all your hard work gets crushed by a couple of noobs who just ride on the backs of others 😓 </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 906636,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-06-29T13:11:06.813000",
          "content": "<p>sorry <a href=\"/matthewmasters\">@matthewmasters</a> I didn't expect that my kernel have that much impact on LB, especially your hard-work. Please forgive me. If possible I would like to team up with you in another competition and I will put my effort in it, hope that will be a way to sorry you.</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 906645,
          "author_name": "Alex Shonenkov",
          "author_url": "",
          "post_date": "2020-06-29T13:14:36.733000",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> Couple of noobs? :D If your work can crushed by a couple of noobs so your work raises doubts and doesnt deserve prizes, doesnt it?) It is only fear to lose your LB positions, you should be more respectful for all authors of public kernels.</p>\n\n<p><a href=\"/nvnnghia\">@nvnnghia</a> never stop! These people don’t have arguments. Your message “I won't do it a second time” is really disheartening. I believe your shared works make kaggle better! Never stop :)</p>",
          "votes": 8,
          "replies": []
        },
        {
          "id": 906650,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-06-29T13:19:10.513000",
          "content": "<p><a href=\"/shonenkov\">@shonenkov</a> Thanks for your encouragement. I won't stop sharing, but I will do it earlier next time (probably when the competition has more than 1 month to go).  By the way. Thanks for sharing many great kernels. </p>",
          "votes": 6,
          "replies": []
        },
        {
          "id": 906652,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-06-29T13:19:34.233000",
          "content": "<p>I'm not arguing that nvnn is a noob at all, he is clearly great at what he does. I am arguing that people who simply take his work and reproduce it are. This isn't isolated to just this sharing either. I was using TTA ensemble and other tricks that have since been shared, allowing all the noobs to simply copy and beat those who worked for it.</p>\n\n<p>Also, I never said we shouldn't be sharing or have put anyone down who has shared. I am simply being critical of those who contribute nothing and steal everything. I'm simply voicing my displeasure that I have worked so hard and am being beat by those who haven't.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 906678,
          "author_name": "Alex Shonenkov",
          "author_url": "",
          "post_date": "2020-06-29T13:41:05.167000",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> You should write about it Kaggle Team, not here. You shouldn’t downvote messages and topics by authors and shouldn’t write here your whine. You know, after merge deadline kaggle sends notifications about sharing high-score kernels. But author shared MONTH before! Sharing is unique feature of kaggle! But your spam here is excess, this topic is about excellent shared work - enjoy or skip, please.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 906692,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-06-29T13:51:29.847000",
          "content": "<p>This is the discussion forum. I don't know why you think I have to shutup just because you don't like what I'm saying. You can just as easily enjoy or skip my posts. They are not spam, my views are just as legitimate and valid as yours are. Also, don't talk to me about downvoting messages, you've literally downvoted everything I've said here. What gives you the right to do that but I can't? </p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 906710,
          "author_name": "Alex Shonenkov",
          "author_url": "",
          "post_date": "2020-06-29T14:00:56.667000",
          "content": "<p><a href=\"/matthewmasters\">@matthewmasters</a> It is elementary rules of forum. You shouldnt seek team member in topic about external data 😂 this topic is about excellent shared work, not about whine) looks like you don’t understand it</p>\n\n<p>Also I didn’t say about downvoting of my messages - only by author - so welcome to downvote me 👍</p>",
          "votes": -2,
          "replies": []
        },
        {
          "id": 906717,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-06-29T14:05:24.260000",
          "content": "<p>Seek team member in topic about external data?? What are you talking about? I requested a team member once and it was in the proper thread...</p>\n\n<p>And you think I don't understand this thread? I did not even bring up the topic of sharing. I saw that Liao brought up this point and was being berated for it. I was simply voicing my opinion and showing that he was not alone.</p>\n\n<p>Furthermore, I haven't downvoted anyone's comments or posts except for yours... Have nice day</p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 907442,
          "author_name": "arutema47",
          "author_url": "",
          "post_date": "2020-06-30T00:58:27.863000",
          "content": "<p>Some people do kaggle to get competition medals and some to get notebook medals and we're seeing the both views discussing in this thread. I understand there are two goals, and ultimately people come here to learn.</p>\n\n<p>This balance used to be fine, but seems to be off these days to me especially in image competitions. Since high-scoring (&gt;=low-silver) public notebooks discourage competitor people (Including myself), I personally think kaggle should not allow these high-scoring kernels to be published. People can conduct knowledge sharing after the competition ends, and it has always been a great lesson to do late-subs.</p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 907792,
          "author_name": "Thomas Di Martino",
          "author_url": "",
          "post_date": "2020-06-30T07:01:43.517000",
          "content": "<p>Dear <a href=\"/matthewmasters\">@matthewmasters</a>,</p>\n\n<p>I believe that the sharing of solutions, ideas and topics are inherent to Kaggle's competition scheme. I have known your frustration during other competitions, despite the fact that I certainly do not have your experience with Kaggle as a whole.\nHowever, I have come to accept that this is how the platform works. It is true that it can be seen as ambiguous: competing on one hand for better leaderboard position while collaborating in the notebooks/discussion panels. But ultimately, the goal of these competitions is knowledge: not only for us, but for the whole world of Data Science. Kaggle is a test bench of ideas, and every idea is worth sharing, whether it is high-performing or the exact opposite.</p>\n\n<p>Despite all this, I do share your frustration on this topic, but I am sure that you will be able to build up on it and come back with astounding results !! </p>\n\n<p>Best of luck,</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 947941,
      "author_name": "J Seb",
      "author_url": "",
      "post_date": "2020-07-27T15:07:13.310000",
      "content": "<p>This is probably a very basic question, could you show me which part of your code handles pictures with no boxes. </p>",
      "votes": 1,
      "replies": [
        {
          "id": 948438,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-07-28T00:07:41.890000",
          "content": "<p>it is in makePseudolabel function.  if no boxes found, I create an empty annotation file and use it for training. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 948520,
          "author_name": "J Seb",
          "author_url": "",
          "post_date": "2020-07-28T03:18:55.267000",
          "content": "<p>Thanks much!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 906735,
      "author_name": "Alex",
      "author_url": "",
      "post_date": "2020-06-29T14:12:12.370000",
      "content": "<p>Wow that's a big surprise that YOLOv5 outperforms all others models. Thanks for sharing. \nI've had a quick look on YOLOv5 repo and it seems that lot of SOTA tricks (mosaic, TTA and some optimization during training) are hidden which make it really easy to train. Moreover the model is lighter than effdet and 1024x1024 images are OK for most of GPUs. \nI am wondering guys what are your thoughts about it ? How could we explain that YOLOv5 is outperforming effdet series in this competition ?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 906865,
          "author_name": "yama",
          "author_url": "",
          "post_date": "2020-06-29T15:16:07.740000",
          "content": "<p>Same doubts. I am always confused by deep learning.\nMy immediate hypothesis is that resolution is more important than architecture at some point.</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 911021,
          "author_name": "",
          "author_url": "",
          "post_date": "2020-07-01T14:09:23.987000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 906184,
      "author_name": "ld",
      "author_url": "",
      "post_date": "2020-06-29T05:43:43.420000",
      "content": "<p>Nice work! How long does it take to submit?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 906198,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-06-29T05:57:24.003000",
          "content": "<p>It took around 3.5 hours</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 915846,
          "author_name": "yangmanyao",
          "author_url": "",
          "post_date": "2020-07-05T06:26:33.563000",
          "content": "<p>why does it  take so long?? I get my L.B score in 20 minutes after submit????👀 </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 915860,
          "author_name": "Matt",
          "author_url": "",
          "post_date": "2020-07-05T06:48:45.850000",
          "content": "<p>You must only be training on your pseudolabels for one epoch or something</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 915864,
          "author_name": "yangmanyao",
          "author_url": "",
          "post_date": "2020-07-05T06:54:56.993000",
          "content": "<p>But I used the same code with nvnnghia..... </p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 917148,
          "author_name": "27Wilson",
          "author_url": "",
          "post_date": "2020-07-06T09:14:47.283000",
          "content": "<p>Hello I see you use batch 4 to retrain model, but it will calls cuda out of memery. So could you please tell me how to train large batch? </p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 917184,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-07-06T09:47:43.793000",
          "content": "<p><a href=\"/whurobin\">@whurobin</a> batch=4 works normally for me. so, I guess your GPU is occupied by another network. My suggestion: free all cuda memory before retraining.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 917194,
          "author_name": "Kaushal Shah",
          "author_url": "",
          "post_date": "2020-07-06T09:55:51.393000",
          "content": "<p>How to clear all cuda memory? Using \"torch.cuda.empty_cache()\"?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 917198,
          "author_name": "27Wilson",
          "author_url": "",
          "post_date": "2020-07-06T10:03:18.260000",
          "content": "<p>I find that using multi-scale will cause cuda out of memory error. It works now, thanks! </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 917202,
          "author_name": "nvnn",
          "author_url": "",
          "post_date": "2020-07-06T10:09:26.570000",
          "content": "<p><a href=\"/kaushal2896\">@kaushal2896</a> try <a href=\"https://stackoverflow.com/questions/55322434/how-to-clear-cuda-memory-in-pytorch\">this</a></p>\n\n<p>`</p>\n\n<p>for i, left in enumerate(dataloader):</p>\n\n<pre><code>with torch.no_grad():\n\n    temp = model(left).view(-1, 1, 300, 300)\n\nright.append(temp.to('cpu'))\n\ndel temp\n\ntorch.cuda.empty_cache()`\n</code></pre>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 917223,
          "author_name": "Ahmmad Rashid",
          "author_url": "",
          "post_date": "2020-07-06T10:33:10.203000",
          "content": "<p>Use the 🙂 apex+multi scale. It worked fine for me </p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 924225,
          "author_name": "",
          "author_url": "",
          "post_date": "2020-07-11T10:41:44.347000",
          "content": "",
          "votes": -1,
          "replies": []
        }
      ]
    },
    {
      "id": 907885,
      "author_name": "Vishnu Subramanian",
      "author_url": "",
      "post_date": "2020-06-30T08:08:18.963000",
      "content": "<p>In some of the competitions, people just share and discuss about ideas. I think that helps keep the competition alive. </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 916735,
      "author_name": "momomo",
      "author_url": "",
      "post_date": "2020-07-06T01:21:15.280000",
      "content": "<p>11</p>",
      "votes": -4,
      "replies": []
    },
    {
      "id": 922822,
      "author_name": "jordan93",
      "author_url": "",
      "post_date": "2020-07-10T10:56:16.917000",
      "content": "<p>Did you try to use tensorflow instead of pytorch? Is it easier to solve this question with tensorflow?? <a href=\"/nvnnghia\">@nvnnghia</a> </p>",
      "votes": -1,
      "replies": []
    },
    {
      "id": 953994,
      "author_name": "Daniil Bondarev",
      "author_url": "",
      "post_date": "2020-08-01T09:46:59.520000",
      "content": "<p>Very good notebook</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 921718,
      "author_name": "Heroseo",
      "author_url": "",
      "post_date": "2020-07-09T13:57:23.927000",
      "content": "<p>I learned a lot from your kernel. You don't have to be sorry. 😊 </p>\n\n<p>Someone may have made pseudo labeling kernel because the yolov5 train kernel has already been released.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 918110,
      "author_name": "xiaopeng",
      "author_url": "",
      "post_date": "2020-07-07T02:04:47.690000",
      "content": "<p>did anyone get stable score in LB(no  Pseudo Labeling)? sometime got 73.2,or 74.2 or 74.9,the difference is train epoch 100,50,50,and train data is random,anyone get the same question?I am confused it.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 918169,
          "author_name": "Ahmmad Rashid",
          "author_url": "",
          "post_date": "2020-07-07T03:40:17.757000",
          "content": "<p>use sorted instead of set for image ordering.\nOtherwise it randomize the image list for every run</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 918297,
          "author_name": "xiaopeng",
          "author_url": "",
          "post_date": "2020-07-07T06:51:36.760000",
          "content": "<p>thanks,I will try it,do you get the similar score when you train ?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 911015,
      "author_name": "xiaopeng",
      "author_url": "",
      "post_date": "2020-07-01T14:02:29.773000",
      "content": "<p>Do you try two rounds Pseudo Labeling ? I try this but not better than one round.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 911087,
          "author_name": "",
          "author_url": "",
          "post_date": "2020-07-01T15:02:53.883000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 950215,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-07-29T09:06:25.870000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 919924,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-07-08T07:39:39.080000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 914367,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-07-03T19:46:39.063000",
      "content": "",
      "votes": -1,
      "replies": []
    },
    {
      "id": 906058,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-06-29T03:44:20.170000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "906040": "It seems that yolov5 also works pretty well with Pseudo labeling. I have publish a demonstration \n[ notebook](https://www.kaggle.com/nvnnghia/yolov5-pseudo-labeling)",
    "907724": "What are you sorry about? It is the purpose of the community to improve each other.\nThere's still plenty of time for the competition and I guess people will still improve the score.\nYou did a great job. Well done",
    "907010": "I'm really skpetical about this!! \nSo whats wrong if you share a high scoring kernel. I would do the same if i were as good as you!! sharing knowledge is always the best way to grow imo.\nAfter reading so many good kernels that i understood various ways to improve score ( not only scores ) improve our ways of approach.\nI came to kaggle to learn and not compete ( but there are other people ).... if people have a problem with the money and prize what not? ( be better and take that as  a challenge instead of whining)\n\nThis is an amazing notebook you published . youre doing gods work imo\nCheers m8",
    "906951": "You did a great job and you should not feel guilty about it. This is my 2nd serious attempt at a Kaggle competition and I've already learned more practical tricks than any course can teach, thanks to @nvnnghia and @shonenkov. Keep posting. ",
    "907781": "You have no reason to be sorry about anything. \n\nKaggle experience is all about learning new things and the code you shared has taught and will teach a lot of new things to a lot of people. It is clean, well-organised and very understandable.\n\nYou brought the best thing possible: education. No matter how good/bad your algorithm is, there will always be someone very glad to have access to it to learn new things. Of course, we are not safe from a wave of people forking it and just executing it to make an *easy* submission but the rest of the leaderboard, including myself, has to build on top of this and improve their code to beat it. \n\nThis is a **call for greatness** and I show you my gratitude !\n\nI wish you the best in this competition and the next, you have clearly the potential to impress everyone ! Keep up the good work 😉  ",
    "915527": "@nvnnghia \nYou shouldn't say sorry. There's nothing happen for that you've to say this. You're doing great. 🔥 ",
    "906256": "This is just my 5-cents, but I feel like you shouldn't make such a high-scoring kernel public, even when you did not publish your weights. The kernel setup, and the hyper-parameters for WBF and other post-processing techniques all take days, even weeks to fine-tune. You shouldn't just hand the current second-highest scoring recipe to everyone, considering that this is a competition closing in one month. A more acceptable way to share is to the community is to tell everyone that \"YOLOv5 pseudo labeling works.\"",
    "947941": "This is probably a very basic question, could you show me which part of your code handles pictures with no boxes. ",
    "906735": "Wow that's a big surprise that YOLOv5 outperforms all others models. Thanks for sharing. \nI've had a quick look on YOLOv5 repo and it seems that lot of SOTA tricks (mosaic, TTA and some optimization during training) are hidden which make it really easy to train. Moreover the model is lighter than effdet and 1024x1024 images are OK for most of GPUs. \nI am wondering guys what are your thoughts about it ? How could we explain that YOLOv5 is outperforming effdet series in this competition ?",
    "906184": "Nice work! How long does it take to submit?",
    "907885": "In some of the competitions, people just share and discuss about ideas. I think that helps keep the competition alive. ",
    "916735": "11",
    "922822": "Did you try to use tensorflow instead of pytorch? Is it easier to solve this question with tensorflow?? @nvnnghia ",
    "953994": "Very good notebook",
    "921718": "I learned a lot from your kernel. You don't have to be sorry. 😊 \n\nSomeone may have made pseudo labeling kernel because the yolov5 train kernel has already been released.",
    "918110": "did anyone get stable score in LB(no  Pseudo Labeling)? sometime got 73.2,or 74.2 or 74.9,the difference is train epoch 100,50,50,and train data is random,anyone get the same question?I am confused it.",
    "911015": "Do you try two rounds Pseudo Labeling ? I try this but not better than one round.",
    "950215": "",
    "919924": "",
    "914367": "",
    "906058": ""
  }
}