{
  "id": 20094,
  "title": "0.74081 with Caffe",
  "url": "/competitions/state-farm-distracted-driver-detection/discussion/20094",
  "author_name": "",
  "post_date": "2016-04-12T18:49:12.447Z",
  "votes": 3,
  "comment_count": 7,
  "views": 3021,
  "content": "<p>Here's my half-baked code to produce a score of 0.74081 with the (almost) vanilla bvlc_googlenet coming with Caffe.</p>\n\n<p><a href=\"https://github.com/aaalgo/kaggle-driver\">https://github.com/aaalgo/kaggle-driver</a></p>\n\n<p>The code is probably not going to build and run easily due to various dependencies and lack of documentation.  I'm posting this to see if I can attract some interest in developing and testing a training image streamer project called &quot;picpac&quot;, which can feed augmented training images to caffe (fork), mxnet, neon, theano in a consistent and reproducible way.</p>\n\n<p>UPDATE:\nAccording to this thread (<a href=\"https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb\">https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb</a>), cross validation should be done by randomly splitting the drivers.  Randomly splitting the training images, as is done in my code, leads to substantial under-estimation of testing error.</p>",
  "messages": [
    {
      "id": "114660",
      "postDate": "04/12/2016 18:49:12",
      "content": "<p>Here's my half-baked code to produce a score of 0.74081 with the (almost) vanilla bvlc_googlenet coming with Caffe.</p>\n\n<p><a href=\"https://github.com/aaalgo/kaggle-driver\">https://github.com/aaalgo/kaggle-driver</a></p>\n\n<p>The code is probably not going to build and run easily due to various dependencies and lack of documentation.  I'm posting this to see if I can attract some interest in developing and testing a training image streamer project called &quot;picpac&quot;, which can feed augmented training images to caffe (fork), mxnet, neon, theano in a consistent and reproducible way.</p>\n\n<p>UPDATE:\nAccording to this thread (<a href=\"https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb\">https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb</a>), cross validation should be done by randomly splitting the drivers.  Randomly splitting the training images, as is done in my code, leads to substantial under-estimation of testing error.</p>",
      "rawMarkdown": "Here's my half-baked code to produce a score of 0.74081 with the (almost) vanilla bvlc_googlenet coming with Caffe.\r\n\r\nhttps://github.com/aaalgo/kaggle-driver\r\n\r\nThe code is probably not going to build and run easily due to various dependencies and lack of documentation.  I'm posting this to see if I can attract some interest in developing and testing a training image streamer project called \"picpac\", which can feed augmented training images to caffe (fork), mxnet, neon, theano in a consistent and reproducible way.\r\n\r\nUPDATE:\r\nAccording to this thread (https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb), cross validation should be done by randomly splitting the drivers.  Randomly splitting the training images, as is done in my code, leads to substantial under-estimation of testing error.",
      "votes": null
    },
    {
      "id": "114668",
      "postDate": "04/12/2016 19:46:08",
      "content": "<p>Speaking of half-baked, here is my caffe attempt: I started with using the bvlc_reference_caffenet.caffemodel, and now I'm using the google one you're using.</p>\n\n<p><a href=\"https://github.com/eddyod/stateFarm\">https://github.com/eddyod/stateFarm</a></p>\n\n<p>It got around 1.5 on the LB.</p>",
      "rawMarkdown": "Speaking of half-baked, here is my caffe attempt: I started with using the bvlc_reference_caffenet.caffemodel, and now I'm using the google one you're using.\r\n\r\nhttps://github.com/eddyod/stateFarm\r\n\r\nIt got around 1.5 on the LB.",
      "votes": null
    },
    {
      "id": "114669",
      "postDate": "04/12/2016 19:50:14",
      "content": "<p>When I train from scratch, caffenet (and alexnet) has always been converging very slowly for me on small dataset.  GoogLeNet works much better when trained from scratch.  Both seem to work well with fine-tuning.</p>",
      "rawMarkdown": "When I train from scratch, caffenet (and alexnet) has always been converging very slowly for me on small dataset.  GoogLeNet works much better when trained from scratch.  Both seem to work well with fine-tuning.",
      "votes": null
    },
    {
      "id": "114693",
      "postDate": "04/12/2016 22:30:19",
      "content": "<p>Wei Dong, Thank you for posting this.</p>\n\n<p>Was this trained from scratch or was it based on fine-tuning from Caffe's pretrained models?</p>\n\n<p>Could you post an example of the training history (loss/accuracy over time)?</p>",
      "rawMarkdown": "Wei Dong, Thank you for posting this.\r\n\r\nWas this trained from scratch or was it based on fine-tuning from Caffe's pretrained models?\r\n\r\nCould you post an example of the training history (loss/accuracy over time)?",
      "votes": null
    },
    {
      "id": "114746",
      "postDate": "04/13/2016 13:09:53",
      "content": "<p>I cannot find the original one, but here's a partial log when I run caffe with the same configuration.</p>",
      "rawMarkdown": "I cannot find the original one, but here's a partial log when I run caffe with the same configuration.",
      "votes": null
    },
    {
      "id": "114828",
      "postDate": "04/14/2016 01:26:43",
      "content": "<p>@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)</p>",
      "rawMarkdown": "Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)",
      "votes": null
    },
    {
      "id": "114857",
      "postDate": "04/14/2016 11:57:53",
      "content": "<p>I was talking about my past experience about fine-tune trying to explain the gap between caffenet and googlenet.  This model is trained from scratch.</p>",
      "rawMarkdown": "I was talking about my past experience about fine-tune trying to explain the gap between caffenet and googlenet.  This model is trained from scratch.",
      "votes": null
    },
    {
      "id": "116857",
      "postDate": "04/26/2016 10:06:51",
      "content": "<p>[quote=Jeremy Howard;114828]</p>\n\n<p>@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)</p>\n\n<p>[/quote]</p>\n\n<p>The rules allow pre-trained models which are available for everybody</p>",
      "rawMarkdown": "[quote=Jeremy Howard;114828]\r\n\r\n@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)\r\n\r\n[/quote]\r\n\r\nThe rules allow pre-trained models which are available for everybody",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 114668,
      "author_name": "eddyod",
      "author_url": "",
      "post_date": "04/12/2016 19:46:08",
      "content": "<p>Speaking of half-baked, here is my caffe attempt: I started with using the bvlc_reference_caffenet.caffemodel, and now I'm using the google one you're using.</p>\n\n<p><a href=\"https://github.com/eddyod/stateFarm\">https://github.com/eddyod/stateFarm</a></p>\n\n<p>It got around 1.5 on the LB.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114669,
      "author_name": "aaalgo",
      "author_url": "",
      "post_date": "04/12/2016 19:50:14",
      "content": "<p>When I train from scratch, caffenet (and alexnet) has always been converging very slowly for me on small dataset.  GoogLeNet works much better when trained from scratch.  Both seem to work well with fine-tuning.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114693,
      "author_name": "aizvorski",
      "author_url": "",
      "post_date": "04/12/2016 22:30:19",
      "content": "<p>Wei Dong, Thank you for posting this.</p>\n\n<p>Was this trained from scratch or was it based on fine-tuning from Caffe's pretrained models?</p>\n\n<p>Could you post an example of the training history (loss/accuracy over time)?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114746,
      "author_name": "aaalgo",
      "author_url": "",
      "post_date": "04/13/2016 13:09:53",
      "content": "<p>I cannot find the original one, but here's a partial log when I run caffe with the same configuration.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114828,
      "author_name": "jhoward",
      "author_url": "",
      "post_date": "04/14/2016 01:26:43",
      "content": "<p>@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114857,
      "author_name": "aaalgo",
      "author_url": "",
      "post_date": "04/14/2016 11:57:53",
      "content": "<p>I was talking about my past experience about fine-tune trying to explain the gap between caffenet and googlenet.  This model is trained from scratch.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 116857,
      "author_name": "biagio90",
      "author_url": "",
      "post_date": "04/26/2016 10:06:51",
      "content": "<p>[quote=Jeremy Howard;114828]</p>\n\n<p>@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)</p>\n\n<p>[/quote]</p>\n\n<p>The rules allow pre-trained models which are available for everybody</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "114660": "Here's my half-baked code to produce a score of 0.74081 with the (almost) vanilla bvlc_googlenet coming with Caffe.\r\n\r\nhttps://github.com/aaalgo/kaggle-driver\r\n\r\nThe code is probably not going to build and run easily due to various dependencies and lack of documentation.  I'm posting this to see if I can attract some interest in developing and testing a training image streamer project called \"picpac\", which can feed augmented training images to caffe (fork), mxnet, neon, theano in a consistent and reproducible way.\r\n\r\nUPDATE:\r\nAccording to this thread (https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/20025/cv-vs-lb), cross validation should be done by randomly splitting the drivers.  Randomly splitting the training images, as is done in my code, leads to substantial under-estimation of testing error.",
    "114668": "Speaking of half-baked, here is my caffe attempt: I started with using the bvlc_reference_caffenet.caffemodel, and now I'm using the google one you're using.\r\n\r\nhttps://github.com/eddyod/stateFarm\r\n\r\nIt got around 1.5 on the LB.",
    "114669": "When I train from scratch, caffenet (and alexnet) has always been converging very slowly for me on small dataset.  GoogLeNet works much better when trained from scratch.  Both seem to work well with fine-tuning.",
    "114693": "Wei Dong, Thank you for posting this.\r\n\r\nWas this trained from scratch or was it based on fine-tuning from Caffe's pretrained models?\r\n\r\nCould you post an example of the training history (loss/accuracy over time)?",
    "114746": "I cannot find the original one, but here's a partial log when I run caffe with the same configuration.",
    "114828": "Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)",
    "114857": "I was talking about my past experience about fine-tune trying to explain the gap between caffenet and googlenet.  This model is trained from scratch.",
    "116857": "[quote=Jeremy Howard;114828]\r\n\r\n@Wei Dong - note that the rules of this competition don't allow any use of pre-trained nets, so you can't use fine tuning either. Just thought I'd mention it so you don't waste any time on an approach that you won't be able to submit!... :)\r\n\r\n[/quote]\r\n\r\nThe rules allow pre-trained models which are available for everybody"
  },
  "source": "meta"
}