{
  "id": 100038,
  "title": "Fold 학습 시 문제점",
  "url": "/competitions/2019-3rd-ml-month-with-kakr/discussion/100038",
  "author_name": "",
  "post_date": "2019-07-16T08:12:23.046510500Z",
  "votes": 5,
  "comment_count": 14,
  "views": 0,
  "content": "<p>colab이나 kaggle kernel을 이용해서 학습시키는 것은 처음인데요.</p>\n\n<p>고수님들께서 공유해주신 K-Fold를 해보고 있는데, 메모리 부족, Session 타임 종료 또는 개인적인 사정으로 인해</p>\n\n<p>커널이 종료되는 혹은 종료할 상황에 마주치게 되는데요.</p>\n\n<p>예를 들어, 1,2 Fold는 정확하게 학습시키고 3-Fold에서 학습 도중 죽었다면 그 후에 커널에서 </p>\n\n<p>어떤 방식으로 다시 학습을 이어나가야 하나요??</p>\n\n<p>1-Fold, 2-Fold를 continue로 생략하고 3-Fold로 바로 가면 학습이 잘 안되는 것 같기도 하구요.</p>\n\n<p>그렇다고 다시 학습시키기엔 시간이 낭비되는 것 같습니다. </p>\n\n<p>감사합니다.</p>",
  "messages": [
    {
      "id": "576979",
      "postDate": "07/16/2019 08:12:23",
      "content": "<p>colab이나 kaggle kernel을 이용해서 학습시키는 것은 처음인데요.</p>\n\n<p>고수님들께서 공유해주신 K-Fold를 해보고 있는데, 메모리 부족, Session 타임 종료 또는 개인적인 사정으로 인해</p>\n\n<p>커널이 종료되는 혹은 종료할 상황에 마주치게 되는데요.</p>\n\n<p>예를 들어, 1,2 Fold는 정확하게 학습시키고 3-Fold에서 학습 도중 죽었다면 그 후에 커널에서 </p>\n\n<p>어떤 방식으로 다시 학습을 이어나가야 하나요??</p>\n\n<p>1-Fold, 2-Fold를 continue로 생략하고 3-Fold로 바로 가면 학습이 잘 안되는 것 같기도 하구요.</p>\n\n<p>그렇다고 다시 학습시키기엔 시간이 낭비되는 것 같습니다. </p>\n\n<p>감사합니다.</p>",
      "rawMarkdown": "colab이나 kaggle kernel을 이용해서 학습시키는 것은 처음인데요.\n\n고수님들께서 공유해주신 K-Fold를 해보고 있는데, 메모리 부족, Session 타임 종료 또는 개인적인 사정으로 인해\n\n커널이 종료되는 혹은 종료할 상황에 마주치게 되는데요.\n\n예를 들어, 1,2 Fold는 정확하게 학습시키고 3-Fold에서 학습 도중 죽었다면 그 후에 커널에서 \n\n어떤 방식으로 다시 학습을 이어나가야 하나요??\n\n1-Fold, 2-Fold를 continue로 생략하고 3-Fold로 바로 가면 학습이 잘 안되는 것 같기도 하구요.\n\n그렇다고 다시 학습시키기엔 시간이 낭비되는 것 같습니다. \n\n감사합니다.",
      "votes": null
    },
    {
      "id": "578282",
      "postDate": "07/17/2019 14:47:29",
      "content": "<p>fold마다 모델을 저장하는 코드를 입력하시고\n새로운 커널 시 fold1,2의 모델을 로드한 후 3,4,5의 모델을 돌리는건 어떠세요?</p>",
      "rawMarkdown": "fold마다 모델을 저장하는 코드를 입력하시고\n새로운 커널 시 fold1,2의 모델을 로드한 후 3,4,5의 모델을 돌리는건 어떠세요?",
      "votes": null
    },
    {
      "id": "578694",
      "postDate": "07/18/2019 03:13:49",
      "content": "<p>답변 감사합니다. </p>\n\n<p>네 그렇게 하고있습니다. 그런데 fold1, 2모델을 따로 로드해줘야하는 이유가 무엇인가요??</p>",
      "rawMarkdown": "답변 감사합니다. \n\n네 그렇게 하고있습니다. 그런데 fold1, 2모델을 따로 로드해줘야하는 이유가 무엇인가요??",
      "votes": null
    },
    {
      "id": "578766",
      "postDate": "07/18/2019 05:55:05",
      "content": "<p>음 저같은경우는 5fold로 하여 가중평균으로 앙상블 하였을 때 정확도가 0.025정도 상승하였습니다.</p>\n\n<p>제가 질문 이해를 못했는데 </p>\n\n<p>fold1,2를 로드 안하시면 fold3,4,5만으로 예측하신다는 말씀이신가요??</p>",
      "rawMarkdown": "음 저같은경우는 5fold로 하여 가중평균으로 앙상블 하였을 때 정확도가 0.025정도 상승하였습니다.\n\n제가 질문 이해를 못했는데 \n\nfold1,2를 로드 안하시면 fold3,4,5만으로 예측하신다는 말씀이신가요??",
      "votes": null
    },
    {
      "id": "578770",
      "postDate": "07/18/2019 06:01:52",
      "content": "<p>아마 fold2까지 하다 커밋이 오류나 시간으로 종료되었다면 \n다시 커밋하실 때 모델은 fold1부터 다시 돌아갑니다.</p>\n\n<p>만약 새롭게 커밋하신다면\nfold1,2를 학습한 모델을 저장하여 로드하시고\nfold3~5까지 학습한 후 </p>\n\n<p>test 셋을 5번 예측후에 가중평균을 할 수있습니다.</p>\n\n<p>중간에 모델저장은 제 커널에 있습니다. 코드랑 output 보시면 이해되실거예요~~</p>\n\n<p>아 그리고 혹시 gpu on 하시고 돌리시나요??   </p>",
      "rawMarkdown": "아마 fold2까지 하다 커밋이 오류나 시간으로 종료되었다면 \n다시 커밋하실 때 모델은 fold1부터 다시 돌아갑니다.\n\n만약 새롭게 커밋하신다면\nfold1,2를 학습한 모델을 저장하여 로드하시고\nfold3~5까지 학습한 후 \n\ntest 셋을 5번 예측후에 가중평균을 할 수있습니다.\n\n중간에 모델저장은 제 커널에 있습니다. 코드랑 output 보시면 이해되실거예요~~\n\n아 그리고 혹시 gpu on 하시고 돌리시나요??",
      "votes": null
    },
    {
      "id": "578805",
      "postDate": "07/18/2019 07:02:23",
      "content": "<p>아 학습 시 중간에 커널이 끊겼을 경우 다시 학습시키는 경우를 말씀드리는 거였습니다. </p>\n\n<p>1, 2 폴드를 생략하고 3폴드부터 학습시키면 되겠네요.</p>\n\n<p>그런데 커널에 대한 질문을 하나 드리고 싶은데요. ../input/model 이나 ../model과 같은 모델을 저장할 경로를 만들어두고 그 다음에 드래프트 세션을 다시 열었을 때 이 경로가 없어져서 모델 저장한 것을 전부 날린 경우가 있었는데 이 부분은 어떻게 해야하나요?? 학습부터 추론까지 9시간 이내에 끝마치게 셋팅을 해두어야할까요??\n(+ 이번에 캐글 커널을 처음 사용해봅니다. 주로 colab이나 로컬을 사용하고 있습니다)</p>",
      "rawMarkdown": "아 학습 시 중간에 커널이 끊겼을 경우 다시 학습시키는 경우를 말씀드리는 거였습니다. \n\n1, 2 폴드를 생략하고 3폴드부터 학습시키면 되겠네요.\n\n그런데 커널에 대한 질문을 하나 드리고 싶은데요. ../input/model 이나 ../model과 같은 모델을 저장할 경로를 만들어두고 그 다음에 드래프트 세션을 다시 열었을 때 이 경로가 없어져서 모델 저장한 것을 전부 날린 경우가 있었는데 이 부분은 어떻게 해야하나요?? 학습부터 추론까지 9시간 이내에 끝마치게 셋팅을 해두어야할까요??\n(+ 이번에 캐글 커널을 처음 사용해봅니다. 주로 colab이나 로컬을 사용하고 있습니다)",
      "votes": null
    },
    {
      "id": "578854",
      "postDate": "07/18/2019 08:08:07",
      "content": "<p>중간에 모델 저장코드를 생성하게되면 fold가 3에서 끝나도 output에는 아마 fold2까지의 모델이 저장될 것 같습니다. 그렇게 되면 그 output 모델을 데스크탑에 저장후 캐글 dataset에 업로드 하신 후 캐글 커널에 있는 +add dataset을 통해 모델을 불러옵니다. </p>\n\n<p>혹시 타임세션이 종료되면 output 결과가 아예 안나오나요?? 그건 잘 몰라서 ㅠㅠ 그렇다면 학습때부터 fold를 나눠야할것같고...</p>",
      "rawMarkdown": "중간에 모델 저장코드를 생성하게되면 fold가 3에서 끝나도 output에는 아마 fold2까지의 모델이 저장될 것 같습니다. 그렇게 되면 그 output 모델을 데스크탑에 저장후 캐글 dataset에 업로드 하신 후 캐글 커널에 있는 +add dataset을 통해 모델을 불러옵니다. \n\n\n혹시 타임세션이 종료되면 output 결과가 아예 안나오나요?? 그건 잘 몰라서 ㅠㅠ 그렇다면 학습때부터 fold를 나눠야할것같고...",
      "votes": null
    },
    {
      "id": "578863",
      "postDate": "07/18/2019 08:19:25",
      "content": "<p>빠른 답변 감사합니다.</p>\n\n<p>그러면 ../input/model 파일을 생성하고 1, 2 fold model파일이 save되어 있을때 desktop으로 어떻게 옮겨야하나요?? 따로 버튼이 있는건지... 못찾겠습니다 ㅠㅠ\n지금 상태가 kaggle 경로에 모델을 저장한 상태에서 그 이후에 어떻게 활용하는지를 모르겠습니다. </p>",
      "rawMarkdown": "빠른 답변 감사합니다.\n\n그러면 ../input/model 파일을 생성하고 1, 2 fold model파일이 save되어 있을때 desktop으로 어떻게 옮겨야하나요?? 따로 버튼이 있는건지... 못찾겠습니다 ㅠㅠ\n지금 상태가 kaggle 경로에 모델을 저장한 상태에서 그 이후에 어떻게 활용하는지를 모르겠습니다.",
      "votes": null
    },
    {
      "id": "578867",
      "postDate": "07/18/2019 08:24:24",
      "content": "<p>음 저의 경우엔 제 baseline 커널 보시면 아웃풋에 모델이 있는데 그걸 다운 받아서 캐글 dataset 에 업로드 후 캐글 커널 add dataset에서 가져옵니다</p>",
      "rawMarkdown": "음 저의 경우엔 제 baseline 커널 보시면 아웃풋에 모델이 있는데 그걸 다운 받아서 캐글 dataset 에 업로드 후 캐글 커널 add dataset에서 가져옵니다",
      "votes": null
    },
    {
      "id": "578904",
      "postDate": "07/18/2019 09:18:26",
      "content": "<p>아하 코드 실행시키는 페이지가 아닌 커널페이지의 아웃풋에서 직접 다운로드 받는 거네요. 이거를 발견 못해서 지금까지.. ㅠㅠ \n허접한 질문에 빠른 답변 너무 감사합니다!!</p>",
      "rawMarkdown": "아하 코드 실행시키는 페이지가 아닌 커널페이지의 아웃풋에서 직접 다운로드 받는 거네요. 이거를 발견 못해서 지금까지.. ㅠㅠ \n허접한 질문에 빠른 답변 너무 감사합니다!!",
      "votes": null
    },
    {
      "id": "578925",
      "postDate": "07/18/2019 09:43:01",
      "content": "<p>아니예요 ㅎㅎ 킵고잉~!</p>",
      "rawMarkdown": "아니예요 ㅎㅎ 킵고잉~!",
      "votes": null
    },
    {
      "id": "578952",
      "postDate": "07/18/2019 10:39:22",
      "content": "<p>다시 오기 싫었는데 단시간에 와버렸네요 ㅠㅠ</p>\n\n<p>검색해서 여러 kaggle 글을 봤지만 해결이 안됩니다.</p>\n\n<p>output tab을 만들려면 어떻게 해야하나요??\n1. input 경로는 read-only이기 때문에 따로 경로를 만든다.\n(그래서 저도 커널을 참고해서 './model/'을 save path로 정해서 저장했습니다)\n2. Commit을 눌러서 반드시 커널을 생성해주어야 한다.</p>\n\n<p>현재 모델 경로에 csv파일을 저장하는 것으로 테스트하고 있습니다. 그 이후에 commit 누르고 open version으로 들어가도 태관님처럼 옆에 output tab이 생기지 않습니다.</p>\n\n<p>어떻게 해야하나요??</p>",
      "rawMarkdown": "다시 오기 싫었는데 단시간에 와버렸네요 ㅠㅠ\n\n검색해서 여러 kaggle 글을 봤지만 해결이 안됩니다.\n\noutput tab을 만들려면 어떻게 해야하나요??\n1. input 경로는 read-only이기 때문에 따로 경로를 만든다.\n(그래서 저도 커널을 참고해서 './model/'을 save path로 정해서 저장했습니다)\n2. Commit을 눌러서 반드시 커널을 생성해주어야 한다.\n\n현재 모델 경로에 csv파일을 저장하는 것으로 테스트하고 있습니다. 그 이후에 commit 누르고 open version으로 들어가도 태관님처럼 옆에 output tab이 생기지 않습니다.\n\n어떻게 해야하나요??",
      "votes": null
    },
    {
      "id": "578969",
      "postDate": "07/18/2019 11:03:45",
      "content": "<p>kaggle kernel commit을 누르면 다음과 같은 로그가 뜨는데, 혹시 이것 때문에 output tab이 생성되지 않는지.. 혹시나 해서 올려봅니다\n<code>Traceback (most recent call last): File \"/opt/conda/bin/jupyter-nbconvert\", line 10, in &lt;module&gt; sys.exit(main()) File \"/opt/conda/lib/python3.6/site-packages/jupyter_core/application.py\", line 267, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) File \"/opt/conda/lib/python3.6/site-packages/traitlets/config/application.py\", line 658, in launch_instance app.start() File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 338, in start self.convert_notebooks() File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 508, in convert_notebooks self.convert_single_notebook(notebook_filename) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 479, in convert_single_notebook output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 408, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 179, in from_filename return self.from_file(f, resources=resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 197, in from_file return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/notebook.py\", line 32, in from_notebook_node nb_copy, resources = super(NotebookExporter, self).from_notebook_node(nb, resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 139, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 316, in _preprocess nbc, resc = preprocessor(nbc, resc) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/base.py\", line 47, in __call__ return self.preprocess(nb, resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 379, in preprocess with self.setup_preprocessor(nb, resources, km=km): File \"/opt/conda/lib/python3.6/contextlib.py\", line 81, in __enter__ return next(self.gen) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 324, in setup_preprocessor self.km, self.kc = self.start_new_kernel(cwd=path) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 271, in start_new_kernel km.start_kernel(extra_arguments=self.extra_arguments, **kwargs) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 246, in start_kernel kernel_cmd = self.format_kernel_cmd(extra_arguments=extra_arguments) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 170, in format_kernel_cmd cmd = self.kernel_spec.argv + extra_arguments File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 82, in kernel_spec self._kernel_spec = self.kernel_spec_manager.get_kernel_spec(self.kernel_name) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/kernelspec.py\", line 236, in get_kernel_spec raise NoSuchKernel(kernel_name) jupyter_client.kernelspec.NoSuchKernel: No such kernel named tensorflow</code></p>",
      "rawMarkdown": "kaggle kernel commit을 누르면 다음과 같은 로그가 뜨는데, 혹시 이것 때문에 output tab이 생성되지 않는지.. 혹시나 해서 올려봅니다\n`Traceback (most recent call last): File \"/opt/conda/bin/jupyter-nbconvert\", line 10, in",
      "votes": null
    },
    {
      "id": "579160",
      "postDate": "07/18/2019 14:47:00",
      "content": "<p>모델 저장전에 오류가 뜨면 아웃풋이 아마 안생길거 같아요..</p>",
      "rawMarkdown": "모델 저장전에 오류가 뜨면 아웃풋이 아마 안생길거 같아요..",
      "votes": null
    },
    {
      "id": "596430",
      "postDate": "08/10/2019 16:23:06",
      "content": "<p><a href=\"https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train\">https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train</a>\n해당 커널이 답변이 되었길 바랍니다.</p>",
      "rawMarkdown": "https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train\n해당 커널이 답변이 되었길 바랍니다.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 578282,
      "author_name": "kimtaegwan",
      "author_url": "",
      "post_date": "07/17/2019 14:47:29",
      "content": "<p>fold마다 모델을 저장하는 코드를 입력하시고\n새로운 커널 시 fold1,2의 모델을 로드한 후 3,4,5의 모델을 돌리는건 어떠세요?</p>",
      "votes": null,
      "replies": [
        {
          "id": 578694,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 03:13:49",
          "content": "<p>답변 감사합니다. </p>\n\n<p>네 그렇게 하고있습니다. 그런데 fold1, 2모델을 따로 로드해줘야하는 이유가 무엇인가요??</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578766,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 05:55:05",
          "content": "<p>음 저같은경우는 5fold로 하여 가중평균으로 앙상블 하였을 때 정확도가 0.025정도 상승하였습니다.</p>\n\n<p>제가 질문 이해를 못했는데 </p>\n\n<p>fold1,2를 로드 안하시면 fold3,4,5만으로 예측하신다는 말씀이신가요??</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578770,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 06:01:52",
          "content": "<p>아마 fold2까지 하다 커밋이 오류나 시간으로 종료되었다면 \n다시 커밋하실 때 모델은 fold1부터 다시 돌아갑니다.</p>\n\n<p>만약 새롭게 커밋하신다면\nfold1,2를 학습한 모델을 저장하여 로드하시고\nfold3~5까지 학습한 후 </p>\n\n<p>test 셋을 5번 예측후에 가중평균을 할 수있습니다.</p>\n\n<p>중간에 모델저장은 제 커널에 있습니다. 코드랑 output 보시면 이해되실거예요~~</p>\n\n<p>아 그리고 혹시 gpu on 하시고 돌리시나요??   </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578805,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 07:02:23",
          "content": "<p>아 학습 시 중간에 커널이 끊겼을 경우 다시 학습시키는 경우를 말씀드리는 거였습니다. </p>\n\n<p>1, 2 폴드를 생략하고 3폴드부터 학습시키면 되겠네요.</p>\n\n<p>그런데 커널에 대한 질문을 하나 드리고 싶은데요. ../input/model 이나 ../model과 같은 모델을 저장할 경로를 만들어두고 그 다음에 드래프트 세션을 다시 열었을 때 이 경로가 없어져서 모델 저장한 것을 전부 날린 경우가 있었는데 이 부분은 어떻게 해야하나요?? 학습부터 추론까지 9시간 이내에 끝마치게 셋팅을 해두어야할까요??\n(+ 이번에 캐글 커널을 처음 사용해봅니다. 주로 colab이나 로컬을 사용하고 있습니다)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578854,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 08:08:07",
          "content": "<p>중간에 모델 저장코드를 생성하게되면 fold가 3에서 끝나도 output에는 아마 fold2까지의 모델이 저장될 것 같습니다. 그렇게 되면 그 output 모델을 데스크탑에 저장후 캐글 dataset에 업로드 하신 후 캐글 커널에 있는 +add dataset을 통해 모델을 불러옵니다. </p>\n\n<p>혹시 타임세션이 종료되면 output 결과가 아예 안나오나요?? 그건 잘 몰라서 ㅠㅠ 그렇다면 학습때부터 fold를 나눠야할것같고...</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578863,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 08:19:25",
          "content": "<p>빠른 답변 감사합니다.</p>\n\n<p>그러면 ../input/model 파일을 생성하고 1, 2 fold model파일이 save되어 있을때 desktop으로 어떻게 옮겨야하나요?? 따로 버튼이 있는건지... 못찾겠습니다 ㅠㅠ\n지금 상태가 kaggle 경로에 모델을 저장한 상태에서 그 이후에 어떻게 활용하는지를 모르겠습니다. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578867,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 08:24:24",
          "content": "<p>음 저의 경우엔 제 baseline 커널 보시면 아웃풋에 모델이 있는데 그걸 다운 받아서 캐글 dataset 에 업로드 후 캐글 커널 add dataset에서 가져옵니다</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578904,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 09:18:26",
          "content": "<p>아하 코드 실행시키는 페이지가 아닌 커널페이지의 아웃풋에서 직접 다운로드 받는 거네요. 이거를 발견 못해서 지금까지.. ㅠㅠ \n허접한 질문에 빠른 답변 너무 감사합니다!!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578925,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 09:43:01",
          "content": "<p>아니예요 ㅎㅎ 킵고잉~!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578952,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 10:39:22",
          "content": "<p>다시 오기 싫었는데 단시간에 와버렸네요 ㅠㅠ</p>\n\n<p>검색해서 여러 kaggle 글을 봤지만 해결이 안됩니다.</p>\n\n<p>output tab을 만들려면 어떻게 해야하나요??\n1. input 경로는 read-only이기 때문에 따로 경로를 만든다.\n(그래서 저도 커널을 참고해서 './model/'을 save path로 정해서 저장했습니다)\n2. Commit을 눌러서 반드시 커널을 생성해주어야 한다.</p>\n\n<p>현재 모델 경로에 csv파일을 저장하는 것으로 테스트하고 있습니다. 그 이후에 commit 누르고 open version으로 들어가도 태관님처럼 옆에 output tab이 생기지 않습니다.</p>\n\n<p>어떻게 해야하나요??</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 578969,
          "author_name": "airplane2230",
          "author_url": "",
          "post_date": "07/18/2019 11:03:45",
          "content": "<p>kaggle kernel commit을 누르면 다음과 같은 로그가 뜨는데, 혹시 이것 때문에 output tab이 생성되지 않는지.. 혹시나 해서 올려봅니다\n<code>Traceback (most recent call last): File \"/opt/conda/bin/jupyter-nbconvert\", line 10, in &lt;module&gt; sys.exit(main()) File \"/opt/conda/lib/python3.6/site-packages/jupyter_core/application.py\", line 267, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) File \"/opt/conda/lib/python3.6/site-packages/traitlets/config/application.py\", line 658, in launch_instance app.start() File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 338, in start self.convert_notebooks() File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 508, in convert_notebooks self.convert_single_notebook(notebook_filename) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 479, in convert_single_notebook output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py\", line 408, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 179, in from_filename return self.from_file(f, resources=resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 197, in from_file return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/notebook.py\", line 32, in from_notebook_node nb_copy, resources = super(NotebookExporter, self).from_notebook_node(nb, resources, **kw) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 139, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py\", line 316, in _preprocess nbc, resc = preprocessor(nbc, resc) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/base.py\", line 47, in __call__ return self.preprocess(nb, resources) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 379, in preprocess with self.setup_preprocessor(nb, resources, km=km): File \"/opt/conda/lib/python3.6/contextlib.py\", line 81, in __enter__ return next(self.gen) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 324, in setup_preprocessor self.km, self.kc = self.start_new_kernel(cwd=path) File \"/opt/conda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py\", line 271, in start_new_kernel km.start_kernel(extra_arguments=self.extra_arguments, **kwargs) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 246, in start_kernel kernel_cmd = self.format_kernel_cmd(extra_arguments=extra_arguments) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 170, in format_kernel_cmd cmd = self.kernel_spec.argv + extra_arguments File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/manager.py\", line 82, in kernel_spec self._kernel_spec = self.kernel_spec_manager.get_kernel_spec(self.kernel_name) File \"/opt/conda/lib/python3.6/site-packages/jupyter_client/kernelspec.py\", line 236, in get_kernel_spec raise NoSuchKernel(kernel_name) jupyter_client.kernelspec.NoSuchKernel: No such kernel named tensorflow</code></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 579160,
          "author_name": "kimtaegwan",
          "author_url": "",
          "post_date": "07/18/2019 14:47:00",
          "content": "<p>모델 저장전에 오류가 뜨면 아웃풋이 아마 안생길거 같아요..</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 596430,
      "author_name": "yangsaewon",
      "author_url": "",
      "post_date": "08/10/2019 16:23:06",
      "content": "<p><a href=\"https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train\">https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train</a>\n해당 커널이 답변이 되었길 바랍니다.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "576979": "colab이나 kaggle kernel을 이용해서 학습시키는 것은 처음인데요.\n\n고수님들께서 공유해주신 K-Fold를 해보고 있는데, 메모리 부족, Session 타임 종료 또는 개인적인 사정으로 인해\n\n커널이 종료되는 혹은 종료할 상황에 마주치게 되는데요.\n\n예를 들어, 1,2 Fold는 정확하게 학습시키고 3-Fold에서 학습 도중 죽었다면 그 후에 커널에서 \n\n어떤 방식으로 다시 학습을 이어나가야 하나요??\n\n1-Fold, 2-Fold를 continue로 생략하고 3-Fold로 바로 가면 학습이 잘 안되는 것 같기도 하구요.\n\n그렇다고 다시 학습시키기엔 시간이 낭비되는 것 같습니다. \n\n감사합니다.",
    "578282": "fold마다 모델을 저장하는 코드를 입력하시고\n새로운 커널 시 fold1,2의 모델을 로드한 후 3,4,5의 모델을 돌리는건 어떠세요?",
    "578694": "답변 감사합니다. \n\n네 그렇게 하고있습니다. 그런데 fold1, 2모델을 따로 로드해줘야하는 이유가 무엇인가요??",
    "578766": "음 저같은경우는 5fold로 하여 가중평균으로 앙상블 하였을 때 정확도가 0.025정도 상승하였습니다.\n\n제가 질문 이해를 못했는데 \n\nfold1,2를 로드 안하시면 fold3,4,5만으로 예측하신다는 말씀이신가요??",
    "578770": "아마 fold2까지 하다 커밋이 오류나 시간으로 종료되었다면 \n다시 커밋하실 때 모델은 fold1부터 다시 돌아갑니다.\n\n만약 새롭게 커밋하신다면\nfold1,2를 학습한 모델을 저장하여 로드하시고\nfold3~5까지 학습한 후 \n\ntest 셋을 5번 예측후에 가중평균을 할 수있습니다.\n\n중간에 모델저장은 제 커널에 있습니다. 코드랑 output 보시면 이해되실거예요~~\n\n아 그리고 혹시 gpu on 하시고 돌리시나요??",
    "578805": "아 학습 시 중간에 커널이 끊겼을 경우 다시 학습시키는 경우를 말씀드리는 거였습니다. \n\n1, 2 폴드를 생략하고 3폴드부터 학습시키면 되겠네요.\n\n그런데 커널에 대한 질문을 하나 드리고 싶은데요. ../input/model 이나 ../model과 같은 모델을 저장할 경로를 만들어두고 그 다음에 드래프트 세션을 다시 열었을 때 이 경로가 없어져서 모델 저장한 것을 전부 날린 경우가 있었는데 이 부분은 어떻게 해야하나요?? 학습부터 추론까지 9시간 이내에 끝마치게 셋팅을 해두어야할까요??\n(+ 이번에 캐글 커널을 처음 사용해봅니다. 주로 colab이나 로컬을 사용하고 있습니다)",
    "578854": "중간에 모델 저장코드를 생성하게되면 fold가 3에서 끝나도 output에는 아마 fold2까지의 모델이 저장될 것 같습니다. 그렇게 되면 그 output 모델을 데스크탑에 저장후 캐글 dataset에 업로드 하신 후 캐글 커널에 있는 +add dataset을 통해 모델을 불러옵니다. \n\n\n혹시 타임세션이 종료되면 output 결과가 아예 안나오나요?? 그건 잘 몰라서 ㅠㅠ 그렇다면 학습때부터 fold를 나눠야할것같고...",
    "578863": "빠른 답변 감사합니다.\n\n그러면 ../input/model 파일을 생성하고 1, 2 fold model파일이 save되어 있을때 desktop으로 어떻게 옮겨야하나요?? 따로 버튼이 있는건지... 못찾겠습니다 ㅠㅠ\n지금 상태가 kaggle 경로에 모델을 저장한 상태에서 그 이후에 어떻게 활용하는지를 모르겠습니다.",
    "578867": "음 저의 경우엔 제 baseline 커널 보시면 아웃풋에 모델이 있는데 그걸 다운 받아서 캐글 dataset 에 업로드 후 캐글 커널 add dataset에서 가져옵니다",
    "578904": "아하 코드 실행시키는 페이지가 아닌 커널페이지의 아웃풋에서 직접 다운로드 받는 거네요. 이거를 발견 못해서 지금까지.. ㅠㅠ \n허접한 질문에 빠른 답변 너무 감사합니다!!",
    "578925": "아니예요 ㅎㅎ 킵고잉~!",
    "578952": "다시 오기 싫었는데 단시간에 와버렸네요 ㅠㅠ\n\n검색해서 여러 kaggle 글을 봤지만 해결이 안됩니다.\n\noutput tab을 만들려면 어떻게 해야하나요??\n1. input 경로는 read-only이기 때문에 따로 경로를 만든다.\n(그래서 저도 커널을 참고해서 './model/'을 save path로 정해서 저장했습니다)\n2. Commit을 눌러서 반드시 커널을 생성해주어야 한다.\n\n현재 모델 경로에 csv파일을 저장하는 것으로 테스트하고 있습니다. 그 이후에 commit 누르고 open version으로 들어가도 태관님처럼 옆에 output tab이 생기지 않습니다.\n\n어떻게 해야하나요??",
    "578969": "kaggle kernel commit을 누르면 다음과 같은 로그가 뜨는데, 혹시 이것 때문에 output tab이 생성되지 않는지.. 혹시나 해서 올려봅니다\n`Traceback (most recent call last): File \"/opt/conda/bin/jupyter-nbconvert\", line 10, in",
    "579160": "모델 저장전에 오류가 뜨면 아웃풋이 아마 안생길거 같아요..",
    "596430": "https://www.kaggle.com/yangsaewon/how-to-split-folds-and-train\n해당 커널이 답변이 되었길 바랍니다."
  },
  "source": "meta"
}