{
  "id": 69773,
  "title": "Lstm verus cnn",
  "url": "/competitions/quickdraw-doodle-recognition/discussion/69773",
  "author_name": "hengck23",
  "post_date": "2018-10-27T06:02:58.485000",
  "votes": 17,
  "comment_count": 31,
  "views": 0,
  "content": "<p>So far, my experiment shows that cnn perform better than lstm. Is it the same as yours?</p>",
  "messages": [
    {
      "id": 410996,
      "postDate": "2018-10-27T06:02:58.487Z",
      "content": "<p>So far, my experiment shows that cnn perform better than lstm. Is it the same as yours?</p>",
      "rawMarkdown": "So far, my experiment shows that cnn perform better than lstm. Is it the same as yours?",
      "votes": 17
    },
    {
      "id": 425073,
      "postDate": "2018-11-21T05:13:19.667Z",
      "content": "<p>a new paper today:</p>\n\n<p>Sketch-R2CNN: An Attentive Network for Vector Sketch Recognition - Lei Li, arxiv 2018</p>\n\n<p><a href=\"https://arxiv.org/pdf/1811.08170.pdf\">https://arxiv.org/pdf/1811.08170.pdf</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/425073/10697/att.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "a new paper today:\n\nSketch-R2CNN: An Attentive Network for Vector Sketch Recognition - Lei Li, arxiv 2018\n\n\nhttps://arxiv.org/pdf/1811.08170.pdf\n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/425073/10697/att.png",
      "votes": 8,
      "replies": [
        {
          "id": 431529,
          "postDate": "2018-12-02T12:43:19.250Z",
          "content": "<p>The author of Sketch-R2CNN hasn't released code yet, is there any other implementations?</p>",
          "rawMarkdown": "The author of Sketch-R2CNN hasn't released code yet, is there any other implementations?"
        },
        {
          "id": 431645,
          "postDate": "2018-12-02T17:03:34.433Z",
          "content": "<p>I have implemented their solution but it takes long (NRL implemented in TF, not CUDA itself)\n to train and from initial experiments, does not give better results than my own time encoding. However, it certainly is better than no time encoding whatsoever.</p>",
          "rawMarkdown": "I have implemented their solution but it takes long (NRL implemented in TF, not CUDA itself)\n to train and from initial experiments, does not give better results than my own time encoding. However, it certainly is better than no time encoding whatsoever.",
          "votes": 1
        }
      ]
    },
    {
      "id": 422665,
      "postDate": "2018-11-16T15:39:15.247Z",
      "content": "<p>verified the following:</p>\n\n<p>LB of \"CNN + lstm \"  (ensemble, best score) &gt; LB of CNN &gt; LB of lstm </p>",
      "rawMarkdown": "verified the following:\n\nLB of \"CNN + lstm \"  (ensemble, best score) &gt; LB of CNN &gt; LB of lstm \n",
      "votes": 4,
      "replies": [
        {
          "id": 422916,
          "postDate": "2018-11-17T03:22:32.227Z",
          "content": "<p>So you already have a LSTM model than better than CNN?</p>",
          "rawMarkdown": "So you already have a LSTM model than better than CNN?"
        },
        {
          "id": 423327,
          "postDate": "2018-11-17T23:35:08.953Z",
          "content": "<p>I believe <a href=\"/hengck23\">@hengck23</a> just accidentaly made a mistake in the post and he actually meant this:</p>\n\n<p>&gt; LB of \"CNN + lstm \" (ensmble) <strong>&gt;</strong> LB of CNN <strong>&gt;</strong> LB of lstm</p>\n\n<p>But its just my thoughts based on his previous comments about performance of LSTM vs CNN</p>",
          "rawMarkdown": "I believe @hengck23 just accidentaly made a mistake in the post and he actually meant this:\n\n&gt; LB of \"CNN + lstm \" (ensmble) **&gt;** LB of CNN **&gt;** LB of lstm\n\nBut its just my thoughts based on his previous comments about performance of LSTM vs CNN",
          "votes": 2
        },
        {
          "id": 423343,
          "postDate": "2018-11-18T01:03:48.607Z",
          "content": "<p>Yes, from his previous comments the LSTM is not as good as CNN</p>",
          "rawMarkdown": "Yes, from his previous comments the LSTM is not as good as CNN"
        },
        {
          "id": 423396,
          "postDate": "2018-11-18T06:13:44.580Z",
          "content": "<p>I corrected the mistake. Thanks </p>",
          "rawMarkdown": "I corrected the mistake. Thanks "
        }
      ]
    },
    {
      "id": 420643,
      "postDate": "2018-11-13T23:41:40.057Z",
      "content": "<p>this is actually not a \"pure\" image recognition problem. We are predicting the target,  and not what the drawing look like.</p>\n\n<p>Hence you may want to pool results over several strokes and decide how to make the final prediction.\nThere can be incomplete drawing if the drawer hit the target within the first few stroke.</p>\n\n<p>in theory, LSTM should handle sequence better than CNN. So I expect LSTM to give better scores. But my experiment results show otherwise, which i am puzzled.</p>\n\n<p>It is interesting to plot out the scores of CNN over time and see how CNN score changes as the strokes are drawn.</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/420643/10675/last_new1.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "this is actually not a \"pure\" image recognition problem. We are predicting the target,  and not what the drawing look like.\n\nHence you may want to pool results over several strokes and decide how to make the final prediction.\nThere can be incomplete drawing if the drawer hit the target within the first few stroke.\n\nin theory, LSTM should handle sequence better than CNN. So I expect LSTM to give better scores. But my experiment results show otherwise, which i am puzzled.\n\nIt is interesting to plot out the scores of CNN over time and see how CNN score changes as the strokes are drawn.\n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/420643/10675/last_new1.png",
      "votes": 4
    },
    {
      "id": 425468,
      "postDate": "2018-11-21T16:45:05.303Z",
      "content": "<p>applying CNN over time. </p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/425468/10701/drop_strokes.png\" alt=\"enter image description here\"></p>",
      "rawMarkdown": "applying CNN over time. \n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/425468/10701/drop_strokes.png",
      "votes": 2
    },
    {
      "id": 411007,
      "postDate": "2018-10-27T06:57:21.880Z",
      "content": "<p>I tried two branches(CNN feature+LSTM feature: 0.905), but it is worse than only CNN(0.910)</p>",
      "rawMarkdown": "I tried two branches(CNN feature+LSTM feature: 0.905), but it is worse than only CNN(0.910)",
      "votes": 2,
      "replies": [
        {
          "id": 411935,
          "postDate": "2018-10-29T08:39:23.027Z",
          "content": "<p>Do you have an explanation for this? Also, did you first train the branches separately before training them together?</p>",
          "rawMarkdown": "Do you have an explanation for this? Also, did you first train the branches separately before training them together?",
          "votes": -1
        },
        {
          "id": 411990,
          "postDate": "2018-10-29T11:13:09.937Z",
          "content": "<p>You can check this paper.\n<a href=\"http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/2763.pdf\">SketchMate: Deep Hashing for Million-Scale Human Sketch Retrieval - Peng Xu</a></p>",
          "rawMarkdown": "You can check this paper.\n[SketchMate: Deep Hashing for Million-Scale Human Sketch Retrieval - Peng Xu][1]\n\n\n  [1]: http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/2763.pdf",
          "votes": 1
        },
        {
          "id": 412719,
          "postDate": "2018-10-30T16:57:18.290Z",
          "content": "<p>@Gary Why do they use 224 x 224 x 3, i.e. color images for training? Are they reusing a network pre-trained on color images?</p>",
          "rawMarkdown": "@Gary Why do they use 224 x 224 x 3, i.e. color images for training? Are they reusing a network pre-trained on color images?"
        },
        {
          "id": 415423,
          "postDate": "2018-11-05T05:21:49.003Z",
          "content": "<p>Same here, the RNN branch barely added anything to the performance of the CNN alone. </p>",
          "rawMarkdown": "Same here, the RNN branch barely added anything to the performance of the CNN alone. "
        }
      ]
    },
    {
      "id": 413328,
      "postDate": "2018-10-31T17:57:12.807Z",
      "content": "<p>IDK about using LSTM the image data does not have a temporal dimension.</p>",
      "rawMarkdown": "IDK about using LSTM the image data does not have a temporal dimension.",
      "replies": [
        {
          "id": 413418,
          "postDate": "2018-10-31T22:49:21.343Z",
          "content": "<p>The image doesn't, but the pen stroke data does!</p>",
          "rawMarkdown": "The image doesn't, but the pen stroke data does!"
        }
      ]
    },
    {
      "id": 412114,
      "postDate": "2018-10-29T15:21:44.213Z",
      "content": "<p>same here. CNN tends to perform better</p>",
      "rawMarkdown": "same here. CNN tends to perform better"
    },
    {
      "id": 412006,
      "postDate": "2018-10-29T11:48:58.347Z",
      "content": "<p>tried bidirectional RNN model based on the tensorflow sequence classification tutorial, but the result is pretty bad compared to CNNs... still trying to figure out how to make RNN models work..</p>",
      "rawMarkdown": "tried bidirectional RNN model based on the tensorflow sequence classification tutorial, but the result is pretty bad compared to CNNs... still trying to figure out how to make RNN models work..",
      "replies": [
        {
          "id": 423372,
          "postDate": "2018-11-18T03:55:38.217Z",
          "content": "<p>hi luyaxin, do you have that implementation of tensorflow sequence classification using this competition test data? Is it ok for you to publish those result in kernel? I would like to try this approach, only if it is possible for you to publish that kernel.. Thanks!</p>",
          "rawMarkdown": "hi luyaxin, do you have that implementation of tensorflow sequence classification using this competition test data? Is it ok for you to publish those result in kernel? I would like to try this approach, only if it is possible for you to publish that kernel.. Thanks!",
          "votes": 1
        },
        {
          "id": 423742,
          "postDate": "2018-11-19T01:04:07.370Z",
          "content": "<p>hi, you can find the RNN drawing tutorial here:\n<a href=\"https://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw\">https://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw</a></p>",
          "rawMarkdown": "hi, you can find the RNN drawing tutorial here:\nhttps://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw"
        }
      ]
    },
    {
      "id": 411257,
      "postDate": "2018-10-27T17:57:37.613Z",
      "content": "<p>I got better result with convnets too.  But the learning curve for LSTM is better ( much smaller gap between train and validation loss). May be I need to train it more.</p>",
      "rawMarkdown": "I got better result with convnets too.  But the learning curve for LSTM is better ( much smaller gap between train and validation loss). May be I need to train it more.",
      "replies": [
        {
          "id": 411368,
          "postDate": "2018-10-28T00:47:08.787Z",
          "content": "<p>Hi, Serigne. you used conv1d+lstm?</p>",
          "rawMarkdown": "Hi, Serigne. you used conv1d+lstm?"
        },
        {
          "id": 411566,
          "postDate": "2018-10-28T13:28:48.690Z",
          "content": "<p>Yes Conv1d and LSTM for the RNN</p>",
          "rawMarkdown": "Yes Conv1d and LSTM for the RNN"
        },
        {
          "id": 412987,
          "postDate": "2018-10-31T05:08:47.513Z",
          "content": "<p>Sergne - Are you using kaggle kernel? any tips how can it be done with so many records?</p>",
          "rawMarkdown": "Sergne - Are you using kaggle kernel? any tips how can it be done with so many records?"
        },
        {
          "id": 413161,
          "postDate": "2018-10-31T11:57:26.857Z",
          "content": "<p>I splitted tha data into many files and use generator  to feed the NN model</p>\n\n<p>Take a look at these two Beluga kernels </p>\n\n<p><a href=\"https://www.kaggle.com/gaborfodor/shuffle-csvs\">https://www.kaggle.com/gaborfodor/shuffle-csvs</a></p>\n\n<p><a href=\"https://www.kaggle.com/gaborfodor/greyscale-mobilenet-lb-0-892\">https://www.kaggle.com/gaborfodor/greyscale-mobilenet-lb-0-892</a></p>\n\n<p>They are very helpful </p>",
          "rawMarkdown": "I splitted tha data into many files and use generator  to feed the NN model\n\nTake a look at these two Beluga kernels \n \nhttps://www.kaggle.com/gaborfodor/shuffle-csvs\n\nhttps://www.kaggle.com/gaborfodor/greyscale-mobilenet-lb-0-892\n\nThey are very helpful ",
          "votes": 4
        },
        {
          "id": 413173,
          "postDate": "2018-10-31T12:17:38.807Z",
          "content": "<p>Thanks Serigne.\nAre you using any pre trained Model or your custom CNN desIGN.</p>",
          "rawMarkdown": "Thanks Serigne.\nAre you using any pre trained Model or your custom CNN desIGN."
        },
        {
          "id": 413373,
          "postDate": "2018-10-31T20:19:08.430Z",
          "content": "<p>Yes I use pre-trained model....but many pre-trained models do not work really well on this data ( at least in reasonnable amount of time) . </p>\n\n<p>I think if one wanna use pre-trained models, it may be better to pick-up light-weighted model  like mobilenet or others and finetune it,  instead of very deep and wide resnet.   </p>\n\n<p>Imagenet, coco or Pascal-voc pretrained weights can always help for good weight initialization,  even though the dataset is quite big. </p>",
          "rawMarkdown": "Yes I use pre-trained model....but many pre-trained models do not work really well on this data ( at least in reasonnable amount of time) . \n\nI think if one wanna use pre-trained models, it may be better to pick-up light-weighted model  like mobilenet or others and finetune it,  instead of very deep and wide resnet.   \n\nImagenet, coco or Pascal-voc pretrained weights can always help for good weight initialization,  even though the dataset is quite big. ",
          "votes": 1
        },
        {
          "id": 413715,
          "postDate": "2018-11-01T12:10:16.893Z",
          "content": "<p>Thanks Serigne.  are you doing any kind of augmentation ?</p>",
          "rawMarkdown": "Thanks Serigne.  are you doing any kind of augmentation ?"
        },
        {
          "id": 414424,
          "postDate": "2018-11-02T18:24:16.300Z",
          "content": "<p>Not yet for training. </p>\n\n<p>But Test-time augmentation seems to help  a bit. (+0.002 on LB )</p>",
          "rawMarkdown": "Not yet for training. \n\nBut Test-time augmentation seems to help  a bit. (+0.002 on LB )",
          "votes": 1
        }
      ]
    },
    {
      "id": 411252,
      "postDate": "2018-10-27T17:39:42.970Z",
      "content": "<p>my LSTM is around 0.1 less than CNN</p>",
      "rawMarkdown": "my LSTM is around 0.1 less than CNN"
    }
  ],
  "comments": [
    {
      "id": 425073,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2018-11-21T05:13:19.667000",
      "content": "<p>a new paper today:</p>\n\n<p>Sketch-R2CNN: An Attentive Network for Vector Sketch Recognition - Lei Li, arxiv 2018</p>\n\n<p><a href=\"https://arxiv.org/pdf/1811.08170.pdf\">https://arxiv.org/pdf/1811.08170.pdf</a></p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/425073/10697/att.png\" alt=\"enter image description here\"></p>",
      "votes": 8,
      "replies": [
        {
          "id": 431529,
          "author_name": "[he.ai]soulmachine",
          "author_url": "",
          "post_date": "2018-12-02T12:43:19.250000",
          "content": "<p>The author of Sketch-R2CNN hasn't released code yet, is there any other implementations?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 431645,
          "author_name": "Lukasz Grad",
          "author_url": "",
          "post_date": "2018-12-02T17:03:34.433000",
          "content": "<p>I have implemented their solution but it takes long (NRL implemented in TF, not CUDA itself)\n to train and from initial experiments, does not give better results than my own time encoding. However, it certainly is better than no time encoding whatsoever.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 422665,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2018-11-16T15:39:15.247000",
      "content": "<p>verified the following:</p>\n\n<p>LB of \"CNN + lstm \"  (ensemble, best score) &gt; LB of CNN &gt; LB of lstm </p>",
      "votes": 4,
      "replies": [
        {
          "id": 422916,
          "author_name": "Strideradu",
          "author_url": "",
          "post_date": "2018-11-17T03:22:32.227000",
          "content": "<p>So you already have a LSTM model than better than CNN?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 423327,
          "author_name": "Mykhailo Matviiv",
          "author_url": "",
          "post_date": "2018-11-17T23:35:08.953000",
          "content": "<p>I believe <a href=\"/hengck23\">@hengck23</a> just accidentaly made a mistake in the post and he actually meant this:</p>\n\n<p>&gt; LB of \"CNN + lstm \" (ensmble) <strong>&gt;</strong> LB of CNN <strong>&gt;</strong> LB of lstm</p>\n\n<p>But its just my thoughts based on his previous comments about performance of LSTM vs CNN</p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 423343,
          "author_name": "Strideradu",
          "author_url": "",
          "post_date": "2018-11-18T01:03:48.607000",
          "content": "<p>Yes, from his previous comments the LSTM is not as good as CNN</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 423396,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2018-11-18T06:13:44.580000",
          "content": "<p>I corrected the mistake. Thanks </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 420643,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2018-11-13T23:41:40.057000",
      "content": "<p>this is actually not a \"pure\" image recognition problem. We are predicting the target,  and not what the drawing look like.</p>\n\n<p>Hence you may want to pool results over several strokes and decide how to make the final prediction.\nThere can be incomplete drawing if the drawer hit the target within the first few stroke.</p>\n\n<p>in theory, LSTM should handle sequence better than CNN. So I expect LSTM to give better scores. But my experiment results show otherwise, which i am puzzled.</p>\n\n<p>It is interesting to plot out the scores of CNN over time and see how CNN score changes as the strokes are drawn.</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/420643/10675/last_new1.png\" alt=\"enter image description here\"></p>",
      "votes": 4,
      "replies": []
    },
    {
      "id": 425468,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2018-11-21T16:45:05.303000",
      "content": "<p>applying CNN over time. </p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/425468/10701/drop_strokes.png\" alt=\"enter image description here\"></p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 411007,
      "author_name": "Gary",
      "author_url": "",
      "post_date": "2018-10-27T06:57:21.880000",
      "content": "<p>I tried two branches(CNN feature+LSTM feature: 0.905), but it is worse than only CNN(0.910)</p>",
      "votes": 2,
      "replies": [
        {
          "id": 411935,
          "author_name": "Kees van Rooijen",
          "author_url": "",
          "post_date": "2018-10-29T08:39:23.027000",
          "content": "<p>Do you have an explanation for this? Also, did you first train the branches separately before training them together?</p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 411990,
          "author_name": "Gary",
          "author_url": "",
          "post_date": "2018-10-29T11:13:09.937000",
          "content": "<p>You can check this paper.\n<a href=\"http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/2763.pdf\">SketchMate: Deep Hashing for Million-Scale Human Sketch Retrieval - Peng Xu</a></p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 412719,
          "author_name": "Paul Jurczak",
          "author_url": "",
          "post_date": "2018-10-30T16:57:18.290000",
          "content": "<p>@Gary Why do they use 224 x 224 x 3, i.e. color images for training? Are they reusing a network pre-trained on color images?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 415423,
          "author_name": "HuyenNguyen",
          "author_url": "",
          "post_date": "2018-11-05T05:21:49.003000",
          "content": "<p>Same here, the RNN branch barely added anything to the performance of the CNN alone. </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 413328,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-10-31T17:57:12.807000",
      "content": "<p>IDK about using LSTM the image data does not have a temporal dimension.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 413418,
          "author_name": "Paul Jurczak",
          "author_url": "",
          "post_date": "2018-10-31T22:49:21.343000",
          "content": "<p>The image doesn't, but the pen stroke data does!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 412114,
      "author_name": "Gdd",
      "author_url": "",
      "post_date": "2018-10-29T15:21:44.213000",
      "content": "<p>same here. CNN tends to perform better</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 412006,
      "author_name": "luyaxin",
      "author_url": "",
      "post_date": "2018-10-29T11:48:58.347000",
      "content": "<p>tried bidirectional RNN model based on the tensorflow sequence classification tutorial, but the result is pretty bad compared to CNNs... still trying to figure out how to make RNN models work..</p>",
      "votes": 0,
      "replies": [
        {
          "id": 423372,
          "author_name": "",
          "author_url": "",
          "post_date": "2018-11-18T03:55:38.217000",
          "content": "<p>hi luyaxin, do you have that implementation of tensorflow sequence classification using this competition test data? Is it ok for you to publish those result in kernel? I would like to try this approach, only if it is possible for you to publish that kernel.. Thanks!</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 423742,
          "author_name": "luyaxin",
          "author_url": "",
          "post_date": "2018-11-19T01:04:07.370000",
          "content": "<p>hi, you can find the RNN drawing tutorial here:\n<a href=\"https://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw\">https://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw</a></p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 411257,
      "author_name": "Serigne ",
      "author_url": "",
      "post_date": "2018-10-27T17:57:37.613000",
      "content": "<p>I got better result with convnets too.  But the learning curve for LSTM is better ( much smaller gap between train and validation loss). May be I need to train it more.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 411368,
          "author_name": "Gary",
          "author_url": "",
          "post_date": "2018-10-28T00:47:08.787000",
          "content": "<p>Hi, Serigne. you used conv1d+lstm?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 411566,
          "author_name": "Serigne ",
          "author_url": "",
          "post_date": "2018-10-28T13:28:48.690000",
          "content": "<p>Yes Conv1d and LSTM for the RNN</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 412987,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2018-10-31T05:08:47.513000",
          "content": "<p>Sergne - Are you using kaggle kernel? any tips how can it be done with so many records?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 413161,
          "author_name": "Serigne ",
          "author_url": "",
          "post_date": "2018-10-31T11:57:26.857000",
          "content": "<p>I splitted tha data into many files and use generator  to feed the NN model</p>\n\n<p>Take a look at these two Beluga kernels </p>\n\n<p><a href=\"https://www.kaggle.com/gaborfodor/shuffle-csvs\">https://www.kaggle.com/gaborfodor/shuffle-csvs</a></p>\n\n<p><a href=\"https://www.kaggle.com/gaborfodor/greyscale-mobilenet-lb-0-892\">https://www.kaggle.com/gaborfodor/greyscale-mobilenet-lb-0-892</a></p>\n\n<p>They are very helpful </p>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 413173,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2018-10-31T12:17:38.807000",
          "content": "<p>Thanks Serigne.\nAre you using any pre trained Model or your custom CNN desIGN.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 413373,
          "author_name": "Serigne ",
          "author_url": "",
          "post_date": "2018-10-31T20:19:08.430000",
          "content": "<p>Yes I use pre-trained model....but many pre-trained models do not work really well on this data ( at least in reasonnable amount of time) . </p>\n\n<p>I think if one wanna use pre-trained models, it may be better to pick-up light-weighted model  like mobilenet or others and finetune it,  instead of very deep and wide resnet.   </p>\n\n<p>Imagenet, coco or Pascal-voc pretrained weights can always help for good weight initialization,  even though the dataset is quite big. </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 413715,
          "author_name": "SubikashPal",
          "author_url": "",
          "post_date": "2018-11-01T12:10:16.893000",
          "content": "<p>Thanks Serigne.  are you doing any kind of augmentation ?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 414424,
          "author_name": "Serigne ",
          "author_url": "",
          "post_date": "2018-11-02T18:24:16.300000",
          "content": "<p>Not yet for training. </p>\n\n<p>But Test-time augmentation seems to help  a bit. (+0.002 on LB )</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 411252,
      "author_name": "Giba",
      "author_url": "",
      "post_date": "2018-10-27T17:39:42.970000",
      "content": "<p>my LSTM is around 0.1 less than CNN</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "410996": "So far, my experiment shows that cnn perform better than lstm. Is it the same as yours?",
    "425073": "a new paper today:\n\nSketch-R2CNN: An Attentive Network for Vector Sketch Recognition - Lei Li, arxiv 2018\n\n\nhttps://arxiv.org/pdf/1811.08170.pdf\n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/425073/10697/att.png",
    "422665": "verified the following:\n\nLB of \"CNN + lstm \"  (ensemble, best score) &gt; LB of CNN &gt; LB of lstm \n",
    "420643": "this is actually not a \"pure\" image recognition problem. We are predicting the target,  and not what the drawing look like.\n\nHence you may want to pool results over several strokes and decide how to make the final prediction.\nThere can be incomplete drawing if the drawer hit the target within the first few stroke.\n\nin theory, LSTM should handle sequence better than CNN. So I expect LSTM to give better scores. But my experiment results show otherwise, which i am puzzled.\n\nIt is interesting to plot out the scores of CNN over time and see how CNN score changes as the strokes are drawn.\n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/420643/10675/last_new1.png",
    "425468": "applying CNN over time. \n\n   ![enter image description here][1]\n\n\n  [1]: https://storage.googleapis.com/kaggle-forum-message-attachments/425468/10701/drop_strokes.png",
    "411007": "I tried two branches(CNN feature+LSTM feature: 0.905), but it is worse than only CNN(0.910)",
    "413328": "IDK about using LSTM the image data does not have a temporal dimension.",
    "412114": "same here. CNN tends to perform better",
    "412006": "tried bidirectional RNN model based on the tensorflow sequence classification tutorial, but the result is pretty bad compared to CNNs... still trying to figure out how to make RNN models work..",
    "411257": "I got better result with convnets too.  But the learning curve for LSTM is better ( much smaller gap between train and validation loss). May be I need to train it more.",
    "411252": "my LSTM is around 0.1 less than CNN"
  }
}