{"nbformat_minor": 1, "cells": [{"cell_type": "code", "metadata": {"_uuid": "fdf715be279efd46685767aed354adafdf749d2c", "_cell_guid": "220e601d-41f8-42b8-8dc4-b93db2357d8e"}, "execution_count": null, "source": ["#!/usr/bin/env python3\n", "# -*- coding: utf-8 -*-\n", "\"\"\"\n", "Created on Fri Jan 19 13:59:14 2018\n", "\n", "@author: tejas\n", "\"\"\"\n", "import os\n", "import numpy as np\n", "from PIL import Image\n", "import tqdm\n", "import matplotlib as plt\n", "main_dir = \"data/train/stage1_train/\"\n", "list_dir = os.listdir(main_dir)\n", "Images = []\n", "mask = []\n", "Image_size = 256\n", "for content in tqdm.tqdm(list_dir):\n", "    sub_mask = []\n", "    t = np.zeros((Image_size,Image_size))\n", "    Image_id = os.listdir(main_dir+content+\"/images\")\n", "    mask_id = os.listdir(main_dir+content+\"/masks\")\n", "    a = Image.open(main_dir+content+\"/images/\"+Image_id[0]).convert(\"L\")\n", "    a = np.array(a.resize((Image_size,Image_size),Image.ANTIALIAS))\n", "    Images.append(a)\n", "    for content_mask in mask_id:\n", "        q = Image.open(main_dir+content+\"/masks/\"+content_mask)\n", "        q = np.array(q.resize((Image_size,Image_size),Image.ANTIALIAS))\n", "        sub_mask.append(q)\n", "        \n", "    for test in sub_mask:\n", "        t = test+ t\n", "    t = np.clip(t,0,1)\n", "    mask.append(t)\n", "\n", "np.save(\"Images\",Images)\n", "np.save(\"Masks\",mask)\n", "'''\n", "plt.pyplot.imshow(Images[17])\n", "plt.pyplot.imshow(mask[17])\n", "a = np.raray(Image.open(main_dir+list_dir[0]+\"/images/\"+Image_id[0]).convert(\"L\"))\n", "a.show()\n", "\n", "x = []\n", "for z in mask_id:\n", "    q = np.array(Image.open(main_dir+list_dir[0]+\"/masks/\"+z))\n", "    x.append(q)\n", "    \n", "t = np.zeros((360,360))\n", "for x in xz:\n", "    t = x+t\n", "    \n", "t = np.clip(t, 0, 1)\n", "'''\n"], "outputs": []}, {"cell_type": "code", "metadata": {"collapsed": true}, "execution_count": null, "source": ["#!/usr/bin/env python3\n", "# -*- coding: utf-8 -*-\n", "\"\"\"\n", "Created on Fri Jan 19 14:49:25 2018\n", "\n", "@author: tejas\n", "\"\"\"\n", "import tensorflow as tf\n", "import tflearn \n", "from tflearn.layers.conv import conv_2d, max_pool_2d\n", "from tflearn.layers.core import input_data, dropout, fully_connected\n", "from tflearn.layers.estimator import regression\n", "import matplotlib as plt\n", "\n", "Img_size = 256\n", "LR = 1e-3\n", "Model_name = \"Test\"\n", "CLasses = Img_size*Img_size\n", "\n", "import numpy as np\n", "\n", "Images = np.load(\"Images.npy\")\n", "Masks = np.load(\"Masks.npy\")\n", "Images.resize(670,Img_size,Img_size,1)\n", "Masks.resize(670,Img_size*Img_size)\n", "Images_test = Images[550:670]\n", "Images_train = Images[0:550]\n", "Masks_test = Masks[550:670]\n", "Masks_train = Masks[0:550]\n", "del Images\n", "del Masks\n", "'''\n", "plt.pyplot.imshow(Images[15])\n", "plt.pyplot.imshow(Masks[15])\n", "'''\n", "\n", "\n", "def Train_Model():\n", "    tf.reset_default_graph()\n", "    #Input for CNN\n", "    convnet = input_data(shape=[None, Img_size, Img_size,1], name='input')\n", "    \n", "    convnet = conv_2d(convnet, 256, 2, activation='relu')\n", "    convnet = max_pool_2d(convnet, 2)\n", "    convnet = conv_2d(convnet, 512, 2, activation='relu')\n", "    convnet = max_pool_2d(convnet, 2)\n", "    convnet = conv_2d(convnet, 1024, 3, activation='relu')\n", "    convnet = max_pool_2d(convnet, 3)\n", "    convnet = conv_2d(convnet, 2048, 3, activation='relu')\n", "    convnet = max_pool_2d(convnet, 3)\n", "       \n", "    convnet = fully_connected(convnet, CLasses, activation='softmax')\n", "    convnet = regression(convnet, optimizer='adam', learning_rate=LR, loss='categorical_crossentropy', name='targets')\n", "    \n", "    model = tflearn.DNN(convnet, tensorboard_dir='LOG')\n", "    return model\n", "\n", "\n", "model = Train_Model()\n", "\n", "model.fit({'input': Images_train}, {'targets':Masks_train}, validation_set=({'input': Images_test}, {'targets': Masks_test}),n_epoch=1, snapshot_step=500, show_metric=True, run_id=Model_name,batch_size = 2)\n", "'''  \n", "    #Loading Previous Models If exsist\n", "    if os.path.exists('{}.meta'.format(Model_name)):\n", "        model.load(Model_name)\n", "        print(\"Model Loaded\")\n", "        \n", "    else:\n", "        print(\"New Model\")  '''"], "outputs": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"file_extension": ".py", "codemirror_mode": {"version": 3, "name": "ipython"}, "mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "3.6.4", "name": "python", "pygments_lexer": "ipython3"}}, "nbformat": 4}