{
  "id": 48608,
  "title": "Submission Issue",
  "url": "/competitions/data-science-bowl-2018/discussion/48608",
  "author_name": "",
  "post_date": "2018-01-30T12:39:42.466722300Z",
  "votes": null,
  "comment_count": 5,
  "views": 0,
  "content": "<p>I'm completely new to any data science competitions. </p>\n\n<p>My first step is just to learn how to submit predictions. </p>\n\n<p>For my first prediction (ever), I stole and modestly modified [Kjetil Åmdal-Sævik]'s<a href=\"https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/comments\">1</a> code with data augmentation, larger image size, and substituted AlphaDropout in the place of Dropout, but when I try to submit this, Kaggle outputs \"Evaluation Exception: The submitted ids must contain all solution ids.\" </p>\n\n<p>To further test this, I made a 100% copy of Kjetil Amdal-Saevik's code, but the solution .csv file still does not contain 4157 prediction rows as the caption below the submission box states as a requirement. </p>\n\n<p>In my Jupyter notebook, from the 100% copy, the outputs all are the same. </p>\n\n<p>Just one difference: I use an AWS gpu instance, so my file paths for the training and testing data are different. <em>Again</em>, all outputs are the same, but the copied code converts the predictions to a csv file with less than 2400 prediction rows. </p>\n\n<p>Does anyone have any idea what's wrong here? Why is the .csv file from @keegils's work not with 4157 prediction rows? </p>",
  "messages": [
    {
      "id": "275994",
      "postDate": "01/30/2018 12:39:42",
      "content": "<p>I'm completely new to any data science competitions. </p>\n\n<p>My first step is just to learn how to submit predictions. </p>\n\n<p>For my first prediction (ever), I stole and modestly modified [Kjetil Åmdal-Sævik]'s<a href=\"https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/comments\">1</a> code with data augmentation, larger image size, and substituted AlphaDropout in the place of Dropout, but when I try to submit this, Kaggle outputs \"Evaluation Exception: The submitted ids must contain all solution ids.\" </p>\n\n<p>To further test this, I made a 100% copy of Kjetil Amdal-Saevik's code, but the solution .csv file still does not contain 4157 prediction rows as the caption below the submission box states as a requirement. </p>\n\n<p>In my Jupyter notebook, from the 100% copy, the outputs all are the same. </p>\n\n<p>Just one difference: I use an AWS gpu instance, so my file paths for the training and testing data are different. <em>Again</em>, all outputs are the same, but the copied code converts the predictions to a csv file with less than 2400 prediction rows. </p>\n\n<p>Does anyone have any idea what's wrong here? Why is the .csv file from @keegils's work not with 4157 prediction rows? </p>",
      "rawMarkdown": "I'm completely new to any data science competitions. \n\nMy first step is just to learn how to submit predictions. \n\nFor my first prediction (ever), I stole and modestly modified [Kjetil Åmdal-Sævik]'s[1] code with data augmentation, larger image size, and substituted AlphaDropout in the place of Dropout, but when I try to submit this, Kaggle outputs \"Evaluation Exception: The submitted ids must contain all solution ids.\" \n\nTo further test this, I made a 100% copy of Kjetil Amdal-Saevik's code, but the solution .csv file still does not contain 4157 prediction rows as the caption below the submission box states as a requirement. \n\nIn my Jupyter notebook, from the 100% copy, the outputs all are the same. \n\nJust one difference: I use an AWS gpu instance, so my file paths for the training and testing data are different. *Again*, all outputs are the same, but the copied code converts the predictions to a csv file with less than 2400 prediction rows. \n\nDoes anyone have any idea what's wrong here? Why is the .csv file from @keegils's work not with 4157 prediction rows? \n\n\n  [1]: https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/comments",
      "votes": null
    },
    {
      "id": "275995",
      "postDate": "01/30/2018 12:44:05",
      "content": "<p>This happens when your model doesn't predict nucleis for some images.</p>",
      "rawMarkdown": "This happens when your model doesn't predict nucleis for some images.",
      "votes": null
    },
    {
      "id": "276001",
      "postDate": "01/30/2018 12:51:38",
      "content": "<p>Adding to this answer, your output file probably won't contain 4157 lines, otherwise you will probably get the highest score! Number of lines is not the problem. Your model should predict at least one mask for each image.</p>",
      "rawMarkdown": "Adding to this answer, your output file probably won't contain 4157 lines, otherwise you will probably get the highest score! Number of lines is not the problem. Your model should predict at least one mask for each image.",
      "votes": null
    },
    {
      "id": "276007",
      "postDate": "01/30/2018 13:10:19",
      "content": "<p>The confusing part is when I copy this guy's <a href=\"https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/notebook\">code</a>, his csv file is still has less than 4157 prediction rows. </p>",
      "rawMarkdown": "The confusing part is when I copy this guy's [code][1], his csv file is still has less than 4157 prediction rows. \n\n\n  [1]: https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/notebook",
      "votes": null
    },
    {
      "id": "276012",
      "postDate": "01/30/2018 13:33:21",
      "content": "<p>Number of lines is not an important factor now. Just make sure for each file in <code>stage1_test</code> folder, your model produces one line in the csv file. To do this use:</p>\n\n<p><code>\nsub.groupby('ImageId').ngroup()\n</code></p>\n\n<p>You should get 65 lines (because you have 65 images in the test folder).</p>\n\n<p>If it is not the case, it means your model is not trained well. The notebook you are referring to, does not guarantee that you will get at least a mask for each input. Train it better and it will find something in each image. Then you can submit, and you will get a low score. </p>\n\n<p>Then your journey begins. You will have to detect the right number of objects, and then the right amount of pixels in each mask. Good luck :)</p>",
      "rawMarkdown": "Number of lines is not an important factor now. Just make sure for each file in `stage1_test` folder, your model produces one line in the csv file. To do this use:\n\n```\nsub.groupby('ImageId').ngroup()\n```\n\nYou should get 65 lines (because you have 65 images in the test folder).\n\nIf it is not the case, it means your model is not trained well. The notebook you are referring to, does not guarantee that you will get at least a mask for each input. Train it better and it will find something in each image. Then you can submit, and you will get a low score. \n\nThen your journey begins. You will have to detect the right number of objects, and then the right amount of pixels in each mask. Good luck :)",
      "votes": null
    },
    {
      "id": "276056",
      "postDate": "01/30/2018 16:05:31",
      "content": "<p>Misapplied the Keras ImageDataGenerator. Issue resolved. Thank you Roman Chernenko and Morteza Milani for your replies, for your attention and support. </p>\n\n<p>My journey has begun. </p>",
      "rawMarkdown": "Misapplied the Keras ImageDataGenerator. Issue resolved. Thank you Roman Chernenko and Morteza Milani for your replies, for your attention and support. \n\nMy journey has begun.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 275995,
      "author_name": "ramzes2",
      "author_url": "",
      "post_date": "01/30/2018 12:44:05",
      "content": "<p>This happens when your model doesn't predict nucleis for some images.</p>",
      "votes": null,
      "replies": [
        {
          "id": 276001,
          "author_name": "mrtzmilani",
          "author_url": "",
          "post_date": "01/30/2018 12:51:38",
          "content": "<p>Adding to this answer, your output file probably won't contain 4157 lines, otherwise you will probably get the highest score! Number of lines is not the problem. Your model should predict at least one mask for each image.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 276007,
          "author_name": "wolfman30",
          "author_url": "",
          "post_date": "01/30/2018 13:10:19",
          "content": "<p>The confusing part is when I copy this guy's <a href=\"https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/notebook\">code</a>, his csv file is still has less than 4157 prediction rows. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 276012,
          "author_name": "mrtzmilani",
          "author_url": "",
          "post_date": "01/30/2018 13:33:21",
          "content": "<p>Number of lines is not an important factor now. Just make sure for each file in <code>stage1_test</code> folder, your model produces one line in the csv file. To do this use:</p>\n\n<p><code>\nsub.groupby('ImageId').ngroup()\n</code></p>\n\n<p>You should get 65 lines (because you have 65 images in the test folder).</p>\n\n<p>If it is not the case, it means your model is not trained well. The notebook you are referring to, does not guarantee that you will get at least a mask for each input. Train it better and it will find something in each image. Then you can submit, and you will get a low score. </p>\n\n<p>Then your journey begins. You will have to detect the right number of objects, and then the right amount of pixels in each mask. Good luck :)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 276056,
          "author_name": "wolfman30",
          "author_url": "",
          "post_date": "01/30/2018 16:05:31",
          "content": "<p>Misapplied the Keras ImageDataGenerator. Issue resolved. Thank you Roman Chernenko and Morteza Milani for your replies, for your attention and support. </p>\n\n<p>My journey has begun. </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "275994": "I'm completely new to any data science competitions. \n\nMy first step is just to learn how to submit predictions. \n\nFor my first prediction (ever), I stole and modestly modified [Kjetil Åmdal-Sævik]'s[1] code with data augmentation, larger image size, and substituted AlphaDropout in the place of Dropout, but when I try to submit this, Kaggle outputs \"Evaluation Exception: The submitted ids must contain all solution ids.\" \n\nTo further test this, I made a 100% copy of Kjetil Amdal-Saevik's code, but the solution .csv file still does not contain 4157 prediction rows as the caption below the submission box states as a requirement. \n\nIn my Jupyter notebook, from the 100% copy, the outputs all are the same. \n\nJust one difference: I use an AWS gpu instance, so my file paths for the training and testing data are different. *Again*, all outputs are the same, but the copied code converts the predictions to a csv file with less than 2400 prediction rows. \n\nDoes anyone have any idea what's wrong here? Why is the .csv file from @keegils's work not with 4157 prediction rows? \n\n\n  [1]: https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/comments",
    "275995": "This happens when your model doesn't predict nucleis for some images.",
    "276001": "Adding to this answer, your output file probably won't contain 4157 lines, otherwise you will probably get the highest score! Number of lines is not the problem. Your model should predict at least one mask for each image.",
    "276007": "The confusing part is when I copy this guy's [code][1], his csv file is still has less than 4157 prediction rows. \n\n\n  [1]: https://www.kaggle.com/keegil/keras-u-net-starter-lb-0-277/notebook",
    "276012": "Number of lines is not an important factor now. Just make sure for each file in `stage1_test` folder, your model produces one line in the csv file. To do this use:\n\n```\nsub.groupby('ImageId').ngroup()\n```\n\nYou should get 65 lines (because you have 65 images in the test folder).\n\nIf it is not the case, it means your model is not trained well. The notebook you are referring to, does not guarantee that you will get at least a mask for each input. Train it better and it will find something in each image. Then you can submit, and you will get a low score. \n\nThen your journey begins. You will have to detect the right number of objects, and then the right amount of pixels in each mask. Good luck :)",
    "276056": "Misapplied the Keras ImageDataGenerator. Issue resolved. Thank you Roman Chernenko and Morteza Milani for your replies, for your attention and support. \n\nMy journey has begun."
  },
  "source": "meta"
}