diff --git a/endsem.ipynb b/endsem.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..e36a15fdaba1e0891a284f22fecfc43aa5f78b25
--- /dev/null
+++ b/endsem.ipynb
@@ -0,0 +1 @@
+{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"endsem.ipynb","version":"0.3.2","provenance":[],"collapsed_sections":["rTH95v-BwaqB","IbeAPo2krFTR"]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"metadata":{"id":"rLMJKssDr4mI","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":122},"outputId":"902da170-f431-4f84-ad4d-d710f076b0c8","executionInfo":{"status":"ok","timestamp":1554840089592,"user_tz":-330,"elapsed":11235,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["from google.colab import drive\n","drive.mount('/content/drive')\n"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/drive\n"],"name":"stdout"}]},{"metadata":{"id":"7ePDMjg5sTl6","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":102},"outputId":"56080d8d-f94d-4d84-8743-d4893278c513","executionInfo":{"status":"ok","timestamp":1554843518579,"user_tz":-330,"elapsed":9221,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["!ls \"/content/drive/My Drive/Colab Notebooks\"\n","\n"],"execution_count":36,"outputs":[{"output_type":"stream","text":[" age_predictor.ipynb\t\t\t  endsem.ipynb\n"," autoencoder\t\t\t\t  exam.ipynb\n"," cat_dog.ipynb\t\t\t\t  Image_colorization.ipynb\n"," cats-and-dogs\t\t\t\t  Untitled0.ipynb\n","'Classification with autoencoder.ipynb'\n"],"name":"stdout"}]},{"metadata":{"id":"rTH95v-BwaqB","colab_type":"text"},"cell_type":"markdown","source":["# CNN"]},{"metadata":{"id":"H81EV3QJtRnK","colab_type":"text"},"cell_type":"markdown","source":["**CNN cats and dogs**"]},{"metadata":{"id":"y9Am6nBosY8Z","colab_type":"code","colab":{}},"cell_type":"code","source":["\n","from keras.preprocessing.image import ImageDataGenerator\n","from keras.layers import Conv2D, MaxPooling2D, Activation, Dropout, Dense, Flatten\n","from keras.models import Sequential\n","from keras import backend as K"],"execution_count":0,"outputs":[]},{"metadata":{"id":"RvByZVzBt-M3","colab_type":"code","colab":{}},"cell_type":"code","source":["img_width, img_height = 224,224\n","train_dir = \"/content/drive/My Drive/Colab Notebooks/cats-and-dogs/train\"\n","test_dir = \"/content/drive/My Drive/Colab Notebooks/cats-and-dogs/test\"\n","epochs=2\n","train_samples=40\n","validation_samples=10\n","batch_size=4\n"],"execution_count":0,"outputs":[]},{"metadata":{"id":"ZTUde0keu307","colab_type":"code","colab":{}},"cell_type":"code","source":["if K.image_data_format()== 'channels_first':\n","  ipshape = (3, 224, 224)\n","else:\n","  ipshape = (224, 224, 3)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"HcWTXQcUvOZd","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":88},"outputId":"0888a0b5-3fa3-4c39-e5a0-3f3477a56bb9","executionInfo":{"status":"ok","timestamp":1554843688330,"user_tz":-330,"elapsed":991,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["model= Sequential()\n","model.add(Conv2D(32, (3,3), input_shape=ipshape))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2)))\n","\n","model= Sequential()\n","model.add(Conv2D(32, (3,3)))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2)))\n","\n","model= Sequential()\n","model.add(Conv2D(64, (3,3)))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2)))\n","\n","model.add(Flatten())\n","model.add(Dense(64))\n","model.add(Activation('relu'))\n","model.add(Dropout()"],"execution_count":44,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n","Instructions for updating:\n","Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n"],"name":"stdout"}]},{"metadata":{"id":"F4Yof2N1xIJ1","colab_type":"code","colab":{}},"cell_type":"code","source":["model.compile(loss='binary_crossentropy', optimizer= 'rmsprop', metrics=['accuracy'])"],"execution_count":0,"outputs":[]},{"metadata":{"id":"V6ZRxA4Vxdfw","colab_type":"code","colab":{}},"cell_type":"code","source":["train_datagen = ImageDataGenerator(rescale = 1./255, shear_range=0.2, zoom_range= 0.2, horizontal_flip =True)\n","test_datagen=ImageDataGenerator(rescale = 1./255)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"SjlLCVJYx72e","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"57c2bd09-4eeb-4dd3-cc13-42dd56cde551","executionInfo":{"status":"ok","timestamp":1554843763395,"user_tz":-330,"elapsed":1167,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["train_generator= train_datagen.flow_from_directory(train_dir, target_size =(img_width, img_height), batch_size=batch_size, class_mode='binary' )\n","print(train_generator.class_indices)"],"execution_count":48,"outputs":[{"output_type":"stream","text":["Found 40 images belonging to 2 classes.\n","{'cat': 0, 'dog': 1}\n"],"name":"stdout"}]},{"metadata":{"id":"Ik_R1hbU0Ehi","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"2d882ac4-4c26-48b4-b223-febc2a719c9d","executionInfo":{"status":"ok","timestamp":1554843752782,"user_tz":-330,"elapsed":1124,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["validation_generator= test_datagen.flow_from_directory(test_dir, target_size =(img_width, img_height), batch_size=batch_size, class_mode='binary' )\n","print(validation_generator.class_indices)"],"execution_count":47,"outputs":[{"output_type":"stream","text":["Found 10 images belonging to 2 classes.\n","{'cat': 0, 'dog': 1}\n"],"name":"stdout"}]},{"metadata":{"id":"liBxeG3m0mSr","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":173},"outputId":"b241a7df-a7e4-422a-9f40-4b6216f1357d","executionInfo":{"status":"ok","timestamp":1554843820655,"user_tz":-330,"elapsed":49186,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["import scipy.ndimage\n","model.fit_generator(train_generator , steps_per_epoch= 40, epochs=2, validation_data= validation_generator, validation_steps=10)"],"execution_count":49,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n","Instructions for updating:\n","Use tf.cast instead.\n","Epoch 1/2\n","40/40 [==============================] - 29s 718ms/step - loss: 0.8330 - acc: 0.5125 - val_loss: 0.6970 - val_acc: 0.5000\n","Epoch 2/2\n","40/40 [==============================] - 19s 468ms/step - loss: 0.7049 - acc: 0.5500 - val_loss: 0.6888 - val_acc: 0.7059\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["<keras.callbacks.History at 0x7f72d1d71828>"]},"metadata":{"tags":[]},"execution_count":49}]},{"metadata":{"id":"YI8mNtBt6xWn","colab_type":"code","colab":{}},"cell_type":"code","source":["model.save('sarav.h5')"],"execution_count":0,"outputs":[]},{"metadata":{"id":"aaWlpqzP7TwZ","colab_type":"code","colab":{}},"cell_type":"code","source":["from keras.models import load_model\n","from keras.preprocessing import image\n","import numpy as np\n","from os import listdir\n","from os.path import isfile, join"],"execution_count":0,"outputs":[]},{"metadata":{"id":"LPOBKC0C8E1H","colab_type":"code","colab":{}},"cell_type":"code","source":["model = load_model('sarav.h5')"],"execution_count":0,"outputs":[]},{"metadata":{"id":"UJ3PN7sY8R9g","colab_type":"code","colab":{}},"cell_type":"code","source":["model.compile(loss= 'binary_crossentropy', optimizer ='rmsprop', metrics=['accuracy'])"],"execution_count":0,"outputs":[]},{"metadata":{"id":"jLNXN4sM8tZV","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":54},"outputId":"8e6fad27-a88a-46ab-8477-2051b8fc4e66","executionInfo":{"status":"ok","timestamp":1554845447284,"user_tz":-330,"elapsed":1111,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["mypath= '/content/drive/My Drive/Colab Notebooks/cats-and-dogs/valid/'\n","onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath, f)) ]\n","print(onlyfiles)"],"execution_count":57,"outputs":[{"output_type":"stream","text":["['cat.57.jpg', 'cat.93.jpg', 'cat.60.jpg', 'cat.76.jpg', 'cat.78.jpg', 'cat.58.jpg', 'cat.70.jpg', 'dog.492.jpg', 'cat.94.jpg', 'dog.493.jpg', 'dog.494.jpg', 'dog.614.jpg', 'dog.496.jpg', 'dog.514.jpg', 'dog.531.jpg', 'dog.618.jpg']\n"],"name":"stdout"}]},{"metadata":{"id":"w12o-e54920M","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":323},"outputId":"b1ce9496-9e66-4855-f178-8b5ca1033ef8","executionInfo":{"status":"ok","timestamp":1554845513766,"user_tz":-330,"elapsed":7382,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["d,c=0,0\n","for file in onlyfiles:\n","  img = image.load_img(mypath+file , target_size=(224, 224))\n","  x=image.img_to_array(img)\n","  x=np.expand_dims(x,axis=0)\n","                       \n","  images=np.vstack([x])        \n","  classes=model.predict_classes(images,batch_size=10)\n","  classes = classes[0][0]\n","  \n","                       \n","  if classes == 0:\n","        print(file + \": \" + 'cat')\n","        c += 1\n","  else:\n","        print(file + \": \" + 'dog')\n","        d += 1\n","print(\"Total Dogs :\",d)\n","print(\"Total Cats :\",c)                       \n","                       \n","                       \n","                       \n","                       "],"execution_count":61,"outputs":[{"output_type":"stream","text":["cat.57.jpg: cat\n","cat.93.jpg: cat\n","cat.60.jpg: dog\n","cat.76.jpg: dog\n","cat.78.jpg: cat\n","cat.58.jpg: dog\n","cat.70.jpg: dog\n","dog.492.jpg: dog\n","cat.94.jpg: cat\n","dog.493.jpg: dog\n","dog.494.jpg: dog\n","dog.614.jpg: dog\n","dog.496.jpg: dog\n","dog.514.jpg: dog\n","dog.531.jpg: dog\n","dog.618.jpg: dog\n","Total Dogs : 12\n","Total Cats : 4\n"],"name":"stdout"}]},{"metadata":{"id":"5G4qO2aiDOZ9","colab_type":"text"},"cell_type":"markdown","source":["**own try\n","**"]},{"metadata":{"id":"gFtCvaR0DLn5","colab_type":"code","colab":{}},"cell_type":"code","source":["from keras.preprocessing.image import ImageDataGenerator\n","from keras.models import Sequential\n","from keras.layers import Activation, Conv2D, MaxPooling2D, Dense, Dropout, Flatten\n","import keras.backend as K"],"execution_count":0,"outputs":[]},{"metadata":{"id":"KKlVouvvLL6L","colab_type":"code","colab":{}},"cell_type":"code","source":["train_dir = \"/content/drive/My Drive/Colab Notebooks/cats-and-dogs/train\"\n","test_dir = \"/content/drive/My Drive/Colab Notebooks/cats-and-dogs/test\"\n","epochs=2\n","wid, hgt=224, 224\n","batch=4\n","testsamples=10\n","trainsampls=40"],"execution_count":0,"outputs":[]},{"metadata":{"id":"MVxRObvqLo5D","colab_type":"code","colab":{}},"cell_type":"code","source":["if K.image_data_format =='channels_first':\n","  shape=(3, 224, 224)\n","else:\n","  shape=(224, 224, 3)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"4C6xSLI0Lgdx","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":646},"outputId":"c9ed384d-5b93-44ee-ac40-74f6a1410db6","executionInfo":{"status":"ok","timestamp":1554876825969,"user_tz":-330,"elapsed":5314,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["model=Sequential()\n","model.add(Conv2D(32, (3,3), input_shape=shape))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2)))\n","          \n","model.add(Conv2D(32, (3,3)))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2)))\n","          \n","          \n","model.add(Conv2D(64, (3,3)))\n","model.add(Activation('relu'))\n","model.add(MaxPooling2D(pool_size=(2,2))) \n","          \n","model.add(Flatten())\n","model.add(Dense(64))\n","model.add(Activation('relu'))\n","model.add(Dropout(0.5))\n","model.add(Dense(1))\n","model.add(Activation('sigmoid'))         \n","model.summary()"],"execution_count":159,"outputs":[{"output_type":"stream","text":["_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","conv2d_41 (Conv2D)           (None, 222, 222, 32)      896       \n","_________________________________________________________________\n","activation_30 (Activation)   (None, 222, 222, 32)      0         \n","_________________________________________________________________\n","max_pooling2d_27 (MaxPooling (None, 111, 111, 32)      0         \n","_________________________________________________________________\n","conv2d_42 (Conv2D)           (None, 109, 109, 32)      9248      \n","_________________________________________________________________\n","activation_31 (Activation)   (None, 109, 109, 32)      0         \n","_________________________________________________________________\n","max_pooling2d_28 (MaxPooling (None, 54, 54, 32)        0         \n","_________________________________________________________________\n","conv2d_43 (Conv2D)           (None, 52, 52, 64)        18496     \n","_________________________________________________________________\n","activation_32 (Activation)   (None, 52, 52, 64)        0         \n","_________________________________________________________________\n","max_pooling2d_29 (MaxPooling (None, 26, 26, 64)        0         \n","_________________________________________________________________\n","flatten_6 (Flatten)          (None, 43264)             0         \n","_________________________________________________________________\n","dense_13 (Dense)             (None, 64)                2768960   \n","_________________________________________________________________\n","activation_33 (Activation)   (None, 64)                0         \n","_________________________________________________________________\n","dropout_6 (Dropout)          (None, 64)                0         \n","_________________________________________________________________\n","dense_14 (Dense)             (None, 1)                 65        \n","_________________________________________________________________\n","activation_34 (Activation)   (None, 1)                 0         \n","=================================================================\n","Total params: 2,797,665\n","Trainable params: 2,797,665\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"metadata":{"id":"lKoBrYDjNUCF","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":646},"outputId":"3f99f0d5-ac40-4e4a-c4de-6ec93c061e0f","executionInfo":{"status":"ok","timestamp":1554876850071,"user_tz":-330,"elapsed":1101,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])\n","model.summary()"],"execution_count":160,"outputs":[{"output_type":"stream","text":["_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","conv2d_41 (Conv2D)           (None, 222, 222, 32)      896       \n","_________________________________________________________________\n","activation_30 (Activation)   (None, 222, 222, 32)      0         \n","_________________________________________________________________\n","max_pooling2d_27 (MaxPooling (None, 111, 111, 32)      0         \n","_________________________________________________________________\n","conv2d_42 (Conv2D)           (None, 109, 109, 32)      9248      \n","_________________________________________________________________\n","activation_31 (Activation)   (None, 109, 109, 32)      0         \n","_________________________________________________________________\n","max_pooling2d_28 (MaxPooling (None, 54, 54, 32)        0         \n","_________________________________________________________________\n","conv2d_43 (Conv2D)           (None, 52, 52, 64)        18496     \n","_________________________________________________________________\n","activation_32 (Activation)   (None, 52, 52, 64)        0         \n","_________________________________________________________________\n","max_pooling2d_29 (MaxPooling (None, 26, 26, 64)        0         \n","_________________________________________________________________\n","flatten_6 (Flatten)          (None, 43264)             0         \n","_________________________________________________________________\n","dense_13 (Dense)             (None, 64)                2768960   \n","_________________________________________________________________\n","activation_33 (Activation)   (None, 64)                0         \n","_________________________________________________________________\n","dropout_6 (Dropout)          (None, 64)                0         \n","_________________________________________________________________\n","dense_14 (Dense)             (None, 1)                 65        \n","_________________________________________________________________\n","activation_34 (Activation)   (None, 1)                 0         \n","=================================================================\n","Total params: 2,797,665\n","Trainable params: 2,797,665\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"metadata":{"id":"msAiEVgqLjzj","colab_type":"code","colab":{}},"cell_type":"code","source":["train_datagen=ImageDataGenerator(rescale = 1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, vertical_flip=True)\n","validation_datagen=ImageDataGenerator(rescale = 1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, vertical_flip=True)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"a82sxeW0K9o7","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"6c0ec65c-4aee-416d-a732-86dc44f3508f","executionInfo":{"status":"ok","timestamp":1554849127909,"user_tz":-330,"elapsed":827,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["train_generator=train_datagen.flow_from_directory(train_dir, target_size=(wid,hgt), batch_size=batch, class_mode='binary')\n","print(train_generator.class_indices)"],"execution_count":78,"outputs":[{"output_type":"stream","text":["Found 40 images belonging to 2 classes.\n","{'cat': 0, 'dog': 1}\n"],"name":"stdout"}]},{"metadata":{"id":"FMvdTS8QOtnC","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"b54b856c-ee5a-4291-ae5c-d40ab9cf3c2d","executionInfo":{"status":"ok","timestamp":1554849233887,"user_tz":-330,"elapsed":1303,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["validation_generator=validation_datagen.flow_from_directory(test_dir, target_size=(224, 224), batch_size=batch, class_mode='binary')\n","print(validation_generator.class_indices)"],"execution_count":80,"outputs":[{"output_type":"stream","text":["Found 10 images belonging to 2 classes.\n","{'cat': 0, 'dog': 1}\n"],"name":"stdout"}]},{"metadata":{"id":"wUsvWbe1PKmT","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":204},"outputId":"448b4887-6861-4afb-8f88-38f93cad455d","executionInfo":{"status":"ok","timestamp":1554849502501,"user_tz":-330,"elapsed":97399,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["model.fit_generator(train_generator, epochs=5, validation_data=validation_generator, steps_per_epoch=40, validation_steps=10)"],"execution_count":82,"outputs":[{"output_type":"stream","text":["Epoch 1/5\n","40/40 [==============================] - 20s 503ms/step - loss: 0.6993 - acc: 0.5938 - val_loss: 0.7070 - val_acc: 0.5000\n","Epoch 2/5\n","40/40 [==============================] - 19s 472ms/step - loss: 0.6815 - acc: 0.6875 - val_loss: 0.6070 - val_acc: 0.6562\n","Epoch 3/5\n","40/40 [==============================] - 19s 475ms/step - loss: 0.6326 - acc: 0.7000 - val_loss: 0.5350 - val_acc: 0.7059\n","Epoch 4/5\n","40/40 [==============================] - 19s 479ms/step - loss: 0.5409 - acc: 0.7375 - val_loss: 0.5376 - val_acc: 0.6765\n","Epoch 5/5\n","40/40 [==============================] - 19s 476ms/step - loss: 0.3927 - acc: 0.8563 - val_loss: 0.5805 - val_acc: 0.7188\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["<keras.callbacks.History at 0x7f72d1718b38>"]},"metadata":{"tags":[]},"execution_count":82}]},{"metadata":{"id":"Ct-oq4EEPlPf","colab_type":"code","colab":{}},"cell_type":"code","source":["model.save('own.h5')"],"execution_count":0,"outputs":[]},{"metadata":{"id":"sKpZBUhQPs-6","colab_type":"code","colab":{}},"cell_type":"code","source":["import numpy as np\n","from keras.models import load_model\n","from keras.preprocessing import image\n","from os import listdir\n","from os.path import isfile, join"],"execution_count":0,"outputs":[]},{"metadata":{"id":"uEVgq71AQK_q","colab_type":"code","colab":{}},"cell_type":"code","source":["mypath='/content/drive/My Drive/Colab Notebooks/cats-and-dogs/valid/'\n","onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath,f))]\n","import matplotlib.pyplot as plt\n","%matplotlib inline"],"execution_count":0,"outputs":[]},{"metadata":{"id":"uxO4JRKXSLpx","colab_type":"code","colab":{}},"cell_type":"code","source":["model=load_model('own.h5')"],"execution_count":0,"outputs":[]},{"metadata":{"id":"7vMKVUYaRBET","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":289},"outputId":"d110d47e-6ada-47a7-ea44-58484038639d","executionInfo":{"status":"ok","timestamp":1554850639030,"user_tz":-330,"elapsed":2934,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["d,c=0,0\n","for file in onlyfiles:\n","  img=image.load_img(mypath+file, target_size=(224, 224))\n"," \n","  x=image.img_to_array(img)\n","  x=np.expand_dims(x, axis=0)\n","  \n","  images=np.vstack([x])\n","  classes=model.predict(images)\n","  classes=classes[0][0]\n","  \n","  if classes==0:\n","    print(file, 'cat')\n","    c+=1\n","  if classes==1:\n","    print(file, 'dog')\n","    d+=1\n","  \n","print('cats : ',c)\n","print('dogs : ',d)"],"execution_count":105,"outputs":[{"output_type":"stream","text":["cat.60.jpg cat\n","cat.76.jpg cat\n","cat.78.jpg cat\n","cat.70.jpg cat\n","dog.492.jpg dog\n","dog.493.jpg dog\n","dog.494.jpg dog\n","dog.614.jpg dog\n","dog.496.jpg dog\n","dog.514.jpg dog\n","dog.531.jpg dog\n","dog.618.jpg dog\n","16880645_701387420070705_1744820122_o.jpg dog\n","31764622_1014444942058458_5853879796966096896_n.jpg dog\n","cats :  4\n","dogs :  10\n"],"name":"stdout"}]},{"metadata":{"id":"1FCIGcrpQHBg","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]},{"metadata":{"id":"IbeAPo2krFTR","colab_type":"text"},"cell_type":"markdown","source":["# Simple Autoencoder\n"]},{"metadata":{"id":"zxienItwU-sY","colab_type":"code","colab":{}},"cell_type":"code","source":["from keras.datasets import mnist\n","from keras.layers import Input, Dense\n","from keras.models import Model"],"execution_count":0,"outputs":[]},{"metadata":{"id":"BeuyJ3_brWm1","colab_type":"code","colab":{}},"cell_type":"code","source":["import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt"],"execution_count":0,"outputs":[]},{"metadata":{"id":"ei5pf5nurgqB","colab_type":"code","colab":{}},"cell_type":"code","source":["(xtrain,_), (xtest,_)=mnist.load_data()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"e_y8KeKRrpJt","colab_type":"code","colab":{}},"cell_type":"code","source":["xtrain=xtrain.astype('float32')/255\n","xtest=xtest.astype('float32')/255"],"execution_count":0,"outputs":[]},{"metadata":{"id":"HnwKlCOZsAsK","colab_type":"code","colab":{}},"cell_type":"code","source":["xtrain=xtrain.reshape(len(xtrain), np.prod(xtrain.shape[1:]))\n","xtest=xtest.reshape(len(xtest), np.prod(xtest.shape[1:]))\n"],"execution_count":0,"outputs":[]},{"metadata":{"id":"vOPPk4mFsoH2","colab_type":"code","colab":{}},"cell_type":"code","source":["input_img=Input(shape=(784,))"],"execution_count":0,"outputs":[]},{"metadata":{"id":"tXRB4S1rsydJ","colab_type":"code","colab":{}},"cell_type":"code","source":["encoded= Dense(units=32, activation='relu')(input_img)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"H5MeoubttApK","colab_type":"code","colab":{}},"cell_type":"code","source":["\n","decoded = Dense(units = 784 , activation = 'sigmoid')(encoded)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"73E3qpiMtI9n","colab_type":"code","colab":{}},"cell_type":"code","source":["autoencoder = Model(input_img, decoded)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"AMjd797_tQdU","colab_type":"code","colab":{}},"cell_type":"code","source":["encoder= Model(input_img, encoded)\n"],"execution_count":0,"outputs":[]},{"metadata":{"id":"f20a95ugtiLs","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":238},"outputId":"ba82a273-dab2-49be-f037-cd1ea04d4060","executionInfo":{"status":"ok","timestamp":1554877139848,"user_tz":-330,"elapsed":1078,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy', metrics=['accuracy'])\n","autoencoder.summary()"],"execution_count":169,"outputs":[{"output_type":"stream","text":["_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","input_5 (InputLayer)         (None, 784)               0         \n","_________________________________________________________________\n","dense_15 (Dense)             (None, 32)                25120     \n","_________________________________________________________________\n","dense_16 (Dense)             (None, 784)               25872     \n","=================================================================\n","Total params: 50,992\n","Trainable params: 50,992\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"metadata":{"id":"Vfjc6bR_t8xu","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":221},"outputId":"d0d64bf1-c90f-4542-e4b3-b999a41fc9c4","executionInfo":{"status":"ok","timestamp":1554857435540,"user_tz":-330,"elapsed":24750,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["autoencoder.fit(xtrain, xtrain, epochs=5, batch_size=256, shuffle=True, validation_data=(xtest,xtest))"],"execution_count":129,"outputs":[{"output_type":"stream","text":["Train on 60000 samples, validate on 10000 samples\n","Epoch 1/5\n","60000/60000 [==============================] - 5s 87us/step - loss: 0.3565 - acc: 0.7552 - val_loss: 0.2703 - val_acc: 0.7942\n","Epoch 2/5\n","60000/60000 [==============================] - 5s 77us/step - loss: 0.2620 - acc: 0.7980 - val_loss: 0.2502 - val_acc: 0.7985\n","Epoch 3/5\n","60000/60000 [==============================] - 5s 77us/step - loss: 0.2397 - acc: 0.7975 - val_loss: 0.2272 - val_acc: 0.7970\n","Epoch 4/5\n","60000/60000 [==============================] - 5s 78us/step - loss: 0.2191 - acc: 0.7979 - val_loss: 0.2089 - val_acc: 0.7981\n","Epoch 5/5\n","60000/60000 [==============================] - 5s 77us/step - loss: 0.2038 - acc: 0.7990 - val_loss: 0.1965 - val_acc: 0.7994\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["<keras.callbacks.History at 0x7f72d2067f98>"]},"metadata":{"tags":[]},"execution_count":129}]},{"metadata":{"id":"En1SClb6uUAa","colab_type":"code","colab":{}},"cell_type":"code","source":["encoded_img= encoder.predict(xtest)\n","predicted_img= autoencoder.predict(xtest)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"-7h37VOeu2Yp","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":265},"outputId":"70d3ca0a-8c4d-41ad-f5cf-af3625f972a0","executionInfo":{"status":"ok","timestamp":1554857752364,"user_tz":-330,"elapsed":1194,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["plt.imshow(encoded_img[7].reshape(8,4))\n","plt.imshow(xtest[7].reshape(28,28))\n","plt.gray()"],"execution_count":139,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAPoAAAD4CAYAAADFJPs2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAD3ZJREFUeJzt3X+sVPWZx/H3vTaKwYUFNMX6A3+R\nR5shatFYkhXpFmvVXYkRg0oIUWPXDRiSTROpTYySiJsSg1k0TWp3dYNKRI2K1hjF3RRjYzRG5FKa\nRzCVPwClXBSlKqLM/nHnsneGO9+598yZM8c+n1dCmHO+58eTc+/nnh/fmfn2VKtVRORvW2+3CxCR\nzlPQRQJQ0EUCUNBFAlDQRSKoVqsd/wdUh/7r6+urNs4ryz/Vptq+rXWlMtiTtXvNzFYCP6ztZIm7\nv9Vs2Z6enrqdVKtVenp6Mu2301RbNqpt9PKuq1qtNt1Ypkt3M7sEmOruM4Cbgf/IWJuIFCDrPfqP\ngWcB3P1PwAQzG5dbVSKSq+9kXG8y8PaQ6b/U5n063MJ9fX1UKpW6eWV+R55qy0a1jV5RdWUNeqPk\njca0adPqpst6zwSqLSvVNnoduEdv2pb10n0nA2fwQd8DdmXcloh0WNagvwzMBTCzHwA73f2z3KoS\nkVxlCrq7/wF428z+wMAT90W5ViUiucrcjz6qnagfPReqLZuy1lb6fnQR+XZR0EUCUNBFAlDQRQJQ\n0EUCUNBFAlDQRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAlDQ\nRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAlDQRQJQ0EUCUNBFAvhOlpXMbBbwJPDH\n2qw+d78tr6JEJF+Zgl7ze3efm1slItIxunQXCaCdM/r3zWwdMBG4291fabZgX18flUqlbl61Wm1j\n152l2rJRbaNXVF09WXZkZicB/wCsBc4A/hc4y92/GnYnPT11O6lWq/T09Iy+2gKotmxU2+jlXVe1\nWm26sUxBb2RmbwLz3P3Pw+5EQc+FasumrLUVGfRM9+hmNt/Mfl57PRn4LrAjW3ki0mlZ79HXAY+b\n2RzgaOBfm122S+eMGzeuadu9996bXLfxmUmj2bNnJ9sPHjyYbJdyyRR0d/8M+OecaxGRDlH3mkgA\n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\nF9cervMAAAAASUVORK5CYII=\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"bqLm9gckwQs_","colab_type":"text"},"cell_type":"markdown","source":["# Convolutional Autoencoder\n"]},{"metadata":{"id":"YuvXuiojuuWO","colab_type":"code","colab":{}},"cell_type":"code","source":["from keras.layers import Conv2D, MaxPooling2D, UpSampling2D, Input, Dense, Activation\n","from keras.models import Model\n","from keras import backend as K"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Ff8I1NWIxyew","colab_type":"code","colab":{}},"cell_type":"code","source":["input_img = Input(shape=(28, 28, 1))\n","x = Conv2D(16, (3, 3), activation='relu', padding='same')(input_img)\n","x = MaxPooling2D((2, 2), padding='same')(x)\n","x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)\n","x = MaxPooling2D((2, 2), padding='same')(x)\n","x = Conv2D(8, (3, 3), activation='relu', padding='same')(x)\n","encoded = MaxPooling2D((2, 2), padding='same')(x)\n","\n","\n","x= Conv2D(8, (3, 3), activation='relu', padding= 'same')(encoded)\n","x= UpSampling2D((2, 2))(x)\n","x= Conv2D(8, (3, 3), activation='relu', padding= 'same')(x)\n","x= UpSampling2D((2, 2))(x)\n","x= Conv2D(16, (3, 3), activation='relu', padding= 'same')(x)\n","x= UpSampling2D((2, 2))(x)\n","decoded= Conv2D(1, (3, 3), activation='relu', padding= 'same')(x)\n","\n","autoencoder= Model(input_img, decoded)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"5am_r6AgzqWk","colab_type":"code","colab":{}},"cell_type":"code","source":["autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy', metrics=['accuracy'])"],"execution_count":0,"outputs":[]},{"metadata":{"id":"nR8274Ffz3HI","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":51},"outputId":"f8da2c33-c200-45b7-8d87-5dc5b168e2aa","executionInfo":{"status":"ok","timestamp":1554859598852,"user_tz":-330,"elapsed":1344,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["from keras.datasets import mnist\n","import numpy as np\n","\n","(xtrain, _), (xtest, _) = mnist.load_data()\n","\n","xtrain = xtrain.astype('float32') / 255.\n","xtest = xtest.astype('float32') / 255.\n","\n","print(xtrain.shape)\n","xtrain= np.reshape(xtrain, (len(xtrain), 28, 28, 1))\n","xtest= np.reshape(xtest, (len(xtest), 28, 28, 1))\n","print(xtrain.shape)\n"],"execution_count":157,"outputs":[{"output_type":"stream","text":["(60000, 28, 28)\n","(60000, 28, 28, 1)\n"],"name":"stdout"}]},{"metadata":{"id":"kQoAYVr00cyj","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":391},"outputId":"f759190d-e5ae-4749-e57a-4865a04a5d08","executionInfo":{"status":"ok","timestamp":1554860471713,"user_tz":-330,"elapsed":870355,"user":{"displayName":"Saravanan Gowtham","photoUrl":"https://lh5.googleusercontent.com/-CcJfYrlAnmk/AAAAAAAAAAI/AAAAAAAAFFU/eV7T8kHtESQ/s64/photo.jpg","userId":"15248147826969180339"}}},"cell_type":"code","source":["autoencoder.fit(xtrain, xtrain, epochs=10, batch_size=128, shuffle=True, validation_data=(xtest, xtest))"],"execution_count":158,"outputs":[{"output_type":"stream","text":["Train on 60000 samples, validate on 10000 samples\n","Epoch 1/10\n","60000/60000 [==============================] - 86s 1ms/step - loss: 0.2150 - acc: 0.7966 - val_loss: 0.1673 - val_acc: 0.7963\n","Epoch 2/10\n","60000/60000 [==============================] - 85s 1ms/step - loss: 0.1608 - acc: 0.7984 - val_loss: 0.1544 - val_acc: 0.8042\n","Epoch 3/10\n","60000/60000 [==============================] - 85s 1ms/step - loss: 0.1474 - acc: 0.8018 - val_loss: 0.1399 - val_acc: 0.8005\n","Epoch 4/10\n","60000/60000 [==============================] - 85s 1ms/step - loss: 0.1400 - acc: 0.8037 - val_loss: 0.1340 - val_acc: 0.8046\n","Epoch 5/10\n","60000/60000 [==============================] - 84s 1ms/step - loss: 0.1367 - acc: 0.8046 - val_loss: 0.1307 - val_acc: 0.8027\n","Epoch 6/10\n","60000/60000 [==============================] - 84s 1ms/step - loss: 0.1350 - acc: 0.8053 - val_loss: 0.1332 - val_acc: 0.8085\n","Epoch 7/10\n","60000/60000 [==============================] - 85s 1ms/step - loss: 0.1329 - acc: 0.8059 - val_loss: 0.1290 - val_acc: 0.8048\n","Epoch 8/10\n","60000/60000 [==============================] - 84s 1ms/step - loss: 0.1322 - acc: 0.8063 - val_loss: 0.1300 - val_acc: 0.8038\n","Epoch 9/10\n","60000/60000 [==============================] - 84s 1ms/step - loss: 0.1309 - acc: 0.8067 - val_loss: 0.1272 - val_acc: 0.8056\n","Epoch 10/10\n","60000/60000 [==============================] - 84s 1ms/step - loss: 0.1304 - acc: 0.8069 - val_loss: 0.1379 - val_acc: 0.8102\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["<keras.callbacks.History at 0x7f72cddfbac8>"]},"metadata":{"tags":[]},"execution_count":158}]},{"metadata":{"id":"7NpBcLnF1W_s","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]}]}
\ No newline at end of file