{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nfrom statistics import mean\nimport gc\n\n\nfrom sklearn.preprocessing import StandardScaler,OneHotEncoder\n\nimport os\nfrom tqdm import tqdm\nimport random\n\nimport warnings\nwarnings.filterwarnings('ignore')\n","execution_count":25,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from keras import backend as K\nK.tensorflow_backend._get_available_gpus()","execution_count":3,"outputs":[{"output_type":"stream","text":"Using TensorFlow backend.\n","name":"stderr"},{"output_type":"execute_result","execution_count":3,"data":{"text/plain":"['/job:localhost/replica:0/task:0/device:GPU:0']"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from keras.models import Sequential\nfrom keras.layers import Dense, Dropout, Conv1D, MaxPooling1D, GlobalAveragePooling1D, Input, CuDNNLSTM, Flatten\nfrom keras.optimizers import Adam\nfrom keras.losses import mean_squared_error\nfrom keras.callbacks import History","execution_count":4,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_data = pd.read_csv('../input/train.csv',dtype = {'acoustic_data':np.float32,'time_to_failure':np.float32})\n\n\n","execution_count":10,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"rows = 150000\nsegments = int(np.floor(train_data.shape[0] / rows))\n\nX_train = np.zeros((segments,150000))\ny_train = pd.DataFrame(index = range(segments),dtype = np.float32,columns = ['time_to_failure'])\n\nfor segment in tqdm(range(segments)):\n    x = train_data.iloc[segment*rows:segment*rows+rows]\n    y = x['time_to_failure'].values[-1]\n    x = x['acoustic_data'].values\n    y_train.loc[segment,'time_to_failure'] = y\n    X_train[segment] = x\ndel train_data","execution_count":15,"outputs":[{"output_type":"stream","text":"100%|██████████| 4194/4194 [00:04<00:00, 864.75it/s]\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"gc.collect()","execution_count":29,"outputs":[{"output_type":"execute_result","execution_count":29,"data":{"text/plain":"252"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_train.shape\ny_train['time_to_failure'] = round(y_train['time_to_failure'])","execution_count":19,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"y_train['time_to_failure'] = y_train['time_to_failure'].astype(np.int32)","execution_count":22,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"ohe = OneHotEncoder()\ny_train = ohe.fit_transform(np.array(y_train['time_to_failure']).reshape(-1,1))","execution_count":28,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"y_train.shape","execution_count":32,"outputs":[{"output_type":"execute_result","execution_count":32,"data":{"text/plain":"(4194, 17)"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"model = Sequential()\nmodel.add(Conv1D(filters=40, kernel_size=20, strides=2, activation='relu', input_shape=(150000,1)))\nmodel.add(MaxPooling1D(3))\nmodel.add(Conv1D(filters=40, kernel_size=20, strides=1, activation='relu'))\nmodel.add(MaxPooling1D(3))\nmodel.add(Conv1D(filters=40, kernel_size=20, strides=1, activation='relu'))\nmodel.add(MaxPooling1D(3))\nmodel.add(CuDNNLSTM(8,return_sequences=True))\nmodel.add(CuDNNLSTM(8,return_sequences=True))\n#model.add(Flatten())\nmodel.add(Conv1D(filters=40, kernel_size=10, strides=1, activation='relu'))\nmodel.add(GlobalAveragePooling1D())\nmodel.add(Dropout(rate=0.1))\nmodel.add(Dense(17,activation = 'softmax'))\nprint(model.summary())","execution_count":35,"outputs":[{"output_type":"stream","text":"_________________________________________________________________\nLayer (type)                 Output Shape              Param #   \n=================================================================\nconv1d_7 (Conv1D)            (None, 74991, 40)         840       \n_________________________________________________________________\nmax_pooling1d_4 (MaxPooling1 (None, 24997, 40)         0         \n_________________________________________________________________\nconv1d_8 (Conv1D)            (None, 24978, 40)         32040     \n_________________________________________________________________\nmax_pooling1d_5 (MaxPooling1 (None, 8326, 40)          0         \n_________________________________________________________________\nconv1d_9 (Conv1D)            (None, 8307, 40)          32040     \n_________________________________________________________________\nmax_pooling1d_6 (MaxPooling1 (None, 2769, 40)          0         \n_________________________________________________________________\ncu_dnnlstm_3 (CuDNNLSTM)     (None, 2769, 8)           1600      \n_________________________________________________________________\ncu_dnnlstm_4 (CuDNNLSTM)     (None, 2769, 8)           576       \n_________________________________________________________________\nconv1d_10 (Conv1D)           (None, 2760, 40)          3240      \n_________________________________________________________________\nglobal_average_pooling1d_2 ( (None, 40)                0         \n_________________________________________________________________\ndropout_2 (Dropout)          (None, 40)                0         \n_________________________________________________________________\ndense_2 (Dense)              (None, 17)                697       \n=================================================================\nTotal params: 71,033\nTrainable params: 71,033\nNon-trainable params: 0\n_________________________________________________________________\nNone\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.compile(loss='categorical_crossentropy',optimizer='adam')","execution_count":36,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.fit(X_train.reshape(-1,150000,1),y_train,epochs = 100, validation_split = 0.1,batch_size = 16)","execution_count":null,"outputs":[{"output_type":"stream","text":"Train on 3774 samples, validate on 420 samples\nEpoch 1/100\n3774/3774 [==============================] - 50s 13ms/step - loss: 2.6606 - val_loss: 2.5530\nEpoch 2/100\n1312/3774 [=========>....................] - ETA: 30s - loss: 2.6503","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"markdown","source":"def prepareAd(x):\n    x = np.sign(x)*np.log(1 + np.sqrt(np.abs(x)))/4.4\n    return x"},{"metadata":{"trusted":true},"cell_type":"markdown","source":"def getTrainBatch(dfl,nrows,batch_size):\n    x = np.empty([batch_size,15000,1])\n    y = np.empty([batch_size,15000])\n    for i,rn in enumerate(np.random.randint(nrows-15000, size=batch_size)):\n        df = dfl.loc[rn:rn+14999,:]\n        x[i,:,0] = df.acoustic_data.values\n        y[i,:] = df.time_to_failure.values\n    return x,y"},{"metadata":{"trusted":true},"cell_type":"markdown","source":"random.seed(42)\nhistory = History()\nstep = 150000000\nstop = 600000000\n#sc = StandardScaler()\nfor i in range(0, stop, step):\n    print('Reading file chunk :',i)\n    train_df = pd.read_csv(\"../input/train.csv\",\n                           skiprows = i,\n                           nrows = step,\n                           dtype={'acoustic_data': np.int16, 'time_to_failure': np.float32}\n                          )\n    train_df.columns = ['acoustic_data','time_to_failure']\n    #train_df.acoustic_data =prepareAd(train_df.acoustic_data.values)\n    #train_df.time_to_failure = train_df.time_to_failure/16\n    \n    loss = []\n    val_loss = []\n    mae = []\n    for j in range(20):\n        #print('Generating training batch :',j)\n        x_train,y_train = getTrainBatch(train_df,step,batch_size=1024)\n        history = model.fit(x_train,\n                            y_train,\n                            batch_size=16,\n                            epochs=10,\n                            validation_split=0.1,\n                            verbose=0)\n        loss = loss + history.history['loss']\n        val_loss = val_loss + history.history['val_loss']\n        #mae = mae + history.history['mean_absolute_error']\n        if (j%5==0):\n            print('loss :',mean(loss[-10:]),' val_loss :',mean(val_loss[-10:])) #, ' val_mae :',mean(mae[-10:])*16)\n        del x_train, y_train\n        gc.collect()\n    del train_df\n    gc.collect()"},{"metadata":{"trusted":true},"cell_type":"code","source":"def predictSubmission(seg_id):\n    test_df = pd.read_csv('../input/test/' + seg_id + '.csv')\n    #y = model.predict(prepareAd(test_df.acoustic_data.values).reshape(1,150000,1))*16\n    #x = sc.fit_transform(test_df.acoustic_data.values.reshape(-1,1))\n    x = test_df.acoustic_data.values\n    y = model.predict(x.reshape(1,150000,1))\n    return np.argmax(y)","execution_count":38,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission = pd.read_csv('../input/sample_submission.csv')\nsubmission['time_to_failure']=submission['seg_id'].apply(predictSubmission)\nsubmission.to_csv('submission_8.csv',index=False)","execution_count":39,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission.head()","execution_count":40,"outputs":[{"output_type":"execute_result","execution_count":40,"data":{"text/plain":"       seg_id  time_to_failure\n0  seg_00030f                1\n1  seg_0012b5                1\n2  seg_00184e                1\n3  seg_003339                1\n4  seg_0042cc                1","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>seg_id</th>\n      <th>time_to_failure</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>seg_00030f</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>seg_0012b5</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>seg_00184e</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>seg_003339</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>seg_0042cc</td>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt\nplt.hist(submission['time_to_failure'])\n","execution_count":41,"outputs":[{"output_type":"execute_result","execution_count":41,"data":{"text/plain":"(array([   0.,    0.,    0.,    0.,    0., 2624.,    0.,    0.,    0.,\n           0.]),\n array([0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4, 1.5]),\n <a list of 10 Patch objects>)"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission.to_csv('l.csv',index = False)","execution_count":42,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from IPython.display import HTML\n\ndef create_download_link(title = \"Download CSV file\", filename = \"data.csv\"):  \n    html = '<a href={filename}>{title}</a>'\n    html = html.format(title=title,filename=filename)\n    return HTML(html)\n\n# create a link to download the dataframe which was saved with .to_csv method\ncreate_download_link(filename='l.csv')","execution_count":43,"outputs":[{"output_type":"execute_result","execution_count":43,"data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"<a href=l.csv>Download CSV file</a>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from IPython.display import HTML\nhtml = '<a href = \"l.csv\">d</a>'\nHTML(html)","execution_count":44,"outputs":[{"output_type":"execute_result","execution_count":44,"data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"<a href = \"l.csv\">d</a>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"def testInfo(seg_id):\n    test_df = pd.read_csv('../input/test/' + seg_id + '.csv')\n    return(test_df.acoustic_data.max())\n#submission = pd.read_csv('../input/sample_submission.csv')\n#submission['time_to_failure']=submission['seg_id'].apply(testInfo)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}