Created
May 6, 2023 20:05
-
-
Save calebrob6/e864389936e380ae45b26678b940ae04 to your computer and use it in GitHub Desktop.
Plotting the training speed vs. ImageNet top-5 performance results from the timm benchmarks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df_scores = pd.read_csv(\"https://raw.githubusercontent.com/pprp/timm/master/results/results-imagenet.csv\", index_col=0)\n", | |
"df_benchmark = pd.read_csv(\"https://raw.githubusercontent.com/pprp/timm/master/results/benchmark-train-amp-nhwc-pt112-cu113-rtx3090.csv\", index_col=0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df = df_scores.join(df_benchmark, on=\"model\", how=\"inner\", lsuffix=\"_scores\", rsuffix=\"_benchmark\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"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>top1</th>\n", | |
" <th>top1_err</th>\n", | |
" <th>top5</th>\n", | |
" <th>top5_err</th>\n", | |
" <th>param_count_scores</th>\n", | |
" <th>img_size</th>\n", | |
" <th>crop_pct</th>\n", | |
" <th>interpolation</th>\n", | |
" <th>train_samples_per_sec</th>\n", | |
" <th>train_step_time</th>\n", | |
" <th>train_batch_size</th>\n", | |
" <th>train_img_size</th>\n", | |
" <th>param_count_benchmark</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>model</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>deit3_large_patch16_384_in21ft1k</th>\n", | |
" <td>87.716</td>\n", | |
" <td>12.284</td>\n", | |
" <td>98.512</td>\n", | |
" <td>1.488</td>\n", | |
" <td>304.76</td>\n", | |
" <td>384</td>\n", | |
" <td>1.0</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>28.25</td>\n", | |
" <td>422.940</td>\n", | |
" <td>12</td>\n", | |
" <td>384</td>\n", | |
" <td>304.76</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>swinv2_large_window12to24_192to384_22kft1k</th>\n", | |
" <td>87.458</td>\n", | |
" <td>12.542</td>\n", | |
" <td>98.252</td>\n", | |
" <td>1.748</td>\n", | |
" <td>196.74</td>\n", | |
" <td>384</td>\n", | |
" <td>1.0</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>16.62</td>\n", | |
" <td>358.548</td>\n", | |
" <td>6</td>\n", | |
" <td>384</td>\n", | |
" <td>196.74</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>deit3_huge_patch14_224_in21ft1k</th>\n", | |
" <td>87.184</td>\n", | |
" <td>12.816</td>\n", | |
" <td>98.260</td>\n", | |
" <td>1.740</td>\n", | |
" <td>632.13</td>\n", | |
" <td>224</td>\n", | |
" <td>1.0</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>38.41</td>\n", | |
" <td>414.036</td>\n", | |
" <td>16</td>\n", | |
" <td>224</td>\n", | |
" <td>632.13</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>swin_large_patch4_window12_384</th>\n", | |
" <td>87.148</td>\n", | |
" <td>12.852</td>\n", | |
" <td>98.234</td>\n", | |
" <td>1.766</td>\n", | |
" <td>196.74</td>\n", | |
" <td>384</td>\n", | |
" <td>1.0</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>41.75</td>\n", | |
" <td>381.310</td>\n", | |
" <td>16</td>\n", | |
" <td>384</td>\n", | |
" <td>196.74</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>swinv2_base_window12to24_192to384_22kft1k</th>\n", | |
" <td>87.108</td>\n", | |
" <td>12.892</td>\n", | |
" <td>98.236</td>\n", | |
" <td>1.764</td>\n", | |
" <td>87.92</td>\n", | |
" <td>384</td>\n", | |
" <td>1.0</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>28.19</td>\n", | |
" <td>423.281</td>\n", | |
" <td>12</td>\n", | |
" <td>384</td>\n", | |
" <td>87.92</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" top1 top1_err top5 \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 87.716 12.284 98.512 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 87.458 12.542 98.252 \n", | |
"deit3_huge_patch14_224_in21ft1k 87.184 12.816 98.260 \n", | |
"swin_large_patch4_window12_384 87.148 12.852 98.234 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 87.108 12.892 98.236 \n", | |
"\n", | |
" top5_err param_count_scores \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 1.488 304.76 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 1.748 196.74 \n", | |
"deit3_huge_patch14_224_in21ft1k 1.740 632.13 \n", | |
"swin_large_patch4_window12_384 1.766 196.74 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 1.764 87.92 \n", | |
"\n", | |
" img_size crop_pct interpolation \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 384 1.0 bicubic \n", | |
"swinv2_large_window12to24_192to384_22kft1k 384 1.0 bicubic \n", | |
"deit3_huge_patch14_224_in21ft1k 224 1.0 bicubic \n", | |
"swin_large_patch4_window12_384 384 1.0 bicubic \n", | |
"swinv2_base_window12to24_192to384_22kft1k 384 1.0 bicubic \n", | |
"\n", | |
" train_samples_per_sec \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 28.25 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 16.62 \n", | |
"deit3_huge_patch14_224_in21ft1k 38.41 \n", | |
"swin_large_patch4_window12_384 41.75 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 28.19 \n", | |
"\n", | |
" train_step_time train_batch_size \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 422.940 12 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 358.548 6 \n", | |
"deit3_huge_patch14_224_in21ft1k 414.036 16 \n", | |
"swin_large_patch4_window12_384 381.310 16 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 423.281 12 \n", | |
"\n", | |
" train_img_size \\\n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 384 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 384 \n", | |
"deit3_huge_patch14_224_in21ft1k 224 \n", | |
"swin_large_patch4_window12_384 384 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 384 \n", | |
"\n", | |
" param_count_benchmark \n", | |
"model \n", | |
"deit3_large_patch16_384_in21ft1k 304.76 \n", | |
"swinv2_large_window12to24_192to384_22kft1k 196.74 \n", | |
"deit3_huge_patch14_224_in21ft1k 632.13 \n", | |
"swin_large_patch4_window12_384 196.74 \n", | |
"swinv2_base_window12to24_192to384_22kft1k 87.92 " | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"x = df[\"top5\"]\n", | |
"y = df[\"train_samples_per_sec\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAG6CAYAAAAlCWNFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACwAUlEQVR4nOz9eXyU5b34/7/u+541mWQISZAgO4a6gYhi7QEBLaIFa2utWnuO69H24zm1Lq217liL2n7bc8pPe9pa6tK6oXVpVSwIKiiiRcGloiYIsoYlIZlkJrPe9/X7454ZMslkGyYr7+fjQWvuuTJzzRAy77mu9/V+a0ophRBCCCGEyAu9rycghBBCCDGYSHAlhBBCCJFHElwJIYQQQuSRBFdCCCGEEHkkwZUQQgghRB5JcCWEEEIIkUcSXAkhhBBC5JEEV31AKUVjYyNSYkwIIYQYfCS46gNNTU34/X6ampr6eipCCCGEyDMJroQQQggh8kiCKyGEEEKIPJLgSgghhBAijyS4EkIIIYTIIwmuhBBCCCHySIIrIYQQQog8kuBKCCGEECKPJLgSQgghhMgjCa6EEEIIIfJIgishhBBCiDyS4EoIIYQQIo8kuBJCCCGEyCNHX09ACCFEpppAmN2BCMP9Hir83r6ejhCimyS4EkKIfiIYTbBoRRWrq2qJxE08ToOZE8u4Zs5EfG75dS3EQCHbgkII0U8sWlHF0o9q0DUoK3Kha7D0oxoWrajq66kJIbpBgishhOgHagJhVlfVUuxx4i9w4jR0/AVOijxOVlfXUhMI9/UUhRBdJMGVEEL0A7sDESJxkwK3kXG90G0QiZvsDkT6aGZCiO6S4EoIIfqB4X4PHqdBc9TMuB6K2rlXw/2ePpqZEKK7JLgSQoh+oMLvZebEMhojcRqa48RNi4bmOE2RODMry+TUoBADiBw/EUKIfuKaORMBWF1dS20whsdpMG9SRfq6EGJg0JRSqq8ncahpbGzE7/cTCAQoLi7u6+kIIfoZqXMlxMAmK1dCCNHPVPi9ElQJMYBJzpUQQgghRB7JypUYdGRLRQghRF+S4EoMGtI6RAghRH8g24Ji0JDWIUIIIfoDCa7EoCCtQ4QQQvQXElyJQUFahwghhOgvJLgSg4K0DhFCCNFfSHAlBgVpHSKEEKK/kCNUYtCQ1iFCCCH6A2l/0wek/U3PkjpXQggh+pKsXIlBR1qHCCGE6EuScyWEEEIIkUcSXAkhhBBC5JEEV0IIIYQQeSTBlRBCCCFEHklwJYQQQgiRR/06uHruuec4/fTTKS0txePxMG7cOC688EK2b9+eMa6xsZHrr7+eMWPG4Ha7GTt2LDfccAPBYDDr/VqWxX333cekSZPwer2Ul5dz4YUXsnnz5nbnsmzZMmbNmkVRURHFxcWceuqprFy5Mq/PVwghhBADX7+sc6WU4v/9v//HAw88wIQJEzjjjDMoKipi165drFq1iscee4wZM2YAEAqFmDFjBu+//z5z587l+OOPZ8OGDSxfvpxp06axevVqPJ7M1idXXnklixcv5phjjmH+/Pns2rWLp556Cp/Px9tvv01lZWXG+EcffZSLLrqI8vJyLrjgAgCWLFlCbW0tTz31FN/+9re79fykzpUQQggxiKl+6De/+Y0C1H/913+pRCLR5vZ4PJ7+79tvv10B6sYbb8wYc+ONNypA3X333RnXX331VQWomTNnqmg0mr6+dOlSBai5c+dmjN+/f78aMmSIKisrU9u3b09f3759uyorK1NlZWWqsbGxW88vEAgoQAUCgW59nxBCCCH6v34XXDU3N6uSkhI1fvz4jCAqG8uy1IgRI5TP51PBYDDjtmAwqHw+nxo/fnzG9QsvvFABatWqVW3ub/bs2QpQW7duTV/7wx/+oAB15513thm/YMECBahHHnmkO09RgishhBBiEOt3OVfLly+nvr6eb37zm5imybPPPsu9997L73//ezZt2pQxtrq6ml27djF9+nQKCwszbissLGT69Ols3rw5I0fr9ddfT9/W2hlnnAHAqlWrMsYDzJ07t0vjhRBCCHFo63ftb9577z0ADMNg8uTJVFVVpW/TdZ3rrruOX/3qV4AdXAFtcqRSKisrWbZsGdXV1YwaNYpQKERNTQ3HHnsshmFkHd/yfjt7jGzjs4lGo0Sj0fTXjY2NHY4XQgghxMDV71au9u7dC8D//M//4Pf7+ec//0lTUxOrV69m4sSJ/PrXv+Z3v/sdAIFAAAC/35/1vlLJ4qlx3R3f2fdkG5/NPffcg9/vT/8ZNWpUh+OFEEIIMXD1u+DKsiwAXC4Xzz//PNOmTcPn83HKKafw9NNPo+s6v/71r/t4lt1z0003EQgE0n9al5IQQgghxODR77YFUytEJ554IiNGjMi47dhjj2X8+PFs2rSJhoaG9Nj2Vo5S22+pcd0d3/p7SktLOx2fjdvtxu12dzhGCCGEEINDv1u5+tKXvgTAkCFDst6euh4OhzvNeWqdL1VYWEhFRQVbtmzBNM1Ox7f872yP0VnOlxBCCCEOPf0uuDr11FMB+OSTT9rcFo/H2bRpE4WFhZSXl1NZWcmIESNYs2YNoVAoY2woFGLNmjWMGzcuI8dp1qxZ6dtaW7ZsGQAzZ87MGA/2Kcb2xqfGCCGEEEL0u+BqwoQJzJ07l02bNrF48eKM2+69914aGho455xzcDgcaJrGFVdcQTAY5K677soYe9dddxEMBrnyyiszrn/ve98D4LbbbiMWi6Wvv/zyy7z++uvMnTuXMWPGpK+ff/75+P1+7rvvPnbs2JG+vmPHDu6//37Kyso455xz8vb8hRBCCDGw9cv2N59//jn/9m//xt69e5k/fz5HHnkkGzZs4NVXX2XMmDG8/fbbDB8+HLBXqKZPn84HH3zA3LlzmTp1KuvXr0+3v1m1ahVerzfj/lu3v6mpqWHJkiX4fD7Wrl3LxIkTM8Z31P5myZIlnHfeed16ftL+RgghhBjE+rqKaXu2bdumLr30UjV8+HDldDrVqFGj1H//93+rPXv2tBnb0NCgrr32WjVq1CjldDrV6NGj1Y9+9KN229KYpqkWLVqkjjnmGOV2u1Vpaam64IIL1KZNm9qdz8svv6xOOeUUVVhYqHw+n5o1a5Z65ZVXcnpuUqFdCCGEGLz65crVYCcrV0IIIcTg1e9yroQQQgghBjIJroQQQggh8kiCKyGEEEKIPJLgSgghhBAijyS4EkIIIYTIIwmuhBBCCCHySIIrIYQQQog8kuBKCCGEECKPJLgSQgghhMgjCa6EEEIIIfLI0ZVBp512Wk53rmkaK1euzOl7hRBCCCEGoi4FV6+//nrW65qmka01Yeq6pmkHNTkhhBBCiIGmS9uClmVl/AmHw5x11llMnDiRv/zlL3zxxReEw2G++OIL/vznPzNx4kS+/vWv09zc3NPzF0IIIYToVzSVbempEz/96U9ZsmQJH330ET6fr83tjY2NTJ48me985zvce++9eZnoYNLY2Ijf7ycQCFBcXNzX0xFCCCFEHuWU0P74449z7rnnZg2sAIqLizn33HN54oknDmpyQgghhBADTU7B1b59+4jH4x2OSSQS7N27N6dJCSGEEEIMVDkFVxMmTODpp5+mrq4u6+379u3jqaee4ogjjjioyQkhhBBCDDQ5BVfXXnstu3fvZurUqSxatIj33nuP7du389577/Gb3/yGE044gb1793Ldddfle75CCCGEEP1aTgntAHfddRd33XUXpmlmXFdKYRgGt99+O7fddlteJjnYSEK7EEIIMXjlHFwBfP755zz22GN8+OGHBAIB/H4/xx13HN/97neZMGFCPuc5qEhwJYQQQgxeBxVcidxIcCWEEEIMXtJbUAghhBAij7rU/qY9//znP1m3bh0NDQ1tcq/AboMjeVdCCCGEOJTktC24f/9+vvnNb7JmzZqsvQXTd65pWYOuQ51sCwohhBCDV04rV9dffz1vvvkms2fP5pJLLmHkyJE4HAe1CCaEEEIIMSjktHJVVlbGEUccwdq1a9E0rSfmNajJypUQQggxeOWU0B4Oh5k5c6YEVkIIIYQQreQUXE2ZMoUvvvgiz1MRQgghhBj4cgqu7rjjDv7+97/z9ttv53s+QgghhBADWk5Z6Lt372b+/PnMmjWLf//3f2fq1Knt5g5dfPHFBzVBIYQQQoiBJKeEdl3X0TQtowxD6/wrpZSUYmiHJLQLIYQQg1dOK1cPPfRQvuchhBBCCDEoSG/BPiArV0IIIcTgJb0FhRBCCCHy6KDKqn/xxRc89thjvP/++zQ2NlJcXMyUKVP493//d8aOHZunKQohhBBCDBw5bwsuWrSIn/zkJyQSiTb9BZ1OJ7/85S+55ppr8jLJwUa2BYUQQojBK6dtwRdffJHrrrsOv9/Pz3/+c9566y22bNnC2rVrufvuu/H7/Vx//fW89NJLOU1q7NixaJqW9c/s2bPbjI9Go/zsZz+jsrISj8fDiBEj+N73vsfevXvbfYzHHnuMk046icLCQkpKSjjrrLNYv359u+PXrVvHvHnzGDJkCIWFhZx88sk89dRTOT0/IYQQQgxeOa1cnXbaaXz44Ye8//77jBw5ss3t27dv5/jjj+e4445j5cqV3Z7U2LFjaWho4Nprr81626WXXpr+2rIs5s2bx7Jlyzj55JOZNWsW1dXVPPfcc4wbN463336b8vLyjPtYuHAht956K2PGjOHcc8+lqamJJ598klgsxsqVK5k+fXrG+Ndee40zzjgDj8fDd77zHYqKinjmmWfYunUrv/rVr/jRj37UrecnK1dCCCHEIKZy4Pf71X/91391OOaqq65Sfr8/l7tXY8aMUWPGjOnS2AcffFAB6sILL1SWZaWv/+53v1OA+t73vpcxvqqqSjkcDjVx4kTV0NCQvr5hwwbldrvVUUcdpUzTTF+Px+NqwoQJyu12qw0bNqSvNzQ0qIkTJyqXy6W++OKLbj2/QCCgABUIBLr1fUIIIYTo/3LaFozFYhQWFnY4xufzEYvFcrn7bvnjH/8IwD333JNRyPT73/8+48eP57HHHiMcDqevP/TQQyQSCW655Rb8fn/6+pQpU7jwwgv55JNPePPNN9PXX331VT7//HO++93vMmXKlPR1v9/PzTffTCwW45FHHunBZyiEEEKIgSSn4GrixIm88MILJBKJrLcnEglefPFFJk6cmPPEotEoDz/8MHfffTf3338/77zzTpsxkUiEd955hy996UuMGTMm4zZN0zj99NMJhUK8++676euvv/46AHPnzm1zf2eccQYAq1atynm8EEIIIQ5tOQVXF198MZ999hlnnHEG7733XsZt7777Ll/72tf47LPPuOSSS3Ke2O7du7nsssu45ZZbuPrqqzn55JM56aST+Pzzz9NjPv/8cyzLorKyMut9pK5XV1enr1VXV+Pz+Rg+fHiXx7e8raXhw4fj8/kyxmcTjUZpbGzM+COEEEKIwSmn4Oqaa67h7LPP5rXXXuOkk06iqKiICRMmUFRUxJe//GVWrlzJ2WefnXMphssuu4yVK1eyZ88eQqEQGzZs4KKLLmLdunV89atfpampCYBAIACQsb3XUipZPDUu9d/dHd/ZY7Qcn80999yD3+9P/xk1alSH44UQQggxcOUUXBmGwfPPP8/DDz/M7NmzcblcbNu2DZfLxamnnsojjzzCc889h67nVgD+jjvu4LTTTmPYsGEUFBQwZcoU/vznP3PRRRexdevWdJ7VQHHTTTcRCATSf7Zv397XUxJCCCFEDzmoCu0XX3wxF198cb7m0qnvf//7/OUvf2HNmjVcf/316dWk9laOUttvLVedUiUQujO+s8coKSnpcN5utxu3293hGCGEEEIMDgOqt2BZWRkAoVAIgPHjx6Prers5T9nypSorKwkGg+zevbvL41ve1tLu3bsJBoPt5nwJIYQQ4tCTc4X2b33rW+zatSvr7bt27eJb3/oWL7/88kFNrrXUicFU30Kv18tJJ53E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I45IX//000/55S9/yc6dOw96gkIIIYQQA0lOK1eWZXHhhRfy17/+FbBLM4TD4fTtJSUl3HLLLZimyU033ZSfmQohhBBCDAA5rVz97//+L08//TTf//73qa+v58c//nHG7YcddhinnHIKL730Ul4mKYQQQggxUOQUXD388MNMmzaN//u//6O4uBhN09qMOeKII9iyZctBT1AI0XdqAmE2bKunJhDufLAQQgggx23BTZs28d///d8djiktLaWuri6nSQkh+lYwmmDRiipWV9USiZt4nAYzJ5ZxzZyJ+NxyAlgIITqSc/ubQCDQ4ZitW7cyZMiQbt93JBLh+uuvZ+bMmYwYMQKPx8Pw4cOZPn06Dz30EPF4vM33NDY2cv311zNmzBjcbjdjx47lhhtuIBgMZn0My7K47777mDRpEl6vl/Lyci688EI2b97c7ryWLVvGrFmzKCoqori4mFNPPZWVK1d2+/kJMRAsWlHF0o9q0DUoK3Kha7D0oxoWrajq66kJIUS/l1Nwdfzxx7Ns2TIikUjW2/fv388//vEPTj755G7fdzAY5He/+x2apjF//nyuv/56zjnnHHbu3Mnll1/OWWedhWVZ6fGhUIhZs2bxv//7vxx55JFcd911fOlLX+JXv/oVp512WtY5fv/73+eHP/whSil++MMfcuaZZ/Lss88ybdo0qqur24x/9NFHOfPMM/nkk0+49NJLueSSS/j44485/fTT00n9QgwWNYEwq6tqKfY48Rc4cRo6/gInRR4nq6trZYtQCCE6o3Lw/PPPK03T1Lx589T27dvVggULlK7rSimlNm3apGbOnKl0XVcrV67s9n2bpqmi0Wib6/F4XM2ePVsB6sUXX0xfv/322xWgbrzxxozxN954owLU3XffnXH91VdfVYCaOXNmxuMsXbpUAWru3LkZ4/fv36+GDBmiysrK1Pbt29PXt2/frsrKylRZWZlqbGzs1nMMBAIKUIFAoFvfJ0RvWL91v5r5i1fVt/7vTXXBH95K//nW/72pZv7yVbV+6/6+nqIQQvRrOa1cfeMb3+DGG2/k5ZdfZsyYMfz6178GYNiwYUycOJE33niDW2+9ldNOO63b963retYCpA6Hg3POOQewc76SgSGLFy/G5/Nx2223ZYy/7bbb8Pl8LF68OOP6H//4RwDuuuuujMf52te+xuzZs1m+fDnbtm1L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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.rcParams.update({'font.size': 14})\n", | |
"\n", | |
"plt.figure()\n", | |
"plt.scatter(x, y, alpha=0.75, s=20)\n", | |
"plt.ylabel(\"Train samples per second\")\n", | |
"plt.xlabel(\"ImageNet top-5 accuracy\")\n", | |
"\n", | |
"ax = plt.gca()\n", | |
"ax.spines['right'].set_visible(False)\n", | |
"ax.spines['top'].set_visible(False)\n", | |
"\n", | |
"plt.show()\n", | |
"plt.close()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"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>top1</th>\n", | |
" <th>top1_err</th>\n", | |
" <th>top5</th>\n", | |
" <th>top5_err</th>\n", | |
" <th>param_count_scores</th>\n", | |
" <th>img_size</th>\n", | |
" <th>crop_pct</th>\n", | |
" <th>interpolation</th>\n", | |
" <th>train_samples_per_sec</th>\n", | |
" <th>train_step_time</th>\n", | |
" <th>train_batch_size</th>\n", | |
" <th>train_img_size</th>\n", | |
" <th>param_count_benchmark</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>model</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>levit_256</th>\n", | |
" <td>81.510</td>\n", | |
" <td>18.490</td>\n", | |
" <td>95.490</td>\n", | |
" <td>4.510</td>\n", | |
" <td>18.89</td>\n", | |
" <td>224</td>\n", | |
" <td>0.9</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>2956.43</td>\n", | |
" <td>172.043</td>\n", | |
" <td>512</td>\n", | |
" <td>224</td>\n", | |
" <td>18.89</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>levit_192</th>\n", | |
" <td>79.842</td>\n", | |
" <td>20.158</td>\n", | |
" <td>94.786</td>\n", | |
" <td>5.214</td>\n", | |
" <td>10.95</td>\n", | |
" <td>224</td>\n", | |
" <td>0.9</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>3727.29</td>\n", | |
" <td>136.213</td>\n", | |
" <td>512</td>\n", | |
" <td>224</td>\n", | |
" <td>10.95</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>levit_128</th>\n", | |
" <td>78.486</td>\n", | |
" <td>21.514</td>\n", | |
" <td>94.010</td>\n", | |
" <td>5.990</td>\n", | |
" <td>9.21</td>\n", | |
" <td>224</td>\n", | |
" <td>0.9</td>\n", | |
" <td>bicubic</td>\n", | |
" <td>4558.28</td>\n", | |
" <td>111.213</td>\n", | |
" <td>512</td>\n", | |
" <td>224</td>\n", | |
" <td>9.21</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" top1 top1_err top5 top5_err param_count_scores img_size \\\n", | |
"model \n", | |
"levit_256 81.510 18.490 95.490 4.510 18.89 224 \n", | |
"levit_192 79.842 20.158 94.786 5.214 10.95 224 \n", | |
"levit_128 78.486 21.514 94.010 5.990 9.21 224 \n", | |
"\n", | |
" crop_pct interpolation train_samples_per_sec train_step_time \\\n", | |
"model \n", | |
"levit_256 0.9 bicubic 2956.43 172.043 \n", | |
"levit_192 0.9 bicubic 3727.29 136.213 \n", | |
"levit_128 0.9 bicubic 4558.28 111.213 \n", | |
"\n", | |
" train_batch_size train_img_size param_count_benchmark \n", | |
"model \n", | |
"levit_256 512 224 18.89 \n", | |
"levit_192 512 224 10.95 \n", | |
"levit_128 512 224 9.21 " | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[(df[\"top5\"] > 94) & (df[\"train_samples_per_sec\"] > 2000)]" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "geospatiallib", | |
"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.10.9" | |
}, | |
"orig_nbformat": 4 | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment