{"cells":[{"metadata":{"_uuid":"2b862565-7109-48d3-b274-2cc4be4aee1d","_cell_guid":"350e4622-7029-40d4-8870-6c3fc2100f5b","trusted":true},"cell_type":"code","source":"\nimport numpy as np \nimport pandas as pd \nimport matplotlib.pyplot as plt\nimport cv2\nimport os\nimport tensorflow as tf\nimport keras\nfrom keras.utils import to_categorical\nfrom sklearn.model_selection import train_test_split","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"e7e3f940-5081-4099-af53-f53f06d20cdb","_cell_guid":"1d5bb48b-2b7a-4ea4-8cb5-80329e22834f","trusted":true},"cell_type":"code","source":"covid_dir='../input/deep-learning-competition-cs-2020/train/train/COVID19 AND PNEUMONIA/'\nnormal_dir='../input/deep-learning-competition-cs-2020/train/train/NORMAL'\ncovid_imgs=[]\nlabels=[]\nimg_width=128\nimg_height=128\nfor  dirname, _, imgs in os.walk(covid_dir):\n    for img in imgs:\n        abs_path = os.path.join(dirname, img)\n        image=cv2.imread(abs_path)\n        image=cv2.resize(image,(img_width,img_height))\n        covid_imgs.append(image)\n        labels.append(1)\nfor  dirname, _, imgs in os.walk(normal_dir):\n    for img in imgs:\n        abs_path = os.path.join(dirname, img)\n        image=cv2.imread(abs_path)\n        image=cv2.resize(image,(img_width,img_height))        \n        covid_imgs.append(image)\n        labels.append(0)\nimgs=covid_imgs","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"8c5ef4ea-8baa-48a3-acb2-36cd55f7caee","_cell_guid":"2aaf9a57-6a09-4e2b-a952-72604f9fe3ce","trusted":true},"cell_type":"code","source":"test_dir='../input/deep-learning-competition-cs-2020/test/test'\ntest_imgs=[]\nimg_names=[]\nfor  dirname, _, imgs in os.walk(test_dir):\n    for img in imgs:\n        abs_path = os.path.join(dirname, img)\n        img_names.append(img)\n        image=cv2.imread(abs_path)\n        image=cv2.resize(image,(img_width,img_height))\n        test_imgs.append(image)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"aaa1a88c-4708-438a-83fe-22a7ecb28ea5","_cell_guid":"d0c566d6-2064-4a0b-98aa-034af570c738","trusted":true},"cell_type":"code","source":"test_imgs=np.array(test_imgs)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(len(covid_imgs))","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"4329763a-d30e-4204-963e-8de6f6539ed7","_cell_guid":"b99cc356-671e-4bc8-925b-073f16beeca1","trusted":true},"cell_type":"code","source":"X_train, X_test, y_train, y_test = train_test_split(covid_imgs, labels, test_size=0.3, random_state=42,stratify=labels)\nx_train=np.array(X_train)\nx_test=np.array(X_test)\ny_train=np.array(y_train)\ny_test=np.array(y_test)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d8dd307a-08e3-4562-bbd6-9183e7948ea9","_cell_guid":"0b632d87-268c-4558-92a0-97cdc8425113","trusted":true},"cell_type":"code","source":"y_train=to_categorical(y_train) \ny_test=to_categorical(y_test)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"b6d7e08a-bd16-440d-ba80-bdd0814b6dd5","_cell_guid":"b4dfed98-a9de-4a0c-9df0-f5cefa83dc3e","trusted":true},"cell_type":"code","source":"KerasModel = keras.models.Sequential([\n        keras.layers.Conv2D(200,kernel_size=(3,3),activation='relu',input_shape=(img_width,img_height,3)),\n        keras.layers.Conv2D(150,kernel_size=(3,3),activation='relu'),\n        keras.layers.MaxPool2D(4,4),\n        keras.layers.Conv2D(120,kernel_size=(3,3),activation='relu'),    \n        keras.layers.Conv2D(80,kernel_size=(3,3),activation='relu'),    \n        keras.layers.Conv2D(50,kernel_size=(3,3),activation='relu'),\n        keras.layers.MaxPool2D(4,4),\n        keras.layers.Flatten() ,    \n        keras.layers.Dense(120,activation='relu') ,    \n        keras.layers.Dense(100,activation='relu') ,    \n        keras.layers.Dense(50,activation='relu') ,        \n        keras.layers.Dropout(rate=0.5) ,            \n        keras.layers.Dense(2,activation='softmax') ,    \n        ])\n","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"259cd15e-40d6-4559-9345-9564f778cec0","_cell_guid":"330f2af3-9006-45ff-84fd-9262dd6db839","trusted":true},"cell_type":"code","source":"KerasModel.compile(optimizer ='adam',loss='binary_crossentropy',metrics=['accuracy'])","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"723513a7-5128-435f-8244-10477c261ce6","_cell_guid":"e089e386-e596-4850-bbdf-1e4a6a31ca16","trusted":true},"cell_type":"code","source":"ThisModel = KerasModel.fit(x_train, y_train, epochs=20,batch_size=64,verbose=1,validation_split=0.1)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"63101fa7-d391-4ef6-aec9-6ab6e0dc13c8","_cell_guid":"8fcd7da0-55c6-4fea-8e11-8cd0b4d37153","trusted":true},"cell_type":"code","source":"ModelLoss, ModelAccuracy = KerasModel.evaluate(x_test, y_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(ModelAccuracy)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"179caf52-c8e2-4e9e-8ce6-64ded55a6aee","_cell_guid":"e5b7c97d-ed35-4fa1-b092-5e3ad2ef9d8e","trusted":true},"cell_type":"code","source":"y_pred = KerasModel.predict(test_imgs)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(y_pred[10])","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"a1c041ea-aecb-48bd-8180-361123490113","_cell_guid":"4c018061-5886-42e4-a8fe-28d8d66927ea","trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"8dffe11f-23b0-407c-8411-d28dd9c26fe0","_cell_guid":"edce873c-1c08-45d2-bf47-8841071d0c7b","trusted":true},"cell_type":"code","source":"data = list(zip(img_names, y_pred))\nsubmission_df = pd.DataFrame(data, columns=['Image','Label'])\nsubmission_df.head()\nsubmission_df.to_csv(\"Submission.csv\",index=False)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}