{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "baf52b42-fb75-ea0c-6166-a8d782602da1"
      },
      "source": [
        "## LB - 1.28  using Deep Learning Studio"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "1f6bc656-0c65-d833-e9b4-a8b0fb39665c"
      },
      "source": [
        "Hi everyone,\n",
        "\n",
        "Here I will explain my approach to get a decent score in this competition. I used [Deep Learning Studio](http://deepcognition.ai), a drag and drop GUI based platform to build and train neural networks.\n",
        "This tool cuts down a significant amount of time to try different DNN architectures without spending a lot of time in programming. They are providing few free GPU hours on your first login."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "e7ba5dc5-8f70-abc1-cf97-a1a259a526cd"
      },
      "source": [
        "### Step 1:\n",
        "Sign up and get access to Deep Learning Studio at http://deepcognition.ai\n",
        "\n",
        "### Step 2:\n",
        "Enable the  cached dataset for this competition by following these steps:\n",
        "\n",
        "1) click on 'Datasets' from the left side navigation panel\n",
        "\n",
        "2) click on 'Cached datasets' column on datasets page\n",
        "\n",
        "3) select the 'The Nature Conservancy Fisheries Monitoring\" dataset on this page\n",
        "\n",
        "4) Download 'train.zip' from Kaggle upload it, to verify that you have accepted the rules of the competition. The dataset will be added to your datasets after verification.\n",
        "\n",
        "![enable cached dataset][1]\n",
        "\n",
        "### Step 3:\n",
        "Create New Project and open it.\n",
        "\n",
        "![New Project Creation][2]\n",
        "\n",
        "Set Data pre-processing options.\n",
        "\n",
        "1) I used train/validation/test split as (80%-10%-10%) [any other combination works equally good]\n",
        "\n",
        "2) Selected image data type for image column, categorical for output column and assigned input0/output0 ports respectively\n",
        "\n",
        "3) Resizing all images to 192*192 and set data normalization to true on image data\n",
        "\n",
        "![data set options][3]\n",
        "\n",
        "Build the model by dragging and dropping the layers from the left side panel on the model tab. The layer parameters can be set from the right side panel when that layer is selected.\n",
        "\n",
        "![model with inception_v3][4]\n",
        "\n",
        "Now set the hyperparameters required to run the training.\n",
        "\n",
        "![hyper parameters][5]\n",
        "\n",
        "### Step 4:\n",
        "Start training and monitor the loss and accuracy graphs. You can tweak the model based on what you observe on this screen. Let the training complete, or stop it early if you find it overfitting.\n",
        "\n",
        "![training dashboard][6]\n",
        "\n",
        "### Step 5:\n",
        "Click on the inference tab. Select the latest run and download the trained model.\n",
        "\n",
        "![inference][7]\n",
        "\n",
        "Replace the test.py in the downloaded model with [this file](https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/test.py) and run it on test samples to generate submission file.\n",
        "\n",
        "\n",
        "  [1]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/cached_dataset.png\n",
        "  [2]: https://s3-us-west-2.amazonaws.com/deepcognition/3dconvnet_new_project.jpg\n",
        "  [3]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/data.png\n",
        "  [4]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/model.png\n",
        "  [5]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/params.png\n",
        "  [6]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/train.png\n",
        "  [7]: https://s3-us-west-2.amazonaws.com/deepcognition/Kaggle_NCFM/inference.png"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "a46139ee-bd61-9f23-1ffe-d6a4d70fb7e2"
      },
      "source": [
        "### Note:\n",
        "This might not give the best possible result for this competition. However, I think it is a very good starting point to begin. Suggestions are welcome to further improve the model.\n",
        "\n",
        "I will keep trying to get a better score and update here with the changes that work."
      ]
    }
  ],
  "metadata": {
    "_change_revision": 0,
    "_is_fork": false,
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}