{
  "id": 165095,
  "title": "Can I train the model locally and upload weights to notebook?",
  "url": "/competitions/osic-pulmonary-fibrosis-progression/discussion/165095",
  "author_name": "",
  "post_date": "2020-07-08T14:48:14.470843400Z",
  "votes": 1,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Hello\nCan I train the model locally on my PC, and then upload the model's weights to make prediction and submissions using Kaggle notebooks? Or do I have to train the model and make predictions (all within 4 hours with GPU kernel) using Kaggle notebooks only?</p>",
  "messages": [
    {
      "id": "920370",
      "postDate": "07/08/2020 14:48:14",
      "content": "<p>Hello\nCan I train the model locally on my PC, and then upload the model's weights to make prediction and submissions using Kaggle notebooks? Or do I have to train the model and make predictions (all within 4 hours with GPU kernel) using Kaggle notebooks only?</p>",
      "rawMarkdown": "Hello\nCan I train the model locally on my PC, and then upload the model's weights to make prediction and submissions using Kaggle notebooks? Or do I have to train the model and make predictions (all within 4 hours with GPU kernel) using Kaggle notebooks only?",
      "votes": null
    },
    {
      "id": "920400",
      "postDate": "07/08/2020 15:11:42",
      "content": "<p>If you use pretrained models or weights that are not created from a kernel you have to make the dataset with your models/weights publicly available.\n<a href=\"https://www.kaggle.com/c/osic-pulmonary-fibrosis-progression/overview/code-requirements\">Here</a> are the official rules</p>",
      "rawMarkdown": "If you use pretrained models or weights that are not created from a kernel you have to make the dataset with your models/weights publicly available.\n[Here](https://www.kaggle.com/c/osic-pulmonary-fibrosis-progression/overview/code-requirements) are the official rules",
      "votes": null
    },
    {
      "id": "920924",
      "postDate": "07/08/2020 23:11:22",
      "content": "<p>This is not obvious from the rules, models trained by you (not necessary within the kernel) usually not considered by external data, but worth confirming. In previous competitions it was ok to train models localy and include weights as a part of private dataset for inference in the kernel.</p>",
      "rawMarkdown": "This is not obvious from the rules, models trained by you (not necessary within the kernel) usually not considered by external data, but worth confirming. In previous competitions it was ok to train models localy and include weights as a part of private dataset for inference in the kernel.",
      "votes": null
    },
    {
      "id": "920927",
      "postDate": "07/08/2020 23:25:30",
      "content": "<p>Yes, you are permitted to train locally. You do not need to share/declare that locally trained model as external data. You do need to declare any external datasets that you use to train that model locally. Since this is a code competition, if you train locally, you would upload the trained model(s) as an external data source into your inference notebook on Kaggle to generate a <code>submission.csv</code> in its correct format. This is because your submission must be generated out of a Kaggle notebook. You may then make the submission by navigating to the <code>submission.csv</code> \"Output\" of the notebook in viewer mode, and clicking \"Submit to Competition.\" Also be sure that your submission does not hard code image/patient id's and can generate predictions on the unseen test set, or it will fail when run synchronously against the private test set.</p>",
      "rawMarkdown": "Yes, you are permitted to train locally. You do not need to share/declare that locally trained model as external data. You do need to declare any external datasets that you use to train that model locally. Since this is a code competition, if you train locally, you would upload the trained model(s) as an external data source into your inference notebook on Kaggle to generate a `submission.csv` in its correct format. This is because your submission must be generated out of a Kaggle notebook. You may then make the submission by navigating to the `submission.csv` \"Output\" of the notebook in viewer mode, and clicking \"Submit to Competition.\" Also be sure that your submission does not hard code image/patient id's and can generate predictions on the unseen test set, or it will fail when run synchronously against the private test set.",
      "votes": null
    },
    {
      "id": "945278",
      "postDate": "07/25/2020 17:42:42",
      "content": "<p>I think it means that if you are using transfer learning on pretrained weights for e.g. say an inception v3 network by removing last few layers, adding few fully connected layers and training these new parameters, then you need to disclose the model architecture.</p>",
      "rawMarkdown": "I think it means that if you are using transfer learning on pretrained weights for e.g. say an inception v3 network by removing last few layers, adding few fully connected layers and training these new parameters, then you need to disclose the model architecture.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 920400,
      "author_name": "derinformatiker",
      "author_url": "",
      "post_date": "07/08/2020 15:11:42",
      "content": "<p>If you use pretrained models or weights that are not created from a kernel you have to make the dataset with your models/weights publicly available.\n<a href=\"https://www.kaggle.com/c/osic-pulmonary-fibrosis-progression/overview/code-requirements\">Here</a> are the official rules</p>",
      "votes": null,
      "replies": [
        {
          "id": 920924,
          "author_name": "dmytropoplavskiy",
          "author_url": "",
          "post_date": "07/08/2020 23:11:22",
          "content": "<p>This is not obvious from the rules, models trained by you (not necessary within the kernel) usually not considered by external data, but worth confirming. In previous competitions it was ok to train models localy and include weights as a part of private dataset for inference in the kernel.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 945278,
          "author_name": "pyrole",
          "author_url": "",
          "post_date": "07/25/2020 17:42:42",
          "content": "<p>I think it means that if you are using transfer learning on pretrained weights for e.g. say an inception v3 network by removing last few layers, adding few fully connected layers and training these new parameters, then you need to disclose the model architecture.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 920927,
      "author_name": "juliaelliott",
      "author_url": "",
      "post_date": "07/08/2020 23:25:30",
      "content": "<p>Yes, you are permitted to train locally. You do not need to share/declare that locally trained model as external data. You do need to declare any external datasets that you use to train that model locally. Since this is a code competition, if you train locally, you would upload the trained model(s) as an external data source into your inference notebook on Kaggle to generate a <code>submission.csv</code> in its correct format. This is because your submission must be generated out of a Kaggle notebook. You may then make the submission by navigating to the <code>submission.csv</code> \"Output\" of the notebook in viewer mode, and clicking \"Submit to Competition.\" Also be sure that your submission does not hard code image/patient id's and can generate predictions on the unseen test set, or it will fail when run synchronously against the private test set.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "920370": "Hello\nCan I train the model locally on my PC, and then upload the model's weights to make prediction and submissions using Kaggle notebooks? Or do I have to train the model and make predictions (all within 4 hours with GPU kernel) using Kaggle notebooks only?",
    "920400": "If you use pretrained models or weights that are not created from a kernel you have to make the dataset with your models/weights publicly available.\n[Here](https://www.kaggle.com/c/osic-pulmonary-fibrosis-progression/overview/code-requirements) are the official rules",
    "920924": "This is not obvious from the rules, models trained by you (not necessary within the kernel) usually not considered by external data, but worth confirming. In previous competitions it was ok to train models localy and include weights as a part of private dataset for inference in the kernel.",
    "920927": "Yes, you are permitted to train locally. You do not need to share/declare that locally trained model as external data. You do need to declare any external datasets that you use to train that model locally. Since this is a code competition, if you train locally, you would upload the trained model(s) as an external data source into your inference notebook on Kaggle to generate a `submission.csv` in its correct format. This is because your submission must be generated out of a Kaggle notebook. You may then make the submission by navigating to the `submission.csv` \"Output\" of the notebook in viewer mode, and clicking \"Submit to Competition.\" Also be sure that your submission does not hard code image/patient id's and can generate predictions on the unseen test set, or it will fail when run synchronously against the private test set.",
    "945278": "I think it means that if you are using transfer learning on pretrained weights for e.g. say an inception v3 network by removing last few layers, adding few fully connected layers and training these new parameters, then you need to disclose the model architecture."
  },
  "source": "meta"
}