{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Fisheries competition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook we're going to investigate a range of different techniques for the [Kaggle fisheries competition](https://www.kaggle.com/c/the-nature-conservancy-fisheries-monitoring). In this competition, The Nature Conservancy asks you to help them detect which species of fish appears on a fishing boat, based on images captured from boat cameras of various angles. Your goal is to predict the likelihood of fish species in each picture. Eight target categories are available in this dataset: Albacore tuna, Bigeye tuna, Yellowfin tuna, Mahi Mahi, Opah, Sharks, Other \n", "\n", "You can use [this](https://github.com/floydwch/kaggle-cli) api to download the data from Kaggle." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Put these at the top of every notebook, to get automatic reloading and inline plotting\n", "%reload_ext autoreload\n", "%autoreload 2\n", "%matplotlib inline\n", "\n", "# This file contains all the main external libs we'll use\n", "from fastai.imports import *\n", "from fastai.plots import *\n", "from fastai.io import get_data\n", "\n", "PATH = \"data/fish/\"" ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "## First look at fish pictures" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "!ls {PATH}" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "!ls {PATH}train" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "files = !ls {PATH}train/ALB | head\n", "files" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "img = plt.imread(f'{PATH}train/ALB/{files[0]}')\n", "plt.imshow(img);" ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "## Data pre-processing" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Here we are changing the structure of the training data to make it more convinient. We will have all images in a common directory `images` and will have a file `train.csv` with all labels. " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "from os import listdir\n", "from os.path import join\n", "train_path = f'{PATH}/train'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "dirs = [d for d in listdir(train_path) if os.path.isdir(join(train_path,d))]\n", "print(dirs)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "train_dict = {d: listdir(join(train_path, d)) for d in dirs}" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "train_dict[\"LAG\"][:10]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "sum(len(v) for v in train_dict.values())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "with open(f\"{PATH}train.csv\", \"w\") as csv:\n", " csv.write(\"img,label\\n\")\n", " for d in dirs:\n", " for f in train_dict[d]: csv.write(f'{f},{d}\\n')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "img_path = f'{PATH}images'\n", "os.makedirs(img_path, exist_ok=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "!cp {PATH}train/*/*.jpg {PATH}images/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Our first model with Center Cropping" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we import the libraries we need. We'll learn about what each does during the course." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from fastai.transforms import *\n", "from fastai.conv_learner import *\n", "from fastai.model import *\n", "from fastai.dataset import *\n", "from fastai.sgdr import *" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sz=350\n", "bs=64\n", "csv_fname = os.path.join(PATH, \"train.csv\")\n", "train_labels = list(open(csv_fname))\n", "n = len(list(open(csv_fname)))-1\n", "val_idxs = get_cv_idxs(n)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tfms = tfms_from_model(resnet34, sz)\n", "data = ImageClassifierData.from_csv(PATH, \"images\", csv_fname, bs, tfms, val_idxs)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "models are fine\n", "supper init\n", " 0%| | 0/48 [00:00\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mlearn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvLearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpretrained\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresnet34\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprecompute\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopt_fn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moptim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAdam\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36mpretrained\u001b[0;34m(self, f, data, ps, xtra_fc, xtra_cut, **kwargs)\u001b[0m\n\u001b[1;32m 89\u001b[0m \u001b[0mmodels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvnetBuilder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_multi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_reg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_fc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_fc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_cut\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_cut\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 90\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"models are fine\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 91\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmodels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 92\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 93\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, models, precompute, **kwargs)\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0maccuracy_multi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_multi\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0maccuracy\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 83\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_fc1\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 84\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfreeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprecompute\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mprecompute\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36msave_fc1\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 123\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mactivations\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtop_model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 125\u001b[0;31m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfix_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mact\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 126\u001b[0m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mval_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_act\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 127\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_dl\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_act\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/model.py\u001b[0m in \u001b[0;36mpredict_to_bcolz\u001b[0;34m(m, gen, arr, workers)\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0m_\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtqdm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mto_np\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mVV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mlock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/core.py\u001b[0m in \u001b[0;36mVV\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mo\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvolatile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0;32mdef\u001b[0m \u001b[0mVV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mo\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mto_np\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/core.py\u001b[0m in \u001b[0;36mVV_\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mo\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 17\u001b[0;31m \u001b[0;32mdef\u001b[0m \u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvolatile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 18\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mVV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mo\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mVV_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/_utils.py\u001b[0m in \u001b[0;36m_cuda\u001b[0;34m(self, device, async)\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0mnew_type\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 66\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0masync\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mRuntimeError\u001b[0m: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1502009910772/work/torch/lib/THC/generic/THCStorage.cu:66" ] } ], "source": [ "learn = ConvLearner.pretrained(resnet34, data, precompute=True, opt_fn=optim.Adam, ps=0.5)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c7b99375243b490daceb4ef0ed1b679a" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 65%|██████▍ | 31/48 [00:00<00:03, 4.59it/s, loss=2.07]\n", " \r" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrf=learn.lr_find()\n", "learn.sched.plot()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "522be20200d34be7ab065c4b6554d3bd" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 0.6912 0.617 0.7949] \n", "[ 1. 0.6748 0.3572 0.8928] \n", "[ 2. 0.5156 0.3283 0.8974] \n", "[ 3. 0.4837 0.3402 0.8873] \n", "[ 4. 0.4303 0.2782 0.9179] \n", "[ 5. 0.3515 0.2209 0.9267] \n", "[ 6. 0.2841 0.2082 0.9349] \n", "[ 7. 0.318 0.2482 0.9287] \n", "[ 8. 0.3518 0.2316 0.9323] \n", "[ 9. 0.3343 0.2133 0.9323] \n", "[ 10. 0.2857 0.2128 0.9293] \n", "[ 11. 0.2414 0.2148 0.9349] \n", "[ 12. 0.2077 0.189 0.9287] \n", "[ 13. 0.1834 0.1826 0.9352] \n", "[ 14. 0.162 0.179 0.9391] \n", "\n" ] } ], "source": [ "learn.fit(0.01, 4, cycle_len=1, cycle_mult=2)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "99b38b1ae70547c79be35cfa323edd66" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 79%|███████▉ | 38/48 [00:24<00:05, 1.89it/s, loss=1.48] " ] }, { "data": { "image/png": "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\nHYWCiIjU+f9ruOrStpN+CQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrs=np.array([1e-4,1e-3,1e-2])\n", "learn.precompute=False\n", "\n", "learn.freeze_to(6)\n", "lrf=learn.lr_find(lrs/1e3)\n", "learn.sched.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Same model with No cropping " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NOTE: Before running this remove the temp file under data/fish." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sz = 350\n", "tfms = tfms_from_model(resnet34, sz, crop_type=CropType.NO)\n", "data = ImageClassifierData.from_csv(PATH, \"images\", csv_fname, bs, tfms, val_idxs)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1502009910772/work/torch/lib/THC/generic/THCStorage.cu:66", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mlearn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvLearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpretrained\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresnet34\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprecompute\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopt_fn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moptim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAdam\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36mpretrained\u001b[0;34m(self, f, data, ps, xtra_fc, xtra_cut, **kwargs)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mclassmethod\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpretrained\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_fc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_cut\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 89\u001b[0;31m \u001b[0mmodels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvnetBuilder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_multi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_reg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_fc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_fc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_cut\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_cut\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 90\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"models are fine\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmodels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, c, is_multi, is_reg, ps, xtra_fc, xtra_cut)\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0mfc_layers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_fc_layers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_fc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfc_layers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 42\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfc_model\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSequential\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mfc_layers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 43\u001b[0m \u001b[0mapply_init\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfc_model\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkaiming_normal\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSequential\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlayers\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mfc_layers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36mcuda\u001b[0;34m(self, device_id)\u001b[0m\n\u001b[1;32m 145\u001b[0m \u001b[0mcopied\u001b[0m \u001b[0mto\u001b[0m \u001b[0mthat\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 146\u001b[0m \"\"\"\n\u001b[0;32m--> 147\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdevice_id\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 149\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_apply\u001b[0;34m(self, fn)\u001b[0m\n\u001b[1;32m 116\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mmodule\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchildren\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 118\u001b[0;31m \u001b[0mmodule\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 119\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mparam\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_parameters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_apply\u001b[0;34m(self, fn)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0;31m# Variables stored in modules are graph leaves, and we don't\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 123\u001b[0m \u001b[0;31m# want to create copy nodes, so we have to unpack the data.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 124\u001b[0;31m \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 125\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 126\u001b[0m \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m\u001b[0;34m(t)\u001b[0m\n\u001b[1;32m 145\u001b[0m \u001b[0mcopied\u001b[0m \u001b[0mto\u001b[0m \u001b[0mthat\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 146\u001b[0m \"\"\"\n\u001b[0;32m--> 147\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdevice_id\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 149\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/_utils.py\u001b[0m in \u001b[0;36m_cuda\u001b[0;34m(self, device, async)\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0mnew_type\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 66\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0masync\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 67\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mRuntimeError\u001b[0m: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1502009910772/work/torch/lib/THC/generic/THCStorage.cu:66" ] } ], "source": [ "learn = ConvLearner.pretrained(resnet34, data, precompute=True, opt_fn=optim.Adam, ps=0.5)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "238d2c26af16482f84232951f6b4efd7" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 56%|█████▋ | 27/48 [00:00<00:02, 10.40it/s, loss=2.16]\n", " \r" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrf=learn.lr_find()\n", "learn.sched.plot()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "3d01da2de3d64d47b0bbf647bcf787c2" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 0.682 0.5775 0.8251] \n", "[ 1. 0.6791 0.3741 0.8824] \n", "[ 2. 0.5242 0.3172 0.9056] \n", "[ 3. 0.4669 0.2973 0.8942] \n", "[ 4. 0.4197 0.2335 0.9238] \n", "[ 5. 0.3512 0.2161 0.9277] \n", "[ 6. 0.2884 0.181 0.9306] \n", "[ 7. 0.3255 0.2539 0.9176] \n", "[ 8. 0.3452 0.2123 0.9284] \n", "[ 9. 0.317 0.2007 0.9371] \n", "[ 10. 0.2644 0.1644 0.9557] \n", "[ 11. 0.2244 0.1454 0.9528] \n", "[ 12. 0.1818 0.1343 0.9665] \n", "[ 13. 0.1599 0.1404 0.9599] \n", "[ 14. 0.1546 0.1408 0.9586] \n", "\n" ] } ], "source": [ "learn.fit(0.01, 4, cycle_len=1, cycle_mult=2)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7c01c8fb42c146309ecff36837f77690" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 79%|███████▉ | 38/48 [00:36<00:07, 1.25it/s, loss=1.65] " ] }, { "data": { "image/png": "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\nfvn/2fFirg9aMT0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrs=np.array([1e-4,1e-3,1e-2])\n", "learn.precompute=False\n", "\n", "learn.unfreeze()\n", "lrf=learn.lr_find(lrs/1e3)\n", "learn.sched.plot()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "04ddf23935974074a12054e543e26904" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " \n", " \n", " \n", " \n", "\u001b[A\n", " \n", " \n", "\n", " \n", "\n", " 2%|▏ | 1/48 [00:05<04:30, 5.75s/it, loss=0.74]\u001b[A\n", " 4%|▍ | 2/48 [00:06<03:16, 4.26s/it, loss=0.936]\u001b[A\n", " 6%|▋ | 3/48 [00:07<02:25, 3.23s/it, loss=0.874]\u001b[A\n", " 8%|▊ | 4/48 [00:08<01:49, 2.50s/it, loss=0.754]\u001b[A\n", "[ 0. 0.2649 0.1643 0.9404] \n", "[ 1. 0.1998 0.1073 0.9681] \n", "[ 2. 0.1288 0.1007 0.9694] \n", "[ 3. 0.0923 0.1089 0.9736] \n", "[ 4. 0.0843 0.1173 0.971 ] \n", "[ 5. 0.0549 0.1002 0.9694] \n", "[ 6. 0.0396 0.0964 0.9733] \n", "[ 7. 0.0315 0.1249 0.9762] \n", "[ 8. 0.0382 0.1132 0.9746] \n", "[ 9. 0.0406 0.1013 0.973 ] \n", "[ 10. 0.0285 0.1085 0.9749] \n", "[ 11. 0.0202 0.1131 0.9762] \n", "[ 12. 0.0154 0.1048 0.9772] \n", "[ 13. 0.0308 0.0956 0.9785] \n", "[ 14. 0.0166 0.1028 0.9788] \n", "[ 1.5000e+01 1.1636e-02 1.0597e-01 9.7753e-01] \n", "[ 1.6000e+01 1.1961e-02 1.0537e-01 9.7623e-01] \n", "[ 1.7000e+01 1.2807e-02 1.0589e-01 9.7753e-01] \n", "[ 1.8000e+01 1.4130e-02 1.3264e-01 9.7493e-01] \n", "[ 1.9000e+01 1.6299e-02 1.1089e-01 9.8014e-01] \n", "[ 2.0000e+01 1.6554e-02 1.3690e-01 9.7493e-01] \n", "[ 2.1000e+01 1.4021e-02 1.5582e-01 9.6809e-01] \n", "[ 2.2000e+01 9.8160e-03 1.3994e-01 9.7363e-01] \n", "[ 2.3000e+01 7.9080e-03 1.3732e-01 9.7590e-01] \n", "[ 2.4000e+01 1.7213e-02 1.5735e-01 9.7330e-01] \n", "[ 2.5000e+01 2.0878e-02 1.5379e-01 9.7363e-01] \n", "[ 2.6000e+01 2.0992e-02 1.5257e-01 9.7363e-01] \n", "[ 2.7000e+01 1.8790e-02 1.5161e-01 9.7330e-01] \n", "[ 2.8000e+01 1.1324e-02 1.4440e-01 9.7199e-01] \n", "[ 2.9000e+01 7.9810e-03 1.4998e-01 9.7363e-01] \n", "[ 3.0000e+01 6.6660e-03 1.4507e-01 9.7493e-01] \n", "\n" ] } ], "source": [ "lrs=np.array([1e-5,1e-4,1e-3])\n", "learn.fit(lrs, 5, cycle_len=1, cycle_mult=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Predicting bounding boxes" ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "### Getting bounding boxes data" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "This part needs to run just the first time to get the file `trn_bb_labels`" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "import json\n", "anno_classes = ['alb', 'bet', 'dol', 'lag', 'other', 'shark', 'yft']" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "def get_annotations():\n", " annot_urls = [\n", " '5458/bet_labels.json', '5459/shark_labels.json', '5460/dol_labels.json',\n", " '5461/yft_labels.json', '5462/alb_labels.json', '5463/lag_labels.json'\n", " ]\n", " cache_subdir = os.path.abspath(os.path.join(PATH, 'annos'))\n", " url_prefix = 'https://kaggle2.blob.core.windows.net/forum-message-attachments/147157/'\n", " os.makedirs(cache_subdir, exist_ok=True)\n", " \n", " for url_suffix in annot_urls:\n", " fname = url_suffix.rsplit('/', 1)[-1]\n", " get_data(url_prefix + url_suffix, f'{cache_subdir}/{fname}')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "# run this code to get annotation files\n", "get_annotations()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "# creates a dictionary of all annotations per file\n", "bb_json = {}\n", "for c in anno_classes:\n", " if c == 'other': continue # no annotation file for \"other\" class\n", " j = json.load(open(f'{PATH}annos/{c}_labels.json', 'r'))\n", " for l in j:\n", " if 'annotations' in l.keys() and len(l['annotations'])>0:\n", " bb_json[l['filename'].split('/')[-1]] = sorted(\n", " l['annotations'], key=lambda x: x['height']*x['width'])[-1]\n", "bb_json['img_04908.jpg']" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "raw_filenames = pd.read_csv(csv_fname)[\"img\"].values" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "file2idx = {o:i for i,o in enumerate(raw_filenames)}\n", "\n", "empty_bbox = {'height': 0., 'width': 0., 'x': 0., 'y': 0.}\n", "for f in raw_filenames:\n", " if not f in bb_json.keys(): bb_json[f] = empty_bbox\n", "\n", "bb_params = ['height', 'width', 'x', 'y']\n", "def convert_bb(bb):\n", " bb = [bb[p] for p in bb_params]\n", " bb[2] = max(bb[2], 0)\n", " bb[3] = max(bb[3], 0)\n", " return bb" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "trn_bbox = np.stack([convert_bb(bb_json[f]) for f in raw_filenames]).astype(np.float32)\n", "trn_bb_labels = [f + ',' + ' '.join(map(str,o))+'\\n' for f,o in zip(raw_filenames,trn_bbox)]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "open(f'{PATH}trn_bb_labels', 'w').writelines(trn_bb_labels)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "fnames,csv_labels,_,_ = parse_csv_labels(f'{PATH}trn_bb_labels', skip_header=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "def bb_corners(bb):\n", " bb = np.array(bb, dtype=np.float32)\n", " row1 = bb[3]\n", " col1 = bb[2]\n", " row2 = row1 + bb[0]\n", " col2 = col1 + bb[1]\n", " return [row1, col1, row2, col2]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "f = 'img_02642.jpg'\n", "bb = csv_labels[f]\n", "print(bb)\n", "bb_corners(bb)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "new_labels = [f + \",\" + \" \".join(map(str, bb_corners(csv_labels[f]))) + \"\\n\" for f in raw_filenames]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "open(f'{PATH}trn_bb_corners_labels', 'w').writelines(new_labels)" ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "### Looking at bounding boxes" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "# reading bb file\n", "bbox = {}\n", "bb_data = pd.read_csv(f'{PATH}trn_bb_labels', header=None)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "fnames,csv_labels,_,_ = parse_csv_labels(f'{PATH}trn_bb_labels', skip_header=False)\n", "fnames,corner_labels,_,_ = parse_csv_labels(f'{PATH}trn_bb_corners_labels', skip_header=False)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "hidden": true }, "outputs": [ { "data": { "text/plain": [ "['396.21', '404.67', '504.78', '623.22']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corner_labels[\"img_06297.jpg\"]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "hidden": true }, "outputs": [ { "data": { "text/plain": [ "['108.57', '218.55', '404.67', '396.21']" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "csv_labels[\"img_06297.jpg\"]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "def create_rect(bb, color='red'):\n", " return plt.Rectangle((bb[2], bb[3]), bb[1], bb[0], color=color, fill=False, lw=3)\n", "\n", "def show_bb(path, f='img_04908.jpg'):\n", " file_path = f'{path}images/{f}'\n", " bb = csv_labels[f]\n", " plots_from_files([file_path])\n", " plt.gca().add_patch(create_rect(bb))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true, "hidden": true }, "outputs": [], "source": [ "def create_corner_rect(bb, color='red'):\n", " bb = np.array(bb, dtype=np.float32)\n", " return plt.Rectangle((bb[1], bb[0]), bb[3]-bb[1], bb[2]-bb[0], color=color, fill=False, lw=3)\n", "\n", "def show_corner_bb(path, f='img_04908.jpg'):\n", " file_path = f'{path}images/{f}'\n", " bb = corner_labels[f]\n", " plots_from_files([file_path])\n", " plt.gca().add_patch(create_corner_rect(bb))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "hidden": true }, "outputs": [ { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_corner_bb(PATH, f = 'img_02642.jpg')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model predicting bounding boxes" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sz=299\n", "bs=64\n", "\n", "label_csv=f'{PATH}trn_bb_corners_labels'\n", "n = len(list(open(label_csv)))-1\n", "val_idxs = get_cv_idxs(n)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tfms = tfms_from_model(resnet34, sz, crop_type=CropType.NO, tfm_y=TfmType.COORD)\n", "data = ImageClassifierData.from_csv(PATH, 'images', label_csv, tfms=tfms, val_idxs=val_idxs,\n", " continuous=True, skip_header=False)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "trn_ds = data.trn_dl.dataset" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x, y = trn_ds[0]" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(3, 299, 299) [ 56 62 163 150]\n" ] } ], "source": [ "print(x.shape, y)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 0%| | 0/48 [00:00\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mlearn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvLearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpretrained\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresnet34\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprecompute\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopt_fn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moptim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAdam\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36mpretrained\u001b[0;34m(self, f, data, ps, xtra_fc, xtra_cut, **kwargs)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpretrained\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_fc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_cut\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0mmodels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConvnetBuilder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_multi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_reg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_fc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_fc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxtra_cut\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxtra_cut\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 89\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmodels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 90\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, models, precompute, **kwargs)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0maccuracy_multi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_multi\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0maccuracy\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 82\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_fc1\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 83\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfreeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprecompute\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mprecompute\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/conv_learner.py\u001b[0m in \u001b[0;36msave_fc1\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mactivations\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtop_model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 123\u001b[0;31m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfix_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mact\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 124\u001b[0m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mval_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_act\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 125\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_dl\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mpredict_to_bcolz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_act\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/model.py\u001b[0m in \u001b[0;36mpredict_to_bcolz\u001b[0;34m(m, gen, arr, workers)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mlock\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mthreading\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0m_\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtqdm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mto_np\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mVV\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mlock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/tqdm/_tqdm.py\u001b[0m in \u001b[0;36m__iter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 870\u001b[0m \"\"\", fp_write=getattr(self.fp, 'write', sys.stderr.write))\n\u001b[1;32m 871\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 872\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mobj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 873\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 874\u001b[0m \u001b[0;31m# Update and print the progressbar.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/github/fastai/courses/dl1/fastai/dataset.py\u001b[0m in \u001b[0;36m__next__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m>=\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m+=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 220\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnext\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 221\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/site-packages/torch/utils/data/dataloader.py\u001b[0m in \u001b[0;36m__next__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshutdown\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbatches_outstanding\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 195\u001b[0;31m \u001b[0midx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbatch\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata_queue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 196\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbatches_outstanding\u001b[0m \u001b[0;34m-=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 197\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0midx\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrcvd_idx\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/queue.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, block, timeout)\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_qsize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnot_empty\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 165\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"'timeout' must be a non-negative number\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda/lib/python3.6/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 293\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 295\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 296\u001b[0m \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 297\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "learn = ConvLearner.pretrained(resnet34, data, precompute=True, opt_fn=optim.Adam, ps=0.5)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d2cc67b9651348cca859919914407dda" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", " 0%| | 0/48 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrf=learn.lr_find()\n", "learn.sched.plot()" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8da402b11c1e45c7944d1e26e5b5da0f" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", " 0%| | 0/48 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrs=np.array([1e-4,1e-3,1e-2])\n", "learn.precompute=False\n", "\n", "learn.unfreeze()\n", "lrf=learn.lr_find(lrs/1e3)\n", "learn.sched.plot()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a7cfab3aeff5432ebbdd2379b098790c" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 71.1009 94.999 ] \n", "[ 1. 88.0754 82.1335] \n", "[ 2. 87.4359 77.1687] \n", "[ 3. 86.5974 80.8263] \n", "[ 4. 83.9792 71.4977] \n", "[ 5. 79.1773 69.3897] \n", "[ 6. 77.2359 68.047 ] \n", "[ 7. 77.6487 77.4456] \n", "[ 8. 78.9041 73.7645] \n", "[ 9. 75.8422 68.0503] \n", "[ 10. 73.4623 64.6083] \n", "[ 11. 72.2943 63.5834] \n", "[ 12. 70.4287 62.1409] \n", "[ 13. 66.5874 59.9783] \n", "[ 14. 66.0414 60.785 ] \n", "[ 15. 66.3314 65.7976] \n", "[ 16. 69.3549 65.7114] \n", "[ 17. 67.7767 64.7094] \n", "[ 18. 67.158 61.4241] \n", "[ 19. 65.6192 58.7482] \n", "[ 20. 62.9917 60.5301] \n", "[ 21. 64.713 61.0712] \n", "[ 22. 61.309 56.2067] \n", "[ 23. 58.6235 55.2833] \n", "[ 24. 57.5971 55.6252] \n", "[ 25. 58.6757 55.0441] \n", "[ 26. 57.1917 52.6833] \n", "[ 27. 56.4466 53.1598] \n", "[ 28. 56. 51.4715] \n", "[ 29. 55.0628 52.217 ] \n", "[ 30. 55.1955 51.3541] \n", "\n" ] } ], "source": [ "lrs=np.array([1e-5,1e-4,1e-3])\n", "learn.fit(lrs, 5, cycle_len=1, cycle_mult=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Looking into size of images" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f=\"img_06297.jpg\"\n", "PIL.Image.open(PATH+\"images/\" + f).size" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sizes = [PIL.Image.open(PATH+f).size for f in data.trn_ds.fnames]\n", "raw_val_sizes = [PIL.Image.open(PATH+f).size for f in data.val_ds.fnames]" ] } ], "metadata": { "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.2" } }, "nbformat": 4, "nbformat_minor": 2 }