{
  "id": 31250,
  "title": "VGG fine-tune approach",
  "url": "/competitions/intel-mobileodt-cervical-cancer-screening/discussion/31250",
  "author_name": "",
  "post_date": "2017-04-06T19:21:14.080970800Z",
  "votes": 2,
  "comment_count": 7,
  "views": 0,
  "content": "<p>Here I try to use the Vgg pretrained model with keras. But I failed to get a satisfied result. I wanna know your opinions about the Vgg fine-tune approach. Thanks!</p>",
  "messages": [
    {
      "id": "173408",
      "postDate": "04/06/2017 19:21:14",
      "content": "<p>Here I try to use the Vgg pretrained model with keras. But I failed to get a satisfied result. I wanna know your opinions about the Vgg fine-tune approach. Thanks!</p>",
      "rawMarkdown": "Here I try to use the Vgg pretrained model with keras. But I failed to get a satisfied result. I wanna know your opinions about the Vgg fine-tune approach. Thanks!",
      "votes": null
    },
    {
      "id": "173482",
      "postDate": "04/07/2017 03:42:57",
      "content": "<p>Is it allowed to use pre-trained models?</p>",
      "rawMarkdown": "Is it allowed to use pre-trained models?",
      "votes": null
    },
    {
      "id": "173493",
      "postDate": "04/07/2017 05:25:42",
      "content": "<p>yes. You just have to post the models you're using in the pre-trained models thread.</p>",
      "rawMarkdown": "yes. You just have to post the models you're using in the pre-trained models thread.",
      "votes": null
    },
    {
      "id": "173494",
      "postDate": "04/07/2017 05:28:33",
      "content": "<p>VGG fine tuning works ok out of the box. My first submission was a Vgg 16. </p>\n\n<p>Seeing your script, you actually aren't preprocessing your training data according to the VGG requirements. (hint: just use the \"preprocess_input\" method you have already imported) </p>",
      "rawMarkdown": "VGG fine tuning works ok out of the box. My first submission was a Vgg 16. \n\nSeeing your script, you actually aren't preprocessing your training data according to the VGG requirements. (hint: just use the \"preprocess_input\" method you have already imported)",
      "votes": null
    },
    {
      "id": "173505",
      "postDate": "04/07/2017 07:31:15",
      "content": "<p>I've never really understood fine-tuning. Is there a link to a simple example? </p>\n\n<p>Given N images, is the idea to fine-tune all N images in-one-go using a pre-trained model to create a specific pre-trained model for the N images or is it to fine-tune one image at-a-time?</p>",
      "rawMarkdown": "I've never really understood fine-tuning. Is there a link to a simple example? \n\nGiven N images, is the idea to fine-tune all N images in-one-go using a pre-trained model to create a specific pre-trained model for the N images or is it to fine-tune one image at-a-time?",
      "votes": null
    },
    {
      "id": "173924",
      "postDate": "04/09/2017 11:03:51",
      "content": "<p>Fine tuning in terms of transfer learning is the process of initializing a neural network with weights it has learned after being trained on a previous dataset. Typically, the dataset used is imagenet. Features learnt from datasets such as imagenet will be widely applicable for a range of other tasks. That is because low-level image representations tend to be lines, edge detection, colour etc. All of which are applicable to any image classification problem. Only when you have an extremely large and unique dataset that will not possibly benefit from using pre-trained weights would you think of using random weight initialization. </p>\n\n<p>Therefore with transfer learning, you aim to set a low learning rate so you can 'fine-tune' previously obtained weights to a new dataset.</p>",
      "rawMarkdown": "Fine tuning in terms of transfer learning is the process of initializing a neural network with weights it has learned after being trained on a previous dataset. Typically, the dataset used is imagenet. Features learnt from datasets such as imagenet will be widely applicable for a range of other tasks. That is because low-level image representations tend to be lines, edge detection, colour etc. All of which are applicable to any image classification problem. Only when you have an extremely large and unique dataset that will not possibly benefit from using pre-trained weights would you think of using random weight initialization. \n\nTherefore with transfer learning, you aim to set a low learning rate so you can 'fine-tune' previously obtained weights to a new dataset.",
      "votes": null
    },
    {
      "id": "177588",
      "postDate": "04/25/2017 09:17:07",
      "content": "<p>To be honest, I have the same issue. The best I get with vgg16 is 0.59 accuracy on a validation set (of the train without additional data).</p>\n\n<p>I'm a bit surprised that this <a href=\"https://www.kaggle.com/the1owl/intel-mobileodt-cervical-cancer-screening/artificial-intelligence-for-cc-screening\">simple model</a> achieves better results than vgg16 finetuned (at least better than my submissions).</p>",
      "rawMarkdown": "To be honest, I have the same issue. The best I get with vgg16 is 0.59 accuracy on a validation set (of the train without additional data).\n\nI'm a bit surprised that this [simple model](https://www.kaggle.com/the1owl/intel-mobileodt-cervical-cancer-screening/artificial-intelligence-for-cc-screening) achieves better results than vgg16 finetuned (at least better than my submissions).",
      "votes": null
    },
    {
      "id": "179769",
      "postDate": "05/02/2017 19:59:13",
      "content": "<p>I can not get a classifier to train either. I'm getting good localization and I'm able to crop out the cervix. </p>\n\n<p>I wonder what the insight is, specific type of data augmentation, image size or cleaning the training set?</p>",
      "rawMarkdown": "I can not get a classifier to train either. I'm getting good localization and I'm able to crop out the cervix. \n\nI wonder what the insight is, specific type of data augmentation, image size or cleaning the training set?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 173482,
      "author_name": "yusufadeshina",
      "author_url": "",
      "post_date": "04/07/2017 03:42:57",
      "content": "<p>Is it allowed to use pre-trained models?</p>",
      "votes": null,
      "replies": [
        {
          "id": 173493,
          "author_name": "yadavsarthak",
          "author_url": "",
          "post_date": "04/07/2017 05:25:42",
          "content": "<p>yes. You just have to post the models you're using in the pre-trained models thread.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 173494,
      "author_name": "yadavsarthak",
      "author_url": "",
      "post_date": "04/07/2017 05:28:33",
      "content": "<p>VGG fine tuning works ok out of the box. My first submission was a Vgg 16. </p>\n\n<p>Seeing your script, you actually aren't preprocessing your training data according to the VGG requirements. (hint: just use the \"preprocess_input\" method you have already imported) </p>",
      "votes": null,
      "replies": [
        {
          "id": 173505,
          "author_name": "intaka",
          "author_url": "",
          "post_date": "04/07/2017 07:31:15",
          "content": "<p>I've never really understood fine-tuning. Is there a link to a simple example? </p>\n\n<p>Given N images, is the idea to fine-tune all N images in-one-go using a pre-trained model to create a specific pre-trained model for the N images or is it to fine-tune one image at-a-time?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 173924,
          "author_name": "craigglastonbury",
          "author_url": "",
          "post_date": "04/09/2017 11:03:51",
          "content": "<p>Fine tuning in terms of transfer learning is the process of initializing a neural network with weights it has learned after being trained on a previous dataset. Typically, the dataset used is imagenet. Features learnt from datasets such as imagenet will be widely applicable for a range of other tasks. That is because low-level image representations tend to be lines, edge detection, colour etc. All of which are applicable to any image classification problem. Only when you have an extremely large and unique dataset that will not possibly benefit from using pre-trained weights would you think of using random weight initialization. </p>\n\n<p>Therefore with transfer learning, you aim to set a low learning rate so you can 'fine-tune' previously obtained weights to a new dataset.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 177588,
      "author_name": "deveaup",
      "author_url": "",
      "post_date": "04/25/2017 09:17:07",
      "content": "<p>To be honest, I have the same issue. The best I get with vgg16 is 0.59 accuracy on a validation set (of the train without additional data).</p>\n\n<p>I'm a bit surprised that this <a href=\"https://www.kaggle.com/the1owl/intel-mobileodt-cervical-cancer-screening/artificial-intelligence-for-cc-screening\">simple model</a> achieves better results than vgg16 finetuned (at least better than my submissions).</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 179769,
      "author_name": "florianm",
      "author_url": "",
      "post_date": "05/02/2017 19:59:13",
      "content": "<p>I can not get a classifier to train either. I'm getting good localization and I'm able to crop out the cervix. </p>\n\n<p>I wonder what the insight is, specific type of data augmentation, image size or cleaning the training set?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "173408": "Here I try to use the Vgg pretrained model with keras. But I failed to get a satisfied result. I wanna know your opinions about the Vgg fine-tune approach. Thanks!",
    "173482": "Is it allowed to use pre-trained models?",
    "173493": "yes. You just have to post the models you're using in the pre-trained models thread.",
    "173494": "VGG fine tuning works ok out of the box. My first submission was a Vgg 16. \n\nSeeing your script, you actually aren't preprocessing your training data according to the VGG requirements. (hint: just use the \"preprocess_input\" method you have already imported)",
    "173505": "I've never really understood fine-tuning. Is there a link to a simple example? \n\nGiven N images, is the idea to fine-tune all N images in-one-go using a pre-trained model to create a specific pre-trained model for the N images or is it to fine-tune one image at-a-time?",
    "173924": "Fine tuning in terms of transfer learning is the process of initializing a neural network with weights it has learned after being trained on a previous dataset. Typically, the dataset used is imagenet. Features learnt from datasets such as imagenet will be widely applicable for a range of other tasks. That is because low-level image representations tend to be lines, edge detection, colour etc. All of which are applicable to any image classification problem. Only when you have an extremely large and unique dataset that will not possibly benefit from using pre-trained weights would you think of using random weight initialization. \n\nTherefore with transfer learning, you aim to set a low learning rate so you can 'fine-tune' previously obtained weights to a new dataset.",
    "177588": "To be honest, I have the same issue. The best I get with vgg16 is 0.59 accuracy on a validation set (of the train without additional data).\n\nI'm a bit surprised that this [simple model](https://www.kaggle.com/the1owl/intel-mobileodt-cervical-cancer-screening/artificial-intelligence-for-cc-screening) achieves better results than vgg16 finetuned (at least better than my submissions).",
    "179769": "I can not get a classifier to train either. I'm getting good localization and I'm able to crop out the cervix. \n\nI wonder what the insight is, specific type of data augmentation, image size or cleaning the training set?"
  },
  "source": "meta"
}