{
  "id": 89812,
  "title": "Cannot submit file from inference kernel if the dataset comes from a kernel",
  "url": "/competitions/freesound-audio-tagging-2019/discussion/89812",
  "author_name": "",
  "post_date": "2019-04-17T19:43:07.815739700Z",
  "votes": 5,
  "comment_count": 11,
  "views": 0,
  "content": "<p>I trained a model in a separate kernel and created a new kernel from the output files of the dataset. In this kernel I did preprocessing and inference on the test set and created my submission file. However, I could not submit the file as it says that \"external data is not allowed\". However, if I create a dataset from the files in my training kernel and use that in my inference kernel, it works.</p>\n\n<p>Is it possible to fix this problem? I am hoping someone on the Kaggle Team could fix this? It would make it easier to make training-inference pipelines for this competition.</p>\n\n<p><strong>EDIT:</strong>  Since it seems I wasn't clear, I will show what I was doing more clearly with some screenshots.</p>\n\n<p>I first trained a model in a kernel and went to the output section where I pressed the \"New Kernel\" button:</p>\n\n<p><img src=\"https://i.imgur.com/0FliVb4.png\" alt=\"creating inference kernel\"></p>\n\n<p>I created a kernel with this, but it only had the files from the kernel so I added the competition dataset. I did inference in this new kernel and got the following output which I couldn't submit:</p>\n\n<p><img src=\"https://imgur.com/MJmpfVa.png\" alt=\"trying to submit\"></p>",
  "messages": [
    {
      "id": "518786",
      "postDate": "04/17/2019 19:43:07",
      "content": "<p>I trained a model in a separate kernel and created a new kernel from the output files of the dataset. In this kernel I did preprocessing and inference on the test set and created my submission file. However, I could not submit the file as it says that \"external data is not allowed\". However, if I create a dataset from the files in my training kernel and use that in my inference kernel, it works.</p>\n\n<p>Is it possible to fix this problem? I am hoping someone on the Kaggle Team could fix this? It would make it easier to make training-inference pipelines for this competition.</p>\n\n<p><strong>EDIT:</strong>  Since it seems I wasn't clear, I will show what I was doing more clearly with some screenshots.</p>\n\n<p>I first trained a model in a kernel and went to the output section where I pressed the \"New Kernel\" button:</p>\n\n<p><img src=\"https://i.imgur.com/0FliVb4.png\" alt=\"creating inference kernel\"></p>\n\n<p>I created a kernel with this, but it only had the files from the kernel so I added the competition dataset. I did inference in this new kernel and got the following output which I couldn't submit:</p>\n\n<p><img src=\"https://imgur.com/MJmpfVa.png\" alt=\"trying to submit\"></p>",
      "rawMarkdown": "I trained a model in a separate kernel and created a new kernel from the output files of the dataset. In this kernel I did preprocessing and inference on the test set and created my submission file. However, I could not submit the file as it says that \"external data is not allowed\". However, if I create a dataset from the files in my training kernel and use that in my inference kernel, it works.\n\nIs it possible to fix this problem? I am hoping someone on the Kaggle Team could fix this? It would make it easier to make training-inference pipelines for this competition.\n\n**EDIT:**  Since it seems I wasn't clear, I will show what I was doing more clearly with some screenshots.\n\nI first trained a model in a kernel and went to the output section where I pressed the \"New Kernel\" button:\n\n![creating inference kernel](https://i.imgur.com/0FliVb4.png)\n\nI created a kernel with this, but it only had the files from the kernel so I added the competition dataset. I did inference in this new kernel and got the following output which I couldn't submit:\n\n![trying to submit](https://imgur.com/MJmpfVa.png)",
      "votes": null
    },
    {
      "id": "518805",
      "postDate": "04/17/2019 20:53:49",
      "content": "<p>External data and pre-trained models are not allowed in this competition.\nyou can read the FAQ for kernel-only competitions:\n<a href=\"https://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements\">https://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements</a></p>\n\n<p>Hope this helps!</p>",
      "rawMarkdown": "External data and pre-trained models are not allowed in this competition.\nyou can read the FAQ for kernel-only competitions:\nhttps://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements\n\nHope this helps!",
      "votes": null
    },
    {
      "id": "518826",
      "postDate": "04/17/2019 22:12:19",
      "content": "<p>Actually this approach is not violating the rules. I would recommend reading the discussion over <a href=\"https://www.kaggle.com/c/freesound-audio-tagging-2019/discussion/88064#latest-518145\">here</a></p>",
      "rawMarkdown": "Actually this approach is not violating the rules. I would recommend reading the discussion over [here](https://www.kaggle.com/c/freesound-audio-tagging-2019/discussion/88064#latest-518145)",
      "votes": null
    },
    {
      "id": "518831",
      "postDate": "04/17/2019 22:32:20",
      "content": "<p>Do you mean that using kernel output is ok, using a dataset which is created from the kernel output  is not ok? Just for clearification!</p>",
      "rawMarkdown": "Do you mean that using kernel output is ok, using a dataset which is created from the kernel output  is not ok? Just for clearification!",
      "votes": null
    },
    {
      "id": "518835",
      "postDate": "04/17/2019 22:38:54",
      "content": "<p><a href=\"/addisonhoward\">@addisonhoward</a> since I'm not sure I follow what is going wrong.</p>\n\n<p>What do you mean exactly when you say you \"created a new kernel from the output files of the dataset\"? Are you forking the training kernel to make an inference kernel?</p>\n\n<p>Downloading the trained model from a training kernel, uploading it again to create a new dataset, and then attaching that dataset to a kernel for submission, should work. </p>\n\n<p>I'm not sure whether forking somehow makes a kernel invalid for submission.</p>",
      "rawMarkdown": "addisonhoward since I'm not sure I follow what is going wrong.\n\nWhat do you mean exactly when you say you \"created a new kernel from the output files of the dataset\"? Are you forking the training kernel to make an inference kernel?\n\nDownloading the trained model from a training kernel, uploading it again to create a new dataset, and then attaching that dataset to a kernel for submission, should work. \n\nI'm not sure whether forking somehow makes a kernel invalid for submission.",
      "votes": null
    },
    {
      "id": "518847",
      "postDate": "04/17/2019 23:36:13",
      "content": "<p>I maybe encountered the same situation. When I add a dataset  from my kernel through \"Kernel Output Files\" tab to inference kernel, the final result file cannot be submitted.</p>",
      "rawMarkdown": "I maybe encountered the same situation. When I add a dataset  from my kernel through \"Kernel Output Files\" tab to inference kernel, the final result file cannot be submitted.",
      "votes": null
    },
    {
      "id": "518965",
      "postDate": "04/18/2019 06:44:34",
      "content": "<p>Actually, the opposite! Please see my edit. Hopefully that clears it up.</p>",
      "rawMarkdown": "Actually, the opposite! Please see my edit. Hopefully that clears it up.",
      "votes": null
    },
    {
      "id": "518967",
      "postDate": "04/18/2019 06:48:27",
      "content": "<p>Actually, I made a kernel from the training kernel's output files. Please see my edit. Hopefully, that clears it up.</p>\n\n<p>Uploading the files as a new dataset works, but I thought the approach I outlined in my post would be easier.</p>",
      "rawMarkdown": "Actually, I made a kernel from the training kernel's output files. Please see my edit. Hopefully, that clears it up.\n\nUploading the files as a new dataset works, but I thought the approach I outlined in my post would be easier.",
      "votes": null
    },
    {
      "id": "522789",
      "postDate": "04/25/2019 03:15:18",
      "content": "<p>Any update on this?</p>",
      "rawMarkdown": "Any update on this?",
      "votes": null
    },
    {
      "id": "524746",
      "postDate": "04/29/2019 13:07:19",
      "content": "<p>Also input kernels can't use kernel outputs as data sources. Why? It seems arbitrarily restrictive. I understand that I'm \"welcome to use local machine\" to do the training, but what if I don't have a good local machine? Kernel competitions just aren't what they used to be.</p>",
      "rawMarkdown": "Also input kernels can't use kernel outputs as data sources. Why? It seems arbitrarily restrictive. I understand that I'm \"welcome to use local machine\" to do the training, but what if I don't have a good local machine? Kernel competitions just aren't what they used to be.",
      "votes": null
    },
    {
      "id": "524977",
      "postDate": "04/29/2019 22:23:01",
      "content": "<p>If I understand correctly, you are having the same problem as I mentioned in this post, correct? Clearly this is affecting many participants and I hope we will receive an answer from the competition hosts <a href=\"/plakal\">@plakal</a> <a href=\"/addisonhoward\">@addisonhoward</a> </p>",
      "rawMarkdown": "If I understand correctly, you are having the same problem as I mentioned in this post, correct? Clearly this is affecting many participants and I hope we will receive an answer from the competition hosts @plakal @addisonhoward",
      "votes": null
    },
    {
      "id": "526301",
      "postDate": "05/02/2019 19:01:38",
      "content": "<p>Hi all,</p>\n\n<p>Kernels may be used as inputs into your submission kernel. Beware that only the submission kernel itself will be re-run on the private test set. The input kernels' versions committed at time of submission will be static.</p>\n\n<p>That said, if you'd like to use kernels for training for you model, you can train a kernel, save the model, input that into a new kernel.</p>\n\n<p>We're exploring additional options that may make this experience better/more fluid for users, and will report back when we've reached a conclusion.</p>",
      "rawMarkdown": "Hi all,\n\nKernels may be used as inputs into your submission kernel. Beware that only the submission kernel itself will be re-run on the private test set. The input kernels' versions committed at time of submission will be static.\n\nThat said, if you'd like to use kernels for training for you model, you can train a kernel, save the model, input that into a new kernel.\n\nWe're exploring additional options that may make this experience better/more fluid for users, and will report back when we've reached a conclusion.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 518805,
      "author_name": "deepak525",
      "author_url": "",
      "post_date": "04/17/2019 20:53:49",
      "content": "<p>External data and pre-trained models are not allowed in this competition.\nyou can read the FAQ for kernel-only competitions:\n<a href=\"https://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements\">https://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements</a></p>\n\n<p>Hope this helps!</p>",
      "votes": null,
      "replies": [
        {
          "id": 518826,
          "author_name": "tanlikesmath",
          "author_url": "",
          "post_date": "04/17/2019 22:12:19",
          "content": "<p>Actually this approach is not violating the rules. I would recommend reading the discussion over <a href=\"https://www.kaggle.com/c/freesound-audio-tagging-2019/discussion/88064#latest-518145\">here</a></p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 518831,
      "author_name": "hidehisaarai1213",
      "author_url": "",
      "post_date": "04/17/2019 22:32:20",
      "content": "<p>Do you mean that using kernel output is ok, using a dataset which is created from the kernel output  is not ok? Just for clearification!</p>",
      "votes": null,
      "replies": [
        {
          "id": 518965,
          "author_name": "tanlikesmath",
          "author_url": "",
          "post_date": "04/18/2019 06:44:34",
          "content": "<p>Actually, the opposite! Please see my edit. Hopefully that clears it up.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 518835,
      "author_name": "plakal",
      "author_url": "",
      "post_date": "04/17/2019 22:38:54",
      "content": "<p><a href=\"/addisonhoward\">@addisonhoward</a> since I'm not sure I follow what is going wrong.</p>\n\n<p>What do you mean exactly when you say you \"created a new kernel from the output files of the dataset\"? Are you forking the training kernel to make an inference kernel?</p>\n\n<p>Downloading the trained model from a training kernel, uploading it again to create a new dataset, and then attaching that dataset to a kernel for submission, should work. </p>\n\n<p>I'm not sure whether forking somehow makes a kernel invalid for submission.</p>",
      "votes": null,
      "replies": [
        {
          "id": 518967,
          "author_name": "tanlikesmath",
          "author_url": "",
          "post_date": "04/18/2019 06:48:27",
          "content": "<p>Actually, I made a kernel from the training kernel's output files. Please see my edit. Hopefully, that clears it up.</p>\n\n<p>Uploading the files as a new dataset works, but I thought the approach I outlined in my post would be easier.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 522789,
          "author_name": "tanlikesmath",
          "author_url": "",
          "post_date": "04/25/2019 03:15:18",
          "content": "<p>Any update on this?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 518847,
      "author_name": "octpath0302",
      "author_url": "",
      "post_date": "04/17/2019 23:36:13",
      "content": "<p>I maybe encountered the same situation. When I add a dataset  from my kernel through \"Kernel Output Files\" tab to inference kernel, the final result file cannot be submitted.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 524746,
      "author_name": "drknope",
      "author_url": "",
      "post_date": "04/29/2019 13:07:19",
      "content": "<p>Also input kernels can't use kernel outputs as data sources. Why? It seems arbitrarily restrictive. I understand that I'm \"welcome to use local machine\" to do the training, but what if I don't have a good local machine? Kernel competitions just aren't what they used to be.</p>",
      "votes": null,
      "replies": [
        {
          "id": 524977,
          "author_name": "tanlikesmath",
          "author_url": "",
          "post_date": "04/29/2019 22:23:01",
          "content": "<p>If I understand correctly, you are having the same problem as I mentioned in this post, correct? Clearly this is affecting many participants and I hope we will receive an answer from the competition hosts <a href=\"/plakal\">@plakal</a> <a href=\"/addisonhoward\">@addisonhoward</a> </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 526301,
          "author_name": "addisonhoward",
          "author_url": "",
          "post_date": "05/02/2019 19:01:38",
          "content": "<p>Hi all,</p>\n\n<p>Kernels may be used as inputs into your submission kernel. Beware that only the submission kernel itself will be re-run on the private test set. The input kernels' versions committed at time of submission will be static.</p>\n\n<p>That said, if you'd like to use kernels for training for you model, you can train a kernel, save the model, input that into a new kernel.</p>\n\n<p>We're exploring additional options that may make this experience better/more fluid for users, and will report back when we've reached a conclusion.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "518786": "I trained a model in a separate kernel and created a new kernel from the output files of the dataset. In this kernel I did preprocessing and inference on the test set and created my submission file. However, I could not submit the file as it says that \"external data is not allowed\". However, if I create a dataset from the files in my training kernel and use that in my inference kernel, it works.\n\nIs it possible to fix this problem? I am hoping someone on the Kaggle Team could fix this? It would make it easier to make training-inference pipelines for this competition.\n\n**EDIT:**  Since it seems I wasn't clear, I will show what I was doing more clearly with some screenshots.\n\nI first trained a model in a kernel and went to the output section where I pressed the \"New Kernel\" button:\n\n![creating inference kernel](https://i.imgur.com/0FliVb4.png)\n\nI created a kernel with this, but it only had the files from the kernel so I added the competition dataset. I did inference in this new kernel and got the following output which I couldn't submit:\n\n![trying to submit](https://imgur.com/MJmpfVa.png)",
    "518805": "External data and pre-trained models are not allowed in this competition.\nyou can read the FAQ for kernel-only competitions:\nhttps://www.kaggle.com/c/freesound-audio-tagging-2019/overview/kernels-requirements\n\nHope this helps!",
    "518826": "Actually this approach is not violating the rules. I would recommend reading the discussion over [here](https://www.kaggle.com/c/freesound-audio-tagging-2019/discussion/88064#latest-518145)",
    "518831": "Do you mean that using kernel output is ok, using a dataset which is created from the kernel output  is not ok? Just for clearification!",
    "518835": "addisonhoward since I'm not sure I follow what is going wrong.\n\nWhat do you mean exactly when you say you \"created a new kernel from the output files of the dataset\"? Are you forking the training kernel to make an inference kernel?\n\nDownloading the trained model from a training kernel, uploading it again to create a new dataset, and then attaching that dataset to a kernel for submission, should work. \n\nI'm not sure whether forking somehow makes a kernel invalid for submission.",
    "518847": "I maybe encountered the same situation. When I add a dataset  from my kernel through \"Kernel Output Files\" tab to inference kernel, the final result file cannot be submitted.",
    "518965": "Actually, the opposite! Please see my edit. Hopefully that clears it up.",
    "518967": "Actually, I made a kernel from the training kernel's output files. Please see my edit. Hopefully, that clears it up.\n\nUploading the files as a new dataset works, but I thought the approach I outlined in my post would be easier.",
    "522789": "Any update on this?",
    "524746": "Also input kernels can't use kernel outputs as data sources. Why? It seems arbitrarily restrictive. I understand that I'm \"welcome to use local machine\" to do the training, but what if I don't have a good local machine? Kernel competitions just aren't what they used to be.",
    "524977": "If I understand correctly, you are having the same problem as I mentioned in this post, correct? Clearly this is affecting many participants and I hope we will receive an answer from the competition hosts @plakal @addisonhoward",
    "526301": "Hi all,\n\nKernels may be used as inputs into your submission kernel. Beware that only the submission kernel itself will be re-run on the private test set. The input kernels' versions committed at time of submission will be static.\n\nThat said, if you'd like to use kernels for training for you model, you can train a kernel, save the model, input that into a new kernel.\n\nWe're exploring additional options that may make this experience better/more fluid for users, and will report back when we've reached a conclusion."
  },
  "source": "meta"
}