Skip to content
Snippets Groups Projects
05.2-Full-convolutions-reports.ipynb 13.8 KiB
Newer Older
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "German Traffic Sign Recognition Benchmark (GTSRB)\n",
    "=================================================\n",
    "---\n",
    "Introduction au Deep Learning  (IDLE) - S. Arias, E. Maldonado, JL. Parouty - CNRS/SARI/DEVLOG - 2020  \n",
    "\n",
    "## Episode 5.2 : Full Convolutions Reports\n",
    "\n",
    "Ou main steps :\n",
    " - Show reports\n",
    "\n",
    "## 1/ Import"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
    "from pathlib import Path\n",
    "from IPython.display import display, Markdown"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2/ A nice function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def show_report(report_name):\n",
    "    # ---- Read json file\n",
    "    with open(report_name) as infile:\n",
    "        dict_report = json.load( infile )\n",
    "    # ---- Create a pandas\n",
    "    report = pd.DataFrame (dict_report)\n",
    "    models = list(dict_report.keys())[2:]\n",
    "    # ---- Build formats\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
    "    lambda_acc = lambda x : '{:.2f} %'.format(x) if (isinstance(x, float)) else '{:}'.format(x)\n",
    "    lambda_dur = lambda x : '{:.1f} s'.format(x) if (isinstance(x, float)) else '{:}'.format(x)\n",
    "    formats = {'Size':'{:.2f} Mo'}\n",
    "    for m in models:\n",
    "        formats[m]=lambda_acc if (m.endswith('Accuracy')) else lambda_dur\n",
    "    t=report.style.format(formats).hide_index()\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
    "    display(t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3/ Reports display"
   ]
  },
  {
   "cell_type": "code",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Report :  report-2020-01-19_22h14m29s \n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >Dataset</th>        <th class=\"col_heading level0 col1\" >Size</th>        <th class=\"col_heading level0 col2\" >v1 Accuracy</th>        <th class=\"col_heading level0 col3\" >v1 Duration</th>        <th class=\"col_heading level0 col4\" >v2 Accuracy</th>        <th class=\"col_heading level0 col5\" >v2 Duration</th>        <th class=\"col_heading level0 col6\" >v3 Accuracy</th>        <th class=\"col_heading level0 col7\" >v3 Duration</th>    </tr></thead><tbody>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "                <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col0\" class=\"data row0 col0\" >set-24x24-L</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col1\" class=\"data row0 col1\" >228.77 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col2\" class=\"data row0 col2\" >5.72 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col3\" class=\"data row0 col3\" >5.0 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col4\" class=\"data row0 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col5\" class=\"data row0 col5\" >2.4 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col6\" class=\"data row0 col6\" >-</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row0_col7\" class=\"data row0 col7\" >-</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col0\" class=\"data row1 col0\" >set-24x24-RGB</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col1\" class=\"data row1 col1\" >684.39 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col2\" class=\"data row1 col2\" >16.62 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col3\" class=\"data row1 col3\" >2.9 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col4\" class=\"data row1 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col5\" class=\"data row1 col5\" >2.5 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col6\" class=\"data row1 col6\" >-</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row1_col7\" class=\"data row1 col7\" >-</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col0\" class=\"data row2 col0\" >set-48x48-L</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col1\" class=\"data row2 col1\" >913.90 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col2\" class=\"data row2 col2\" >6.99 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col3\" class=\"data row2 col3\" >8.0 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col4\" class=\"data row2 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col5\" class=\"data row2 col5\" >3.7 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col6\" class=\"data row2 col6\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row2_col7\" class=\"data row2 col7\" >2.0 s</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col0\" class=\"data row3 col0\" >set-48x48-RGB</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col1\" class=\"data row3 col1\" >2736.36 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col2\" class=\"data row3 col2\" >14.96 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col3\" class=\"data row3 col3\" >8.5 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col4\" class=\"data row3 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col5\" class=\"data row3 col5\" >3.7 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col6\" class=\"data row3 col6\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row3_col7\" class=\"data row3 col7\" >2.1 s</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col0\" class=\"data row4 col0\" >set-24x24-L-LHE</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col1\" class=\"data row4 col1\" >228.77 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col2\" class=\"data row4 col2\" >8.14 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col3\" class=\"data row4 col3\" >2.7 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col4\" class=\"data row4 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col5\" class=\"data row4 col5\" >2.5 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col6\" class=\"data row4 col6\" >-</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row4_col7\" class=\"data row4 col7\" >-</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col0\" class=\"data row5 col0\" >set-24x24-RGB-HE</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col1\" class=\"data row5 col1\" >684.39 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col2\" class=\"data row5 col2\" >19.96 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col3\" class=\"data row5 col3\" >2.5 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col4\" class=\"data row5 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col5\" class=\"data row5 col5\" >2.7 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col6\" class=\"data row5 col6\" >-</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row5_col7\" class=\"data row5 col7\" >-</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col0\" class=\"data row6 col0\" >set-48x48-L-LHE</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col1\" class=\"data row6 col1\" >913.90 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col2\" class=\"data row6 col2\" >12.69 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col3\" class=\"data row6 col3\" >7.6 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col4\" class=\"data row6 col4\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col5\" class=\"data row6 col5\" >4.0 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col6\" class=\"data row6 col6\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row6_col7\" class=\"data row6 col7\" >2.0 s</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col0\" class=\"data row7 col0\" >set-48x48-RGB-HE</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col1\" class=\"data row7 col1\" >2736.36 Mo</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col2\" class=\"data row7 col2\" >20.77 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col3\" class=\"data row7 col3\" >9.5 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col4\" class=\"data row7 col4\" >5.56 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col5\" class=\"data row7 col5\" >3.8 s</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col6\" class=\"data row7 col6\" >5.94 %</td>\n",
       "                        <td id=\"T_deb0ddec_3b01_11ea_a4ca_350a472bdab7row7_col7\" class=\"data row7 col7\" >2.4 s</td>\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f5585503390>"
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for file in glob.glob(\"./run/*.json\"):\n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
    "    print(\"\\n\\nReport : \",Path(file).stem,'\\n') \n",
Jean-Luc Parouty's avatar
Jean-Luc Parouty committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "\n",
    "### Some old results :  \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "|         Datasets         |       Size      |     Model : v1     |    Model : v2      |     Model : v3     |\n",
    "|:------------------------:|:---------------:|:------------------:|:------------------:|:------------------:|\n",
    "| set-24x24-L              |          229 Mo |   95.91%  75.04s   |   96.86% 102.28s   |   -      -         |\n",
    "| set-24x24-RGB            |          684 Mo |   96.60%  77.24s   |   97.32% 103.93s   |   -      -         |\n",
    "| set-48x48-L              |          914 Mo | **96.71%** 123.94s |   97.68% 149.57s   |  97.60%  91.53s    |\n",
    "| set-48x48-RGB            |         2736 Mo |   96.36% 117.74s   | **98.20%** 142.63s |  97.28%  91.29s    |\n",
    "| set-24x24-L-LHE          |          229 Mo |   95.95%  66.12s   |   96.75%  89.45s   |   -      -         |\n",
    "| set-24x24-RGB-HE         |          684 Mo |   95.30%  68.89s   |   96.28%  92.15s   |   -      -         |\n",
    "| set-48x48-L-LHE          |          914 Mo |   96.69% 109.28s   |   97.94% 135.17s   | **97.97%** 83.80s  |\n",
    "| set-48x48-RGB-HE         |         2736 Mo |   95.29% 117.70s   | **98.13%** 141.56s |  97.00%  89.38s    |"
   ]
  }
 ],
 "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.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}