diff options
Diffstat (limited to 'evaluation/adept_ablation/lambda/evaluation_loci_looped_abl3.ipynb')
-rw-r--r-- | evaluation/adept_ablation/lambda/evaluation_loci_looped_abl3.ipynb | 469 |
1 files changed, 469 insertions, 0 deletions
diff --git a/evaluation/adept_ablation/lambda/evaluation_loci_looped_abl3.ipynb b/evaluation/adept_ablation/lambda/evaluation_loci_looped_abl3.ipynb new file mode 100644 index 0000000..f137a5f --- /dev/null +++ b/evaluation/adept_ablation/lambda/evaluation_loci_looped_abl3.ipynb @@ -0,0 +1,469 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import warnings\n", + "import scipy.stats as stats\n", + "import os\n", + "\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "pd.options.mode.chained_assignment = None \n", + "plt.style.use('ggplot')\n", + "sns.color_palette(\"Paired\");\n", + "sns.set_theme();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Data Loading" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# setting path to results folder\n", + "root_path = '../../../out/pretrained/adept_ablations/lambda'\n", + "\n", + "# list all folders in root path that don't stat with a dot\n", + "nets = ['adept_level1_ablation_lambda.run511']\n", + "\n", + "# read pickle file\n", + "tf = pd.DataFrame()\n", + "sf = pd.DataFrame()\n", + "af = pd.DataFrame()\n", + "\n", + "# load statistics files from nets\n", + "for net in nets:\n", + " path = os.path.join(root_path, net, 'results')\n", + " with open(os.path.join(path, 'trialframe.csv'), 'rb') as f:\n", + " tf_temp = pd.read_csv(f, index_col=0)\n", + " tf_temp['net'] = net\n", + " tf = pd.concat([tf,tf_temp])\n", + "\n", + " with open(os.path.join(path, 'slotframe.csv'), 'rb') as f:\n", + " sf_temp = pd.read_csv(f, index_col=0)\n", + " sf_temp['net'] = net\n", + " sf = pd.concat([sf,sf_temp])\n", + "\n", + " with open(os.path.join(path, 'accframe.csv'), 'rb') as f:\n", + " af_temp = pd.read_csv(f, index_col=0)\n", + " af_temp['net'] = net\n", + " af = pd.concat([af,af_temp])\n", + "\n", + "# cast variables\n", + "sf['visible'] = sf['visible'].astype(bool)\n", + "sf['bound'] = sf['bound'].astype(bool)\n", + "sf['occluder'] = sf['occluder'].astype(bool)\n", + "sf['inimage'] = sf['inimage'].astype(bool)\n", + "sf['vanishing'] = sf['vanishing'].astype(bool)\n", + "sf['alpha_pos'] = 1-sf['alpha_pos']\n", + "sf['alpha_ges'] = 1-sf['alpha_ges']\n", + "\n", + "# scale to percentage\n", + "sf['TE'] = sf['TE'] * 100\n", + "\n", + "# add surprise as dummy code\n", + "tf['control'] = [('control' in set) for set in tf['set']]\n", + "sf['control'] = [('control' in set) for set in sf['set']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Calculate Tracking Error (TE)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tracking Error when visible: M: 3.34 , STD: 4.22, Count: 1873\n", + "Tracking Error when occluded: M: 2.78 , STD: 1.66, Count: 492\n" + ] + } + ], + "source": [ + "grouping = (sf.inimage & sf.bound & ~sf.occluder & sf.control)\n", + "\n", + "def get_stats(col):\n", + " return f' M: {col.mean():.3} , STD: {col.std():.3}, Count: {col.count()}'\n", + "\n", + "# When Visible\n", + "temp = sf[grouping & sf.visible]\n", + "print(f'Tracking Error when visible:' + get_stats(temp['TE']))\n", + "\n", + "# When Occluded\n", + "temp = sf[grouping & ~sf.visible]\n", + "print(f'Tracking Error when occluded:' + get_stats(temp['TE']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Calculate Succesfull Trackings (TE)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>set</th>\n", + " <th>evalmode</th>\n", + " <th>tracked_pos</th>\n", + " <th>tracked_neg</th>\n", + " <th>tracked_pos_pro</th>\n", + " <th>tracked_neg_pro</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>control</td>\n", + " <td>open</td>\n", + " <td>37</td>\n", + " <td>11</td>\n", + " <td>0.770833</td>\n", + " <td>0.229167</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " set evalmode tracked_pos tracked_neg tracked_pos_pro \\\n", + "0 control open 37 11 0.770833 \n", + "\n", + " tracked_neg_pro \n", + "0 0.229167 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# succesfull trackings: In the last visible moment of the target, the slot was less than 10% away from the target\n", + "# determine last visible frame numeric\n", + "grouping_factors = ['net','set','evalmode','scene','slot']\n", + "ff = sf[sf.visible & sf.bound & sf.inimage].groupby(grouping_factors).max()\n", + "ff.rename(columns = {'frame':'last_visible'}, inplace = True)\n", + "sf = sf.merge(ff[['last_visible']], on=grouping_factors, how='left')\n", + "\n", + "# same for first bound frame\n", + "ff = sf[sf.visible & sf.bound & sf.inimage].groupby(grouping_factors).min()\n", + "ff.rename(columns = {'frame':'first_visible'}, inplace = True)\n", + "sf = sf.merge(ff[['first_visible']], on=grouping_factors, how='left')\n", + "\n", + "# add dummy variable to sf\n", + "sf['last_visible'] = (sf['last_visible'] == sf['frame'])\n", + "\n", + "# extract the trials where the target was last visible and threshold the TE\n", + "ff = sf[sf['last_visible']] \n", + "ff['tracked_pos'] = (ff['TE'] < 10)\n", + "ff['tracked_neg'] = (ff['TE'] >= 10)\n", + "\n", + "# fill NaN with 0\n", + "sf = sf.merge(ff[grouping_factors + ['tracked_pos', 'tracked_neg']], on=grouping_factors, how='left')\n", + "sf['tracked_pos'].fillna(False, inplace=True)\n", + "sf['tracked_neg'].fillna(False, inplace=True)\n", + "\n", + "# Aggreagte over all scenes\n", + "temp = sf[(sf['frame']== 1) & ~sf.occluder & sf.control & (sf.first_visible < 20)]\n", + "temp = temp.groupby(['set', 'evalmode']).sum()\n", + "temp = temp[['tracked_pos', 'tracked_neg']]\n", + "temp = temp.reset_index()\n", + "\n", + "temp['tracked_pos_pro'] = temp['tracked_pos'] / (temp['tracked_pos'] + temp['tracked_neg'])\n", + "temp['tracked_neg_pro'] = temp['tracked_neg'] / (temp['tracked_pos'] + temp['tracked_neg'])\n", + "\n", + "temp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mostly Tracked stats" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "temp = af[af.index == 'OVERALL']\n", + "temp['mostly_tracked'] = temp['mostly_tracked'] / temp['num_unique_objects']\n", + "temp['partially_tracked'] = temp['partially_tracked'] / temp['num_unique_objects']\n", + "temp['mostly_lost'] = temp['mostly_lost'] / temp['num_unique_objects']\n", + "g = temp[['mostly_tracked', 'partially_tracked', 'mostly_lost','set']].set_index(['set']).groupby(['set']).mean().plot(kind='bar', stacked=True);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MOTA " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>idf1</th>\n", + " <th>idp</th>\n", + " <th>idr</th>\n", + " <th>recall</th>\n", + " <th>precision</th>\n", + " <th>num_unique_objects</th>\n", + " <th>mostly_tracked</th>\n", + " <th>partially_tracked</th>\n", + " <th>mostly_lost</th>\n", + " <th>num_false_positives</th>\n", + " <th>num_misses</th>\n", + " <th>num_switches</th>\n", + " <th>num_fragmentations</th>\n", + " <th>mota</th>\n", + " <th>motp</th>\n", + " <th>num_transfer</th>\n", + " <th>num_ascend</th>\n", + " <th>num_migrate</th>\n", + " </tr>\n", + " <tr>\n", + " <th>set</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>control</th>\n", + " <td>0.773828</td>\n", + " <td>0.943857</td>\n", + " <td>0.655708</td>\n", + " <td>0.673474</td>\n", + " <td>0.969430</td>\n", + " <td>86.0</td>\n", + " <td>41.0</td>\n", + " <td>15.0</td>\n", + " <td>30.0</td>\n", + " <td>104.0</td>\n", + " <td>1599.0</td>\n", + " <td>9.0</td>\n", + " <td>31.0</td>\n", + " <td>0.650398</td>\n", + " <td>0.039370</td>\n", + " <td>0.0</td>\n", + " <td>9.0</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>surprise</th>\n", + " <td>0.776620</td>\n", + " <td>0.942186</td>\n", + " <td>0.660545</td>\n", + " <td>0.678911</td>\n", + " <td>0.968383</td>\n", + " <td>33.0</td>\n", + " <td>16.0</td>\n", + " <td>4.0</td>\n", + " <td>13.0</td>\n", + " <td>35.0</td>\n", + " <td>507.0</td>\n", + " <td>4.0</td>\n", + " <td>12.0</td>\n", + " <td>0.654212</td>\n", + " <td>0.039468</td>\n", + " <td>2.0</td>\n", + " <td>2.0</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " idf1 idp idr recall precision \\\n", + "set \n", + "control 0.773828 0.943857 0.655708 0.673474 0.969430 \n", + "surprise 0.776620 0.942186 0.660545 0.678911 0.968383 \n", + "\n", + " num_unique_objects mostly_tracked partially_tracked mostly_lost \\\n", + "set \n", + "control 86.0 41.0 15.0 30.0 \n", + "surprise 33.0 16.0 4.0 13.0 \n", + "\n", + " num_false_positives num_misses num_switches num_fragmentations \\\n", + "set \n", + "control 104.0 1599.0 9.0 31.0 \n", + "surprise 35.0 507.0 4.0 12.0 \n", + "\n", + " mota motp num_transfer num_ascend num_migrate \n", + "set \n", + "control 0.650398 0.039370 0.0 9.0 0.0 \n", + "surprise 0.654212 0.039468 2.0 2.0 0.0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "af[af.index == 'OVERALL'].groupby(['set']).mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Gate Openings" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percept gate openings when visible: M: 0.132 , STD: 0.145, Count: 1873\n", + "Percept gate openings when occluded: M: 0.00809 , STD: 0.0444, Count: 492\n" + ] + } + ], + "source": [ + "grouping = (sf.inimage & sf.bound & ~sf.occluder & sf.control)\n", + "temp = sf[grouping & sf.visible]\n", + "print(f'Percept gate openings when visible:' + get_stats(temp['alpha_pos'] + temp['alpha_ges']))\n", + "temp = sf[grouping & ~sf.visible]\n", + "print(f'Percept gate openings when occluded:' + get_stats(temp['alpha_pos'] + temp['alpha_ges']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "loci23", + "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.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} |