{
  "id": 47821,
  "title": "stage-2 question: Is semi-supervise learning allowed?",
  "url": "/competitions/data-science-bowl-2018/discussion/47821",
  "author_name": "hengck23",
  "post_date": "2018-01-19T10:33:05.068000",
  "votes": 6,
  "comment_count": 7,
  "views": 0,
  "content": "<p>I have a good way to mix labelled and unlabelled data to train deep networks. Here is my plan:</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/270957/8305/semi.png\" alt=\"enter image description here\"></p>\n\n<p>Please let me know if such semi-supervise method is allowed for stage-2?</p>\n\n<p>i will submit my code (which is fix). But model weights will be relearned with stage-2 test data.</p>",
  "messages": [
    {
      "id": 270957,
      "postDate": "2018-01-19T10:33:05.067Z",
      "content": "<p>I have a good way to mix labelled and unlabelled data to train deep networks. Here is my plan:</p>\n\n<p><img src=\"https://storage.googleapis.com/kaggle-forum-message-attachments/270957/8305/semi.png\" alt=\"enter image description here\"></p>\n\n<p>Please let me know if such semi-supervise method is allowed for stage-2?</p>\n\n<p>i will submit my code (which is fix). But model weights will be relearned with stage-2 test data.</p>",
      "rawMarkdown": "I have a good way to mix labelled and unlabelled data to train deep networks. Here is my plan:\n\n ![enter image description here][1]\n\nPlease let me know if such semi-supervise method is allowed for stage-2?\n\ni will submit my code (which is fix). But model weights will be relearned with stage-2 test data.\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/270957/8305/semi.png",
      "votes": 6
    },
    {
      "id": 271733,
      "postDate": "2018-01-21T09:12:55.083Z",
      "content": "<p>As far as I understand In the second stage you can train with the stage1 test images. So in the stage 2 you would only use pseudo-labelling on test 2 images</p>",
      "rawMarkdown": "As far as I understand In the second stage you can train with the stage1 test images. So in the stage 2 you would only use pseudo-labelling on test 2 images",
      "votes": 1
    },
    {
      "id": 270984,
      "postDate": "2018-01-19T11:34:27.310Z",
      "content": "<p>I don't see a problem with this - I guess you basically mean pseudo-labelling, which shouldn't be a problem (as long as you don't manually create the labels)</p>\n\n<p>btw. seems they will release stage 1 test labels:</p>\n\n<p>April 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set</p>",
      "rawMarkdown": "I don't see a problem with this - I guess you basically mean pseudo-labelling, which shouldn't be a problem (as long as you don't manually create the labels)\n\nbtw. seems they will release stage 1 test labels:\n\nApril 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set",
      "votes": 1
    },
    {
      "id": 273864,
      "postDate": "2018-01-25T10:49:38.357Z",
      "content": "<p>Please explain to me what does it mean</p>\n\n<p>April 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set. PLEASE NOTE: If you do not make a submission during the second stage of the competition, you will not appear on the final competition leaderboard and you will not receive competition ranking points. </p>\n\n<ol>\n<li>Can we chang our model after April 11?</li>\n<li>What will we do from 11 to 16 April? </li>\n</ol>",
      "rawMarkdown": "Please explain to me what does it mean\n\nApril 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set. PLEASE NOTE: If you do not make a submission during the second stage of the competition, you will not appear on the final competition leaderboard and you will not receive competition ranking points. \n\n1.  Can we chang our model after April 11?\n2. What will we do from 11 to 16 April? ",
      "votes": 2,
      "replies": [
        {
          "id": 273875,
          "postDate": "2018-01-25T12:02:17.713Z",
          "content": "<p>how it usually works in two stage competitions is this:\n- before the 1st stage ends, you will have to upload (through the \"Team\" tab on the top menu) your code - i.e. a zip file with the scripts, model weights etc.)\n- on 11th they will release the \"real\" test set - after this you cannot do any changes to the code</p>\n\n<p>You can only do something which is automated an doesn't need \"coding\", i.e.:\n- if you will prepare beforehand a set of scripts to retrain with the new data, and simply execute those scripts, this should be fine\n- but if you want to change the model architecture, change preprocessing steps etc. - this would not be fine</p>\n\n<p>The basic idea is, that if you're in the top positions, the code that you submitted at the end of stage 1, will be used to create predictions by Kaggle or the organizer, and they will not code those new things in :) If the predictions by this code doesn't match the one which was the \"winning\", you will be probably disqualified or something - never finished in top, so not sure about this :)</p>",
          "rawMarkdown": "how it usually works in two stage competitions is this:\n- before the 1st stage ends, you will have to upload (through the \"Team\" tab on the top menu) your code - i.e. a zip file with the scripts, model weights etc.)\n- on 11th they will release the \"real\" test set - after this you cannot do any changes to the code\n\nYou can only do something which is automated an doesn't need \"coding\", i.e.:\n- if you will prepare beforehand a set of scripts to retrain with the new data, and simply execute those scripts, this should be fine\n- but if you want to change the model architecture, change preprocessing steps etc. - this would not be fine\n\nThe basic idea is, that if you're in the top positions, the code that you submitted at the end of stage 1, will be used to create predictions by Kaggle or the organizer, and they will not code those new things in :) If the predictions by this code doesn't match the one which was the \"winning\", you will be probably disqualified or something - never finished in top, so not sure about this :)\n\n",
          "votes": 3
        },
        {
          "id": 273882,
          "postDate": "2018-01-25T12:23:42.337Z",
          "content": "<p>Thanks! </p>",
          "rawMarkdown": "Thanks! "
        },
        {
          "id": 310525,
          "postDate": "2018-04-07T20:47:51.317Z",
          "content": "<p>Hello,</p>\n\n<p>When uploading our code, how do we deal with open source executables that our code calls? How can the organizers know what programs our code needs to run?</p>\n\n<p>Thanks for any advice.</p>",
          "rawMarkdown": "Hello,\n\nWhen uploading our code, how do we deal with open source executables that our code calls? How can the organizers know what programs our code needs to run?\n\nThanks for any advice."
        }
      ]
    },
    {
      "id": 272269,
      "postDate": "2018-01-22T17:24:01.283Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 271733,
      "author_name": "Guillermo Barbadillo",
      "author_url": "",
      "post_date": "2018-01-21T09:12:55.083000",
      "content": "<p>As far as I understand In the second stage you can train with the stage1 test images. So in the stage 2 you would only use pseudo-labelling on test 2 images</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 270984,
      "author_name": "steelrose",
      "author_url": "",
      "post_date": "2018-01-19T11:34:27.310000",
      "content": "<p>I don't see a problem with this - I guess you basically mean pseudo-labelling, which shouldn't be a problem (as long as you don't manually create the labels)</p>\n\n<p>btw. seems they will release stage 1 test labels:</p>\n\n<p>April 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 273864,
      "author_name": "Mikhail Karchevskiy",
      "author_url": "",
      "post_date": "2018-01-25T10:49:38.357000",
      "content": "<p>Please explain to me what does it mean</p>\n\n<p>April 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set. PLEASE NOTE: If you do not make a submission during the second stage of the competition, you will not appear on the final competition leaderboard and you will not receive competition ranking points. </p>\n\n<ol>\n<li>Can we chang our model after April 11?</li>\n<li>What will we do from 11 to 16 April? </li>\n</ol>",
      "votes": 2,
      "replies": [
        {
          "id": 273875,
          "author_name": "steelrose",
          "author_url": "",
          "post_date": "2018-01-25T12:02:17.713000",
          "content": "<p>how it usually works in two stage competitions is this:\n- before the 1st stage ends, you will have to upload (through the \"Team\" tab on the top menu) your code - i.e. a zip file with the scripts, model weights etc.)\n- on 11th they will release the \"real\" test set - after this you cannot do any changes to the code</p>\n\n<p>You can only do something which is automated an doesn't need \"coding\", i.e.:\n- if you will prepare beforehand a set of scripts to retrain with the new data, and simply execute those scripts, this should be fine\n- but if you want to change the model architecture, change preprocessing steps etc. - this would not be fine</p>\n\n<p>The basic idea is, that if you're in the top positions, the code that you submitted at the end of stage 1, will be used to create predictions by Kaggle or the organizer, and they will not code those new things in :) If the predictions by this code doesn't match the one which was the \"winning\", you will be probably disqualified or something - never finished in top, so not sure about this :)</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 273882,
          "author_name": "Mikhail Karchevskiy",
          "author_url": "",
          "post_date": "2018-01-25T12:23:42.337000",
          "content": "<p>Thanks! </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 310525,
          "author_name": "Eric Zarahn",
          "author_url": "",
          "post_date": "2018-04-07T20:47:51.317000",
          "content": "<p>Hello,</p>\n\n<p>When uploading our code, how do we deal with open source executables that our code calls? How can the organizers know what programs our code needs to run?</p>\n\n<p>Thanks for any advice.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 272269,
      "author_name": "",
      "author_url": "",
      "post_date": "2018-01-22T17:24:01.283000",
      "content": "",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "270957": "I have a good way to mix labelled and unlabelled data to train deep networks. Here is my plan:\n\n ![enter image description here][1]\n\nPlease let me know if such semi-supervise method is allowed for stage-2?\n\ni will submit my code (which is fix). But model weights will be relearned with stage-2 test data.\n\n\n  [1]: https://kaggle2.blob.core.windows.net/forum-message-attachments/270957/8305/semi.png",
    "271733": "As far as I understand In the second stage you can train with the stage1 test images. So in the stage 2 you would only use pseudo-labelling on test 2 images",
    "270984": "I don't see a problem with this - I guess you basically mean pseudo-labelling, which shouldn't be a problem (as long as you don't manually create the labels)\n\nbtw. seems they will release stage 1 test labels:\n\nApril 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set",
    "273864": "Please explain to me what does it mean\n\nApril 11, 2018 - Stage one deadline and stage two data release. Your model must be finalized and uploaded to Kaggle by this deadline. After this deadline, the test set is released, the answers to the validation set are released, and participants make predictions on the test set. PLEASE NOTE: If you do not make a submission during the second stage of the competition, you will not appear on the final competition leaderboard and you will not receive competition ranking points. \n\n1.  Can we chang our model after April 11?\n2. What will we do from 11 to 16 April? ",
    "272269": ""
  }
}