{
  "id": 46988,
  "title": "solution for LB=0.86 models (1d and 2d)",
  "url": "/competitions/tensorflow-speech-recognition-challenge/discussion/46988",
  "author_name": "",
  "post_date": "2018-01-06T10:39:17.363811500Z",
  "votes": 43,
  "comment_count": 30,
  "views": 0,
  "content": "<p>Please refer to the attachment PPTX for details. The code is the same as those from :<a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982</a>, except that the model files are changed.</p>\n\n<p>With adjustment to the amount of augmentation, iterations, change in network structure (e.g. more or less conv filters), you can get to 0.87. Maybe you can also get to 0.88.</p>",
  "messages": [
    {
      "id": "265701",
      "postDate": "01/06/2018 10:39:17",
      "content": "<p>Please refer to the attachment PPTX for details. The code is the same as those from :<a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982</a>, except that the model files are changed.</p>\n\n<p>With adjustment to the amount of augmentation, iterations, change in network structure (e.g. more or less conv filters), you can get to 0.87. Maybe you can also get to 0.88.</p>",
      "rawMarkdown": "Please refer to the attachment PPTX for details. The code is the same as those from :https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982, except that the model files are changed.\n\nWith adjustment to the amount of augmentation, iterations, change in network structure (e.g. more or less conv filters), you can get to 0.87. Maybe you can also get to 0.88.",
      "votes": null
    },
    {
      "id": "265703",
      "postDate": "01/06/2018 10:45:58",
      "content": "<p>Thanks a lot. Please share the training file for resnet model (hyperparameters used)</p>",
      "rawMarkdown": "Thanks a lot. Please share the training file for resnet model (hyperparameters used)",
      "votes": null
    },
    {
      "id": "265916",
      "postDate": "01/07/2018 05:02:11",
      "content": "<p>@Zafarullah Mahmood</p>\n\n<p>Please refer also to  <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982</a> for new files added.</p>\n\n<p>Here is the training file for resnet model. The learning rate is hand adjusted, i.e. this is not a \"one time run as it is\" script file. The log file contains all hyperparameters.</p>\n\n<p>From my experience, the key to get good performances is not really the network structure. Rather, it is your input representation, data sampling and augmentation and training process. You should get LB=0.82 for cnn_trad_pool2_net first to check your process. If you can get LB=0.82, you can easily get LB=0.86 for more complicated models.</p>",
      "rawMarkdown": "Zafarullah Mahmood\n\nPlease refer also to  https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982 for new files added.\n\nHere is the training file for resnet model. The learning rate is hand adjusted, i.e. this is not a \"one time run as it is\" script file. The log file contains all hyperparameters.\n\nFrom my experience, the key to get good performances is not really the network structure. Rather, it is your input representation, data sampling and augmentation and training process. You should get LB=0.82 for cnn_trad_pool2_net first to check your process. If you can get LB=0.82, you can easily get LB=0.86 for more complicated models.",
      "votes": null
    },
    {
      "id": "266362",
      "postDate": "01/08/2018 16:01:52",
      "content": "<p>please refer to ppt for details.</p>\n\n<p>here, the files contain:\n - full pycharm project, include train, evaluate, submit code\n - trained model at LB=0.86 \n - data split</p>",
      "rawMarkdown": "please refer to ppt for details.\n\nhere, the files contain:\n - full pycharm project, include train, evaluate, submit code\n - trained model at LB=0.86 \n - data split",
      "votes": null
    },
    {
      "id": "266391",
      "postDate": "01/08/2018 17:23:00",
      "content": "<p>thanks for sharing ! \nWith data augmentation I get LB=0.85 with spectrogram using un VGG-like too  but when I try to do it with the raw waves, the result are bad (around LB=0.70) is it the same for you?</p>",
      "rawMarkdown": "thanks for sharing ! \nWith data augmentation I get LB=0.85 with spectrogram using un VGG-like too  but when I try to do it with the raw waves, the result are bad (around LB=0.70) is it the same for you?",
      "votes": null
    },
    {
      "id": "266394",
      "postDate": "01/08/2018 17:29:10",
      "content": "<p>the results of raw wave can also get to 0.86 or more. You have to make it deeper and the receptive field should be large (e.g. dilation or larger filter),  you can check my ppt for raw waveform results</p>\n\n<p>see also: <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283</a></p>",
      "rawMarkdown": "the results of raw wave can also get to 0.86 or more. You have to make it deeper and the receptive field should be large (e.g. dilation or larger filter),  you can check my ppt for raw waveform results\n\n\nsee also: https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283",
      "votes": null
    },
    {
      "id": "267016",
      "postDate": "01/10/2018 11:32:26",
      "content": "<p>Many thanks, Heng!\nI have run evaluation but can't seem to find the probs.uint8.memmap file, required in submit.py.\nCan you please share that file or indicate how did you obtain it?</p>\n\n<p>Cheers</p>",
      "rawMarkdown": "Many thanks, Heng!\nI have run evaluation but can't seem to find the probs.uint8.memmap file, required in submit.py.\nCan you please share that file or indicate how did you obtain it?\n\nCheers",
      "votes": null
    },
    {
      "id": "267025",
      "postDate": "01/10/2018 11:45:25",
      "content": "<p>to make submission, just refer to \"submit.py.\" It will produce both csv file  and probs.uint8.memmap (probs.uint8.memmap is your recording. it is not required for submission)</p>",
      "rawMarkdown": "to make submission, just refer to \"submit.py.\" It will produce both csv file  and probs.uint8.memmap (probs.uint8.memmap is your recording. it is not required for submission)",
      "votes": null
    },
    {
      "id": "267028",
      "postDate": "01/10/2018 11:50:22",
      "content": "<p>Thanks, it was a path issue in the end. Great stuff! Looking forward to deep dive in the solution you provided.</p>",
      "rawMarkdown": "Thanks, it was a path issue in the end. Great stuff! Looking forward to deep dive in the solution you provided.",
      "votes": null
    },
    {
      "id": "268636",
      "postDate": "01/15/2018 03:34:14",
      "content": "<p>Thanks for sharing. After tuning this model, I achieved 0.88 without ensembling.</p>",
      "rawMarkdown": "Thanks for sharing. After tuning this model, I achieved 0.88 without ensembling.",
      "votes": null
    },
    {
      "id": "268637",
      "postDate": "01/15/2018 03:36:27",
      "content": "<p>Thanks for the information. Can you provide information on the tuning? I only can get 0.87</p>",
      "rawMarkdown": "Thanks for the information. Can you provide information on the tuning? I only can get 0.87",
      "votes": null
    },
    {
      "id": "268695",
      "postDate": "01/15/2018 08:49:41",
      "content": "<p>Could you give some info on how to stop training the model. I tried your code but is goes forever and doesn't save a checkpoint file</p>",
      "rawMarkdown": "Could you give some info on how to stop training the model. I tried your code but is goes forever and doesn't save a checkpoint file",
      "votes": null
    },
    {
      "id": "268699",
      "postDate": "01/15/2018 09:06:36",
      "content": "<p>Sorry, my bad. I missed a \"/\" when creating a directory and looked in the wrong place. </p>",
      "rawMarkdown": "Sorry, my bad. I missed a \"/\" when creating a directory and looked in the wrong place.",
      "votes": null
    },
    {
      "id": "268714",
      "postDate": "01/15/2018 11:24:52",
      "content": "<p>I train the simple1d_net.py,\nmeet the error: ValueError: Expected 3D tensor as input, got 4D tensor instead.\nHow can I modify net script?\nThank you very much!!</p>",
      "rawMarkdown": "I train the simple1d_net.py,\nmeet the error: ValueError: Expected 3D tensor as input, got 4D tensor instead.\nHow can I modify net script?\nThank you very much!!",
      "votes": null
    },
    {
      "id": "268814",
      "postDate": "01/15/2018 17:59:51",
      "content": "<p>No magic involved, I just changed the learning rate to 0.001,  reduced the batch size to 64, early stopped the training when accuracy I felt high enough, around 0.97.</p>",
      "rawMarkdown": "No magic involved, I just changed the learning rate to 0.001,  reduced the batch size to 64, early stopped the training when accuracy I felt high enough, around 0.97.",
      "votes": null
    },
    {
      "id": "268821",
      "postDate": "01/15/2018 18:09:44",
      "content": "<p>Thanks. I guess i may have over-trained or using too large a batch size=256.</p>",
      "rawMarkdown": "Thanks. I guess i may have over-trained or using too large a batch size=256.",
      "votes": null
    },
    {
      "id": "269431",
      "postDate": "01/16/2018 20:40:42",
      "content": "<p>Ok I see why the model was share, as explained here: <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493</a> . Still It pains me that I've learned about this 5 hours before competition deadline :/ </p>",
      "rawMarkdown": "Ok I see why the model was share, as explained here: https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493 . Still It pains me that I've learned about this 5 hours before competition deadline :/",
      "votes": null
    },
    {
      "id": "269456",
      "postDate": "01/16/2018 21:17:54",
      "content": "<p>As someone new to Kaggle, it does strike me as unfair. Part of Kaggle is learning, but part of Kaggle is competition.</p>",
      "rawMarkdown": "As someone new to Kaggle, it does strike me as unfair. Part of Kaggle is learning, but part of Kaggle is competition.",
      "votes": null
    },
    {
      "id": "269480",
      "postDate": "01/16/2018 22:41:29",
      "content": "<p>I got 0.86 using my best efforts and got as high as 85th on the public leaderboard. Haven't made any progress since then. Ran out of credit on GCP, and now I'm down to 214th =(</p>",
      "rawMarkdown": "I got 0.86 using my best efforts and got as high as 85th on the public leaderboard. Haven't made any progress since then. Ran out of credit on GCP, and now I'm down to 214th =(",
      "votes": null
    },
    {
      "id": "269495",
      "postDate": "01/16/2018 23:30:34",
      "content": "<p>there is a check_net script at the bottom of each model definition file. it shows how to create input and it show run.</p>",
      "rawMarkdown": "there is a check_net script at the bottom of each model definition file. it shows how to create input and it show run.",
      "votes": null
    },
    {
      "id": "269517",
      "postDate": "01/17/2018 00:29:00",
      "content": "<p>Congratulation！You are my hero！Learn a lot from you，Thanks for your share！</p>",
      "rawMarkdown": "Congratulation！You are my hero！Learn a lot from you，Thanks for your share！",
      "votes": null
    },
    {
      "id": "269519",
      "postDate": "01/17/2018 00:32:11",
      "content": "<p>Congrats to Heng and his team members.\nThis was my first Kaggle competition and I learned so much from participating and from your helpful posts.</p>",
      "rawMarkdown": "Congrats to Heng and his team members.\nThis was my first Kaggle competition and I learned so much from participating and from your helpful posts.",
      "votes": null
    },
    {
      "id": "269613",
      "postDate": "01/17/2018 03:00:21",
      "content": "<p>Thanks!</p>",
      "rawMarkdown": "Thanks!",
      "votes": null
    },
    {
      "id": "269844",
      "postDate": "01/17/2018 11:42:29",
      "content": "<p>Who can share the train simple1d_net.py script?\nI use the train_resnet3.py, but not successd.</p>",
      "rawMarkdown": "Who can share the train simple1d_net.py script?\nI use the train_resnet3.py, but not successd.",
      "votes": null
    },
    {
      "id": "269847",
      "postDate": "01/17/2018 11:45:16",
      "content": "<p>@yanglu</p>\n\n<p>if it doesn't work, let me know again</p>",
      "rawMarkdown": "yanglu\n\nif it doesn't work, let me know again",
      "votes": null
    },
    {
      "id": "269869",
      "postDate": "01/17/2018 12:39:36",
      "content": "<p>Yes, It's work!\nThank you very much, NN is very powerful.\nAnd  I know my mistakes, forgot to change the input \"tensor= wave[np.newaxis,:]\"</p>",
      "rawMarkdown": "Yes, It's work!\nThank you very much, NN is very powerful.\nAnd  I know my mistakes, forgot to change the input \"tensor= wave[np.newaxis,:]\"",
      "votes": null
    },
    {
      "id": "269921",
      "postDate": "01/17/2018 14:30:06",
      "content": "<p>It is amazing that you actually used up all the credits... how many models you trained?</p>",
      "rawMarkdown": "It is amazing that you actually used up all the credits... how many models you trained?",
      "votes": null
    },
    {
      "id": "269978",
      "postDate": "01/17/2018 15:56:17",
      "content": "<p>@Ren,\nYou must have used K80. formigon must have used P100, which is much more expensive.</p>",
      "rawMarkdown": "Ren,\nYou must have used K80. formigon must have used P100, which is much more expensive.",
      "votes": null
    },
    {
      "id": "269982",
      "postDate": "01/17/2018 16:03:29",
      "content": "<p>Yes... I used K80 and it turned out it actually slower than my local 1070 machine for some reason (I am thinking about CPU on the server is slower, which do some processing work each step)... </p>\n\n<p>I still have some credits left, will try P100 to see the speed. </p>",
      "rawMarkdown": "Yes... I used K80 and it turned out it actually slower than my local 1070 machine for some reason (I am thinking about CPU on the server is slower, which do some processing work each step)... \n\nI still have some credits left, will try P100 to see the speed.",
      "votes": null
    },
    {
      "id": "270053",
      "postDate": "01/17/2018 17:39:28",
      "content": "<p>K80 is Kepler generation card. Of course it is slower than your 1070. For me, P100 in gcloud was about as fast as 1080 I had locally. But my bottleneck was not GPU processing power. On my local machine, it seem the bottleneck was reading the data off my SSD. I have 8 core Ryzen 1800X and Samsung NVMe SSD but, even if I spawn 16 threads, my CPU utilization stayed about 40%. When I was generating frequency augmented data file, CPU utilization was pegged at about 40% as well no matter how many threads I create. So, I'm pretty sure that the bottleneck was with my SSD.</p>",
      "rawMarkdown": "K80 is Kepler generation card. Of course it is slower than your 1070. For me, P100 in gcloud was about as fast as 1080 I had locally. But my bottleneck was not GPU processing power. On my local machine, it seem the bottleneck was reading the data off my SSD. I have 8 core Ryzen 1800X and Samsung NVMe SSD but, even if I spawn 16 threads, my CPU utilization stayed about 40%. When I was generating frequency augmented data file, CPU utilization was pegged at about 40% as well no matter how many threads I create. So, I'm pretty sure that the bottleneck was with my SSD.",
      "votes": null
    },
    {
      "id": "270058",
      "postDate": "01/17/2018 17:46:18",
      "content": "<p>I read all wavs in memory... </p>",
      "rawMarkdown": "I read all wavs in memory...",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 265703,
      "author_name": "fizzbuzz",
      "author_url": "",
      "post_date": "01/06/2018 10:45:58",
      "content": "<p>Thanks a lot. Please share the training file for resnet model (hyperparameters used)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 265916,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "01/07/2018 05:02:11",
      "content": "<p>@Zafarullah Mahmood</p>\n\n<p>Please refer also to  <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982</a> for new files added.</p>\n\n<p>Here is the training file for resnet model. The learning rate is hand adjusted, i.e. this is not a \"one time run as it is\" script file. The log file contains all hyperparameters.</p>\n\n<p>From my experience, the key to get good performances is not really the network structure. Rather, it is your input representation, data sampling and augmentation and training process. You should get LB=0.82 for cnn_trad_pool2_net first to check your process. If you can get LB=0.82, you can easily get LB=0.86 for more complicated models.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 266362,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "01/08/2018 16:01:52",
      "content": "<p>please refer to ppt for details.</p>\n\n<p>here, the files contain:\n - full pycharm project, include train, evaluate, submit code\n - trained model at LB=0.86 \n - data split</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 266391,
      "author_name": "ludovick",
      "author_url": "",
      "post_date": "01/08/2018 17:23:00",
      "content": "<p>thanks for sharing ! \nWith data augmentation I get LB=0.85 with spectrogram using un VGG-like too  but when I try to do it with the raw waves, the result are bad (around LB=0.70) is it the same for you?</p>",
      "votes": null,
      "replies": [
        {
          "id": 266394,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "01/08/2018 17:29:10",
          "content": "<p>the results of raw wave can also get to 0.86 or more. You have to make it deeper and the receptive field should be large (e.g. dilation or larger filter),  you can check my ppt for raw waveform results</p>\n\n<p>see also: <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283</a></p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 267016,
      "author_name": "blackcore",
      "author_url": "",
      "post_date": "01/10/2018 11:32:26",
      "content": "<p>Many thanks, Heng!\nI have run evaluation but can't seem to find the probs.uint8.memmap file, required in submit.py.\nCan you please share that file or indicate how did you obtain it?</p>\n\n<p>Cheers</p>",
      "votes": null,
      "replies": [
        {
          "id": 267025,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "01/10/2018 11:45:25",
          "content": "<p>to make submission, just refer to \"submit.py.\" It will produce both csv file  and probs.uint8.memmap (probs.uint8.memmap is your recording. it is not required for submission)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 267028,
          "author_name": "blackcore",
          "author_url": "",
          "post_date": "01/10/2018 11:50:22",
          "content": "<p>Thanks, it was a path issue in the end. Great stuff! Looking forward to deep dive in the solution you provided.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 268636,
      "author_name": "abnerchou",
      "author_url": "",
      "post_date": "01/15/2018 03:34:14",
      "content": "<p>Thanks for sharing. After tuning this model, I achieved 0.88 without ensembling.</p>",
      "votes": null,
      "replies": [
        {
          "id": 268637,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "01/15/2018 03:36:27",
          "content": "<p>Thanks for the information. Can you provide information on the tuning? I only can get 0.87</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 268814,
          "author_name": "abnerchou",
          "author_url": "",
          "post_date": "01/15/2018 17:59:51",
          "content": "<p>No magic involved, I just changed the learning rate to 0.001,  reduced the batch size to 64, early stopped the training when accuracy I felt high enough, around 0.97.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 268821,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "01/15/2018 18:09:44",
          "content": "<p>Thanks. I guess i may have over-trained or using too large a batch size=256.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 268695,
      "author_name": "anasvaf",
      "author_url": "",
      "post_date": "01/15/2018 08:49:41",
      "content": "<p>Could you give some info on how to stop training the model. I tried your code but is goes forever and doesn't save a checkpoint file</p>",
      "votes": null,
      "replies": [
        {
          "id": 268699,
          "author_name": "anasvaf",
          "author_url": "",
          "post_date": "01/15/2018 09:06:36",
          "content": "<p>Sorry, my bad. I missed a \"/\" when creating a directory and looked in the wrong place. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 268714,
      "author_name": "yyll008",
      "author_url": "",
      "post_date": "01/15/2018 11:24:52",
      "content": "<p>I train the simple1d_net.py,\nmeet the error: ValueError: Expected 3D tensor as input, got 4D tensor instead.\nHow can I modify net script?\nThank you very much!!</p>",
      "votes": null,
      "replies": [
        {
          "id": 269495,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "01/16/2018 23:30:34",
          "content": "<p>there is a check_net script at the bottom of each model definition file. it shows how to create input and it show run.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 269517,
          "author_name": "yyll008",
          "author_url": "",
          "post_date": "01/17/2018 00:29:00",
          "content": "<p>Congratulation！You are my hero！Learn a lot from you，Thanks for your share！</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 269431,
      "author_name": "piotrczapla",
      "author_url": "",
      "post_date": "01/16/2018 20:40:42",
      "content": "<p>Ok I see why the model was share, as explained here: <a href=\"https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493\">https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493</a> . Still It pains me that I've learned about this 5 hours before competition deadline :/ </p>",
      "votes": null,
      "replies": [
        {
          "id": 269456,
          "author_name": "adubinsky",
          "author_url": "",
          "post_date": "01/16/2018 21:17:54",
          "content": "<p>As someone new to Kaggle, it does strike me as unfair. Part of Kaggle is learning, but part of Kaggle is competition.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 269480,
      "author_name": "formigone",
      "author_url": "",
      "post_date": "01/16/2018 22:41:29",
      "content": "<p>I got 0.86 using my best efforts and got as high as 85th on the public leaderboard. Haven't made any progress since then. Ran out of credit on GCP, and now I'm down to 214th =(</p>",
      "votes": null,
      "replies": [
        {
          "id": 269921,
          "author_name": "ryanzhang",
          "author_url": "",
          "post_date": "01/17/2018 14:30:06",
          "content": "<p>It is amazing that you actually used up all the credits... how many models you trained?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 269978,
          "author_name": "bsp2020",
          "author_url": "",
          "post_date": "01/17/2018 15:56:17",
          "content": "<p>@Ren,\nYou must have used K80. formigon must have used P100, which is much more expensive.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 269982,
          "author_name": "ryanzhang",
          "author_url": "",
          "post_date": "01/17/2018 16:03:29",
          "content": "<p>Yes... I used K80 and it turned out it actually slower than my local 1070 machine for some reason (I am thinking about CPU on the server is slower, which do some processing work each step)... </p>\n\n<p>I still have some credits left, will try P100 to see the speed. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 270053,
          "author_name": "bsp2020",
          "author_url": "",
          "post_date": "01/17/2018 17:39:28",
          "content": "<p>K80 is Kepler generation card. Of course it is slower than your 1070. For me, P100 in gcloud was about as fast as 1080 I had locally. But my bottleneck was not GPU processing power. On my local machine, it seem the bottleneck was reading the data off my SSD. I have 8 core Ryzen 1800X and Samsung NVMe SSD but, even if I spawn 16 threads, my CPU utilization stayed about 40%. When I was generating frequency augmented data file, CPU utilization was pegged at about 40% as well no matter how many threads I create. So, I'm pretty sure that the bottleneck was with my SSD.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 270058,
          "author_name": "ryanzhang",
          "author_url": "",
          "post_date": "01/17/2018 17:46:18",
          "content": "<p>I read all wavs in memory... </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 269519,
      "author_name": "bsp2020",
      "author_url": "",
      "post_date": "01/17/2018 00:32:11",
      "content": "<p>Congrats to Heng and his team members.\nThis was my first Kaggle competition and I learned so much from participating and from your helpful posts.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 269613,
      "author_name": "vadiksadik",
      "author_url": "",
      "post_date": "01/17/2018 03:00:21",
      "content": "<p>Thanks!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 269844,
      "author_name": "yyll008",
      "author_url": "",
      "post_date": "01/17/2018 11:42:29",
      "content": "<p>Who can share the train simple1d_net.py script?\nI use the train_resnet3.py, but not successd.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 269847,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "01/17/2018 11:45:16",
      "content": "<p>@yanglu</p>\n\n<p>if it doesn't work, let me know again</p>",
      "votes": null,
      "replies": [
        {
          "id": 269869,
          "author_name": "yyll008",
          "author_url": "",
          "post_date": "01/17/2018 12:39:36",
          "content": "<p>Yes, It's work!\nThank you very much, NN is very powerful.\nAnd  I know my mistakes, forgot to change the input \"tensor= wave[np.newaxis,:]\"</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "265701": "Please refer to the attachment PPTX for details. The code is the same as those from :https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982, except that the model files are changed.\n\nWith adjustment to the amount of augmentation, iterations, change in network structure (e.g. more or less conv filters), you can get to 0.87. Maybe you can also get to 0.88.",
    "265703": "Thanks a lot. Please share the training file for resnet model (hyperparameters used)",
    "265916": "Zafarullah Mahmood\n\nPlease refer also to  https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/46982 for new files added.\n\nHere is the training file for resnet model. The learning rate is hand adjusted, i.e. this is not a \"one time run as it is\" script file. The log file contains all hyperparameters.\n\nFrom my experience, the key to get good performances is not really the network structure. Rather, it is your input representation, data sampling and augmentation and training process. You should get LB=0.82 for cnn_trad_pool2_net first to check your process. If you can get LB=0.82, you can easily get LB=0.86 for more complicated models.",
    "266362": "please refer to ppt for details.\n\nhere, the files contain:\n - full pycharm project, include train, evaluate, submit code\n - trained model at LB=0.86 \n - data split",
    "266391": "thanks for sharing ! \nWith data augmentation I get LB=0.85 with spectrogram using un VGG-like too  but when I try to do it with the raw waves, the result are bad (around LB=0.70) is it the same for you?",
    "266394": "the results of raw wave can also get to 0.86 or more. You have to make it deeper and the receptive field should be large (e.g. dilation or larger filter),  you can check my ppt for raw waveform results\n\n\nsee also: https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/44283",
    "267016": "Many thanks, Heng!\nI have run evaluation but can't seem to find the probs.uint8.memmap file, required in submit.py.\nCan you please share that file or indicate how did you obtain it?\n\nCheers",
    "267025": "to make submission, just refer to \"submit.py.\" It will produce both csv file  and probs.uint8.memmap (probs.uint8.memmap is your recording. it is not required for submission)",
    "267028": "Thanks, it was a path issue in the end. Great stuff! Looking forward to deep dive in the solution you provided.",
    "268636": "Thanks for sharing. After tuning this model, I achieved 0.88 without ensembling.",
    "268637": "Thanks for the information. Can you provide information on the tuning? I only can get 0.87",
    "268695": "Could you give some info on how to stop training the model. I tried your code but is goes forever and doesn't save a checkpoint file",
    "268699": "Sorry, my bad. I missed a \"/\" when creating a directory and looked in the wrong place.",
    "268714": "I train the simple1d_net.py,\nmeet the error: ValueError: Expected 3D tensor as input, got 4D tensor instead.\nHow can I modify net script?\nThank you very much!!",
    "268814": "No magic involved, I just changed the learning rate to 0.001,  reduced the batch size to 64, early stopped the training when accuracy I felt high enough, around 0.97.",
    "268821": "Thanks. I guess i may have over-trained or using too large a batch size=256.",
    "269431": "Ok I see why the model was share, as explained here: https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/discussion/47493 . Still It pains me that I've learned about this 5 hours before competition deadline :/",
    "269456": "As someone new to Kaggle, it does strike me as unfair. Part of Kaggle is learning, but part of Kaggle is competition.",
    "269480": "I got 0.86 using my best efforts and got as high as 85th on the public leaderboard. Haven't made any progress since then. Ran out of credit on GCP, and now I'm down to 214th =(",
    "269495": "there is a check_net script at the bottom of each model definition file. it shows how to create input and it show run.",
    "269517": "Congratulation！You are my hero！Learn a lot from you，Thanks for your share！",
    "269519": "Congrats to Heng and his team members.\nThis was my first Kaggle competition and I learned so much from participating and from your helpful posts.",
    "269613": "Thanks!",
    "269844": "Who can share the train simple1d_net.py script?\nI use the train_resnet3.py, but not successd.",
    "269847": "yanglu\n\nif it doesn't work, let me know again",
    "269869": "Yes, It's work!\nThank you very much, NN is very powerful.\nAnd  I know my mistakes, forgot to change the input \"tensor= wave[np.newaxis,:]\"",
    "269921": "It is amazing that you actually used up all the credits... how many models you trained?",
    "269978": "Ren,\nYou must have used K80. formigon must have used P100, which is much more expensive.",
    "269982": "Yes... I used K80 and it turned out it actually slower than my local 1070 machine for some reason (I am thinking about CPU on the server is slower, which do some processing work each step)... \n\nI still have some credits left, will try P100 to see the speed.",
    "270053": "K80 is Kepler generation card. Of course it is slower than your 1070. For me, P100 in gcloud was about as fast as 1080 I had locally. But my bottleneck was not GPU processing power. On my local machine, it seem the bottleneck was reading the data off my SSD. I have 8 core Ryzen 1800X and Samsung NVMe SSD but, even if I spawn 16 threads, my CPU utilization stayed about 40%. When I was generating frequency augmented data file, CPU utilization was pegged at about 40% as well no matter how many threads I create. So, I'm pretty sure that the bottleneck was with my SSD.",
    "270058": "I read all wavs in memory..."
  },
  "source": "meta"
}