{
  "id": 73724,
  "title": "A noob's journey to the  258th(Top 20%) place. ",
  "url": "/competitions/quickdraw-doodle-recognition/discussion/73724",
  "author_name": "Ankit Sati",
  "post_date": "2018-12-05T06:43:35.611000",
  "votes": 7,
  "comment_count": 1,
  "views": 0,
  "content": "<p>First of all congratulations to all of the contestants who participated and were able to get the results they were expecting and to all the medal winners. Thanks to Google AI and Kaggle for this great competition. Also, thanks to <a href=\"https://www.kaggle.com/gaborfodor\"></a><a href=\"/beluga\">@beluga</a> for his awesome shuffle csv and mobilenet kernels, <a href=\"https://www.kaggle.com/hengck23\">@hengck</a>, and others who have provided valuable information in the discussions that helped other contestants like me to get to the final scores. <br></p>\n\n<p>I was able to get to the top 12% before I exhausted all of my google credits and so does my hope for getting any higher in this competition.<br></p>\n\n<ul>\n<li><p>I started with my own CNN+LSTM approach and <a href=\"https://www.kaggle.com/gaborfodor\"></a><a href=\"/beluga\">@beluga</a> shuffle csv's approach which consists of 3 conv2d+maxpooling layers on the top and two bidirectional LSTM layers in the end, which give me a LB score of 0.85 as I was training on Kaggle kernels I can't train this framework long enough to get any higher. <br></p></li>\n<li><p>After this, I started with beluga's  Mobilenet kernel and trained it on 64X64 images for as long as possible, saved weights and used this weights to initialize training for next attempt until I started getting diminishing returns. I then used those weights to train and initialize till the images of size [128X128]. I was still training only on 30k images per class which helped me in getting to 0.91 on LB. I can't get any further with 30k images on Kaggle kernels as I have used ReduceLR, CyclicalLr and other approaches to reach till this point.<br></p></li>\n<li><p>Now, I had some remaining credits in my GCP account from TGS competition where I was able to get to the Top 14%.  At this point I realized that I don't have enough credits to get to the point where I can get any medal and rather than using Mobilenet, I thought of learning and trying something new. So, I started with PyTorch and SEResNeXt and trained that on all of the images for 1 epoch before exhausting my credits. It helped me in getting to 0.919.<br></p></li>\n<li><p>I then blended my Mobilenet and SEResNeXt submission for a final score of 0.922 before finishing the competition.<br></p></li>\n<li><p>In the end, I learned to work with two frameworks(Keras and Pytorch), learned about RNN/LSTM that helped me in getting to Top 1% in Quora competition and I am ending with acquiring more knowledge than I started with. <br></p></li>\n</ul>\n\n<p>I am ending my write-up with a tip for all the beginners like me who come to Kaggle but never start Competing because of the fear that they are not good enough. I also didn't have any prior programming experience or studied any high-level mathematics before starting my DS journey and still, I was just able to learn a little but whatever I learned is hard to forget now. All you have to do is try. The kernel sections are full of helpful kernels that will get you started and discussions are full of good people that will help you when you will get stuck. There is no better way to learn than learning by doing. So jump into competitions and start butting your head against the problems. <br></p>\n\n<p><strong>Stay Calm and Keep Kaggling!!</strong></p>",
  "messages": [
    {
      "id": 433523,
      "postDate": "2018-12-05T06:43:35.610Z",
      "content": "<p>First of all congratulations to all of the contestants who participated and were able to get the results they were expecting and to all the medal winners. Thanks to Google AI and Kaggle for this great competition. Also, thanks to <a href=\"https://www.kaggle.com/gaborfodor\"></a><a href=\"/beluga\">@beluga</a> for his awesome shuffle csv and mobilenet kernels, <a href=\"https://www.kaggle.com/hengck23\">@hengck</a>, and others who have provided valuable information in the discussions that helped other contestants like me to get to the final scores. <br></p>\n\n<p>I was able to get to the top 12% before I exhausted all of my google credits and so does my hope for getting any higher in this competition.<br></p>\n\n<ul>\n<li><p>I started with my own CNN+LSTM approach and <a href=\"https://www.kaggle.com/gaborfodor\"></a><a href=\"/beluga\">@beluga</a> shuffle csv's approach which consists of 3 conv2d+maxpooling layers on the top and two bidirectional LSTM layers in the end, which give me a LB score of 0.85 as I was training on Kaggle kernels I can't train this framework long enough to get any higher. <br></p></li>\n<li><p>After this, I started with beluga's  Mobilenet kernel and trained it on 64X64 images for as long as possible, saved weights and used this weights to initialize training for next attempt until I started getting diminishing returns. I then used those weights to train and initialize till the images of size [128X128]. I was still training only on 30k images per class which helped me in getting to 0.91 on LB. I can't get any further with 30k images on Kaggle kernels as I have used ReduceLR, CyclicalLr and other approaches to reach till this point.<br></p></li>\n<li><p>Now, I had some remaining credits in my GCP account from TGS competition where I was able to get to the Top 14%.  At this point I realized that I don't have enough credits to get to the point where I can get any medal and rather than using Mobilenet, I thought of learning and trying something new. So, I started with PyTorch and SEResNeXt and trained that on all of the images for 1 epoch before exhausting my credits. It helped me in getting to 0.919.<br></p></li>\n<li><p>I then blended my Mobilenet and SEResNeXt submission for a final score of 0.922 before finishing the competition.<br></p></li>\n<li><p>In the end, I learned to work with two frameworks(Keras and Pytorch), learned about RNN/LSTM that helped me in getting to Top 1% in Quora competition and I am ending with acquiring more knowledge than I started with. <br></p></li>\n</ul>\n\n<p>I am ending my write-up with a tip for all the beginners like me who come to Kaggle but never start Competing because of the fear that they are not good enough. I also didn't have any prior programming experience or studied any high-level mathematics before starting my DS journey and still, I was just able to learn a little but whatever I learned is hard to forget now. All you have to do is try. The kernel sections are full of helpful kernels that will get you started and discussions are full of good people that will help you when you will get stuck. There is no better way to learn than learning by doing. So jump into competitions and start butting your head against the problems. <br></p>\n\n<p><strong>Stay Calm and Keep Kaggling!!</strong></p>",
      "rawMarkdown": "First of all congratulations to all of the contestants who participated and were able to get the results they were expecting and to all the medal winners. Thanks to Google AI and Kaggle for this great competition. Also, thanks to [@beluga][1] for his awesome shuffle csv and mobilenet kernels, [@hengck][2], and others who have provided valuable information in the discussions that helped other contestants like me to get to the final scores. <br>\n\nI was able to get to the top 12% before I exhausted all of my google credits and so does my hope for getting any higher in this competition.<br>\n\n- I started with my own CNN+LSTM approach and [@beluga][1] shuffle csv's approach which consists of 3 conv2d+maxpooling layers on the top and two bidirectional LSTM layers in the end, which give me a LB score of 0.85 as I was training on Kaggle kernels I can't train this framework long enough to get any higher. <br>\n\n- After this, I started with beluga's  Mobilenet kernel and trained it on 64X64 images for as long as possible, saved weights and used this weights to initialize training for next attempt until I started getting diminishing returns. I then used those weights to train and initialize till the images of size [128X128]. I was still training only on 30k images per class which helped me in getting to 0.91 on LB. I can't get any further with 30k images on Kaggle kernels as I have used ReduceLR, CyclicalLr and other approaches to reach till this point.<br>\n\n-  Now, I had some remaining credits in my GCP account from TGS competition where I was able to get to the Top 14%.  At this point I realized that I don't have enough credits to get to the point where I can get any medal and rather than using Mobilenet, I thought of learning and trying something new. So, I started with PyTorch and SEResNeXt and trained that on all of the images for 1 epoch before exhausting my credits. It helped me in getting to 0.919.<br>\n\n- I then blended my Mobilenet and SEResNeXt submission for a final score of 0.922 before finishing the competition.<br>\n\n- In the end, I learned to work with two frameworks(Keras and Pytorch), learned about RNN/LSTM that helped me in getting to Top 1% in Quora competition and I am ending with acquiring more knowledge than I started with. <br>\n\nI am ending my write-up with a tip for all the beginners like me who come to Kaggle but never start Competing because of the fear that they are not good enough. I also didn't have any prior programming experience or studied any high-level mathematics before starting my DS journey and still, I was just able to learn a little but whatever I learned is hard to forget now. All you have to do is try. The kernel sections are full of helpful kernels that will get you started and discussions are full of good people that will help you when you will get stuck. There is no better way to learn than learning by doing. So jump into competitions and start butting your head against the problems. <br>\n\n**Stay Calm and Keep Kaggling!!**\n\n\n\n  [1]: https://www.kaggle.com/gaborfodor\n  [2]: https://www.kaggle.com/hengck23\n  [3]: https://www.kaggle.com/remidi",
      "votes": 7
    },
    {
      "id": 433777,
      "postDate": "2018-12-05T13:19:01.113Z",
      "content": "<p>kudos <a href=\"/satian\">@satian</a> . Thanks for sharing your approach.  I am a beginner here and i too believe in \"Stay Calm and Keep Kaggling\" . \nP.S. -  I also used TGS Credits.</p>",
      "rawMarkdown": "kudos @satian . Thanks for sharing your approach.  I am a beginner here and i too believe in \"Stay Calm and Keep Kaggling\" . \nP.S. -  I also used TGS Credits.",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 433777,
      "author_name": "VikasSangwan",
      "author_url": "",
      "post_date": "2018-12-05T13:19:01.113000",
      "content": "<p>kudos <a href=\"/satian\">@satian</a> . Thanks for sharing your approach.  I am a beginner here and i too believe in \"Stay Calm and Keep Kaggling\" . \nP.S. -  I also used TGS Credits.</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "433523": "First of all congratulations to all of the contestants who participated and were able to get the results they were expecting and to all the medal winners. Thanks to Google AI and Kaggle for this great competition. Also, thanks to [@beluga][1] for his awesome shuffle csv and mobilenet kernels, [@hengck][2], and others who have provided valuable information in the discussions that helped other contestants like me to get to the final scores. <br>\n\nI was able to get to the top 12% before I exhausted all of my google credits and so does my hope for getting any higher in this competition.<br>\n\n- I started with my own CNN+LSTM approach and [@beluga][1] shuffle csv's approach which consists of 3 conv2d+maxpooling layers on the top and two bidirectional LSTM layers in the end, which give me a LB score of 0.85 as I was training on Kaggle kernels I can't train this framework long enough to get any higher. <br>\n\n- After this, I started with beluga's  Mobilenet kernel and trained it on 64X64 images for as long as possible, saved weights and used this weights to initialize training for next attempt until I started getting diminishing returns. I then used those weights to train and initialize till the images of size [128X128]. I was still training only on 30k images per class which helped me in getting to 0.91 on LB. I can't get any further with 30k images on Kaggle kernels as I have used ReduceLR, CyclicalLr and other approaches to reach till this point.<br>\n\n-  Now, I had some remaining credits in my GCP account from TGS competition where I was able to get to the Top 14%.  At this point I realized that I don't have enough credits to get to the point where I can get any medal and rather than using Mobilenet, I thought of learning and trying something new. So, I started with PyTorch and SEResNeXt and trained that on all of the images for 1 epoch before exhausting my credits. It helped me in getting to 0.919.<br>\n\n- I then blended my Mobilenet and SEResNeXt submission for a final score of 0.922 before finishing the competition.<br>\n\n- In the end, I learned to work with two frameworks(Keras and Pytorch), learned about RNN/LSTM that helped me in getting to Top 1% in Quora competition and I am ending with acquiring more knowledge than I started with. <br>\n\nI am ending my write-up with a tip for all the beginners like me who come to Kaggle but never start Competing because of the fear that they are not good enough. I also didn't have any prior programming experience or studied any high-level mathematics before starting my DS journey and still, I was just able to learn a little but whatever I learned is hard to forget now. All you have to do is try. The kernel sections are full of helpful kernels that will get you started and discussions are full of good people that will help you when you will get stuck. There is no better way to learn than learning by doing. So jump into competitions and start butting your head against the problems. <br>\n\n**Stay Calm and Keep Kaggling!!**\n\n\n\n  [1]: https://www.kaggle.com/gaborfodor\n  [2]: https://www.kaggle.com/hengck23\n  [3]: https://www.kaggle.com/remidi",
    "433777": "kudos @satian . Thanks for sharing your approach.  I am a beginner here and i too believe in \"Stay Calm and Keep Kaggling\" . \nP.S. -  I also used TGS Credits."
  }
}