{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt \nimport seaborn as sns\nimport os\nimport cv2\nfrom tensorflow.keras import layers\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import Dense, Flatten, Dropout, Activation, Conv2D, MaxPooling2D\nfrom tensorflow.keras import Model\nfrom tensorflow.keras.optimizers import RMSprop\nimport tensorflow as tf\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nimport os\nprint(os.listdir(\"../input\"))\n\n# Any results you write to the current directory are saved as output.","execution_count":44,"outputs":[{"output_type":"stream","text":"['train', 'test1', 'sampleSubmission.csv']\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"main_dir = \"../input/\"\ntrain_dir = \"train/train\"\npath = os.path.join(main_dir,train_dir)\n\nfor p in os.listdir(path):\n    category = p.split(\".\")[0]\n    img_array = cv2.imread(os.path.join(path,p),cv2.IMREAD_COLOR)\n    new_img_array = cv2.resize(img_array, dsize=(80, 80))\n    plt.imshow(new_img_array,cmap=\"gray\")\n    break","execution_count":29,"outputs":[{"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":"X = []\ny = []\nconvert = lambda category : int(category == 'dog')\ndef create_test_data(path):\n    for p in os.listdir(path):\n        category = p.split(\".\")[0]\n        category = convert(category)\n        img_array = cv2.imread(os.path.join(path,p),cv2.IMREAD_GRAYSCALE)\n        new_img_array = cv2.resize(img_array, dsize=(80, 80))\n        X.append(new_img_array)\n        y.append(category)","execution_count":36,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"create_test_data(path)\nX = np.array(X).reshape(-1, 80,80,1)\ny = np.array(y)","execution_count":37,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)","execution_count":38,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"(X_train.shape,y_train.shape)","execution_count":39,"outputs":[{"output_type":"execute_result","execution_count":39,"data":{"text/plain":"((20000, 80, 80, 1), (20000,))"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"(X_test.shape,y_test.shape)","execution_count":40,"outputs":[{"output_type":"execute_result","execution_count":40,"data":{"text/plain":"((5000, 80, 80, 1), (5000,))"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"model = tf.keras.models.Sequential([\n    tf.keras.layers.Conv2D(16, (3, 3), activation='relu', input_shape=(80, 80, 1)),\n    tf.keras.layers.MaxPooling2D(2, 2),\n    tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),\n    tf.keras.layers.MaxPooling2D(2, 2),\n    tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),\n    tf.keras.layers.MaxPooling2D(2, 2),\n    tf.keras.layers.Flatten(),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dense(1, activation='sigmoid')\n])\nmodel.compile(optimizer=RMSprop(lr=0.001), loss='binary_crossentropy', metrics=['acc'])","execution_count":42,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_datagen = ImageDataGenerator(rescale=1./255,\n      rotation_range=40,\n      width_shift_range=0.2,\n      height_shift_range=0.2,\n      shear_range=0.2,\n      zoom_range=0.2,\n      horizontal_flip=True,\n      fill_mode='nearest')\ntrain_datagen.fit(X_train)","execution_count":47,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"val_datagen = ImageDataGenerator(rescale=1./255,\n      rotation_range=40,\n      width_shift_range=0.2,\n      height_shift_range=0.2,\n      shear_range=0.2,\n      zoom_range=0.2,\n      horizontal_flip=True,\n      fill_mode='nearest')\nval_datagen.fit(X_test)\n","execution_count":48,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"history = model.fit_generator(train_datagen.flow(X_train,y_train,batch_size=100),\n                              epochs=15,\n                              verbose=1,\n                              validation_data=val_datagen.flow(X_test,y_test,batch_size=100))","execution_count":55,"outputs":[{"output_type":"stream","text":"Epoch 1/15\n50/50 [==============================] - 3s 68ms/step - loss: 0.4560 - acc: 0.7786\n200/200 [==============================] - 16s 81ms/step - loss: 0.4240 - acc: 0.8030 - val_loss: 0.4560 - val_acc: 0.7786\nEpoch 2/15\n50/50 [==============================] - 3s 68ms/step - loss: 0.4322 - acc: 0.7924\n200/200 [==============================] - 15s 76ms/step - loss: 0.4187 - acc: 0.8092 - val_loss: 0.4322 - val_acc: 0.7924\nEpoch 3/15\n50/50 [==============================] - 3s 67ms/step - loss: 0.4158 - acc: 0.8044\n200/200 [==============================] - 15s 76ms/step - loss: 0.4157 - acc: 0.8086 - val_loss: 0.4158 - val_acc: 0.8044\nEpoch 4/15\n50/50 [==============================] - 3s 67ms/step - loss: 0.4193 - acc: 0.8104\n200/200 [==============================] - 15s 76ms/step - loss: 0.4165 - acc: 0.8117 - val_loss: 0.4193 - val_acc: 0.8104\nEpoch 5/15\n50/50 [==============================] - 4s 73ms/step - loss: 0.4818 - acc: 0.7898\n200/200 [==============================] - 15s 77ms/step - loss: 0.4112 - acc: 0.8128 - val_loss: 0.4818 - val_acc: 0.7898\nEpoch 6/15\n50/50 [==============================] - 3s 67ms/step - loss: 0.4038 - acc: 0.8172\n200/200 [==============================] - 16s 79ms/step - loss: 0.4106 - acc: 0.8112 - val_loss: 0.4038 - val_acc: 0.8172\nEpoch 7/15\n50/50 [==============================] - 3s 67ms/step - loss: 0.4093 - acc: 0.8180\n200/200 [==============================] - 15s 75ms/step - loss: 0.4040 - acc: 0.8153 - val_loss: 0.4093 - val_acc: 0.8180\nEpoch 8/15\n50/50 [==============================] - 3s 67ms/step - loss: 0.5159 - acc: 0.7608\n200/200 [==============================] - 15s 74ms/step - loss: 0.4114 - acc: 0.8128 - val_loss: 0.5159 - val_acc: 0.7608\nEpoch 9/15\n50/50 [==============================] - 3s 66ms/step - loss: 0.4826 - acc: 0.7868\n200/200 [==============================] - 15s 74ms/step - loss: 0.4020 - acc: 0.8153 - val_loss: 0.4826 - val_acc: 0.7868\nEpoch 10/15\n50/50 [==============================] - 3s 66ms/step - loss: 0.3979 - acc: 0.8226\n200/200 [==============================] - 15s 74ms/step - loss: 0.4010 - acc: 0.8181 - val_loss: 0.3979 - val_acc: 0.8226\nEpoch 11/15\n50/50 [==============================] - 3s 65ms/step - loss: 0.4199 - acc: 0.8010\n200/200 [==============================] - 16s 80ms/step - loss: 0.4000 - acc: 0.8174 - val_loss: 0.4199 - val_acc: 0.8010\nEpoch 12/15\n50/50 [==============================] - 3s 65ms/step - loss: 0.4064 - acc: 0.8046\n200/200 [==============================] - 15s 74ms/step - loss: 0.4028 - acc: 0.8146 - val_loss: 0.4064 - val_acc: 0.8046\nEpoch 13/15\n50/50 [==============================] - 3s 65ms/step - loss: 0.3868 - acc: 0.8224\n200/200 [==============================] - 15s 74ms/step - loss: 0.3962 - acc: 0.8189 - val_loss: 0.3868 - val_acc: 0.8224\nEpoch 14/15\n50/50 [==============================] - 3s 66ms/step - loss: 0.3967 - acc: 0.8178\n200/200 [==============================] - 15s 75ms/step - loss: 0.3940 - acc: 0.8205 - val_loss: 0.3967 - val_acc: 0.8178\nEpoch 15/15\n50/50 [==============================] - 3s 66ms/step - loss: 0.3996 - acc: 0.8188\n200/200 [==============================] - 15s 75ms/step - loss: 0.3960 - acc: 0.8188 - val_loss: 0.3996 - val_acc: 0.8188\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"%matplotlib inline\n\nimport matplotlib.image  as mpimg\nimport matplotlib.pyplot as plt\n\n#-----------------------------------------------------------\n# Retrieve a list of list results on training and test data\n# sets for each training epoch\n#-----------------------------------------------------------\nacc=history.history['acc']\nval_acc=history.history['val_acc']\nloss=history.history['loss']\nval_loss=history.history['val_loss']\n\nepochs=range(len(acc)) # Get number of epochs\n\n#------------------------------------------------\n# Plot training and validation accuracy per epoch\n#------------------------------------------------\nplt.plot(epochs, acc, 'r', \"Training Accuracy\")\nplt.plot(epochs, val_acc, 'b', \"Validation Accuracy\")\nplt.title('Training and validation accuracy')\nplt.figure()\n\n#------------------------------------------------\n# Plot training and validation loss per epoch\n#------------------------------------------------\nplt.plot(epochs, loss, 'r', \"Training Loss\")\nplt.plot(epochs, val_loss, 'b', \"Validation Loss\")\nplt.figure()\n","execution_count":56,"outputs":[{"output_type":"execute_result","execution_count":56,"data":{"text/plain":"<Figure size 432x288 with 0 Axes>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 0 Axes>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_dir = \"test1/test1\"\npath = os.path.join(main_dir,train_dir)\n#os.listdir(path)\n\nX_test = []\nid_line = []\ndef create_test1_data(path):\n    for p in os.listdir(path):\n        id_line.append(p.split(\".\")[0])\n        img_array = cv2.imread(os.path.join(path,p),cv2.IMREAD_GRAYSCALE)\n        new_img_array = cv2.resize(img_array, dsize=(80, 80))\n        X_test.append(new_img_array)\ncreate_test1_data(path)\nX_test = np.array(X_test).reshape(-1,80,80,1)\nX_test = X_test/255","execution_count":57,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"predictions = model.predict(X_test)","execution_count":58,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"predicted_val = [int(round(p[0])) for p in predictions]","execution_count":59,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission_df = pd.DataFrame({'id':id_line, 'label':predicted_val})","execution_count":60,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission_df.to_csv(\"submission.csv\", index=False)","execution_count":61,"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}