{
  "id": 242030,
  "title": "14th place solution - fastai ensemble",
  "url": "/competitions/hotel-id-2021-fgvc8/writeups/jo-tom-14th-place-solution-fastai-ensemble",
  "author_name": "",
  "post_date": "2021-05-27T20:44:20.523Z",
  "votes": 13,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Congrats to the winners! 🎉 Score &gt; 0.8, phew, I'm curious about your solutions.</p>\n<p>Thank you to the host for setting up this competition! I'm wondering where your benckmark was before the competition?</p>\n<h1>14th place solution</h1>\n<h2>Overview</h2>\n<p>The best scoring submission (private score 0.616) was an ensemble of five models.</p>\n<ul>\n<li>Ensembling notebook: <a href=\"https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference</a></li>\n<li>Trained models: <ul>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-train-fastai-densnet161</a></li>\n<li><a href=\"https://www.kaggle.com/joatom/fgvc8hotel\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8hotel</a></li></ul></li>\n<li>Training and inference notebooks of my best single model (private score 0.574): <ul>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-train-fastai-densnet161</a></li>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-inference-fastai/\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-inference-fastai/</a></li></ul></li>\n</ul>\n<h2>Data</h2>\n<p>I restricted training to the data provided in this competition. <br>\nI used pretrained models from pytorch (<a href=\"https://pytorch.org/vision/stable/models.html\" target=\"_blank\">https://pytorch.org/vision/stable/models.html</a>) via fastai library.<br>\nNo external data.</p>\n<h3>Data preperation</h3>\n<p>Downscaling of the images to max size of 512 for faster training. Scaled images and code to downscalecan be found here: <a href=\"https://www.kaggle.com/joatom/fgvc8hoteltrain512\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8hoteltrain512</a></p>\n<h3>Augmentation</h3>\n<p>Fastai default augmentation with some additional scaling and <em>reflection</em> padding:<br>\n<code>\n item_tfms=Resize(448, method='pad', pad_mode='reflection')\n batch_tfms=aug_transforms(size=224)\n</code></p>\n<h2>Training</h2>\n<p>All the models used for the final submission were trained in a similar way using fastai library. Five of the models I trained at home with a RTX2070S and 4 CPUs in mixed precision mode. The sixth model was trained on kaggle (see <a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">notebook</a>).</p>\n<ul>\n<li>Opt. function: QHAdam</li>\n<li>Scheduler: OneCycle; on model v1 linear decay of max LR per round </li>\n</ul>\n<p>Singel Models that were used for best ensemble:</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Arch</th>\n<th>Loss</th>\n<th>(freeze)Epochs</th>\n<th>public LB</th>\n<th>private LB</th>\n<th>Duration</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>v3</td>\n<td>resnet50</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.4746</td>\n<td>0.4863</td>\n<td>80 min</td>\n</tr>\n<tr>\n<td>v5</td>\n<td>resnet101</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.5339</td>\n<td>0.5422</td>\n<td>140 min</td>\n</tr>\n<tr>\n<td>v7</td>\n<td>densenet161</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.5484</td>\n<td>0.5631</td>\n<td>270 min</td>\n</tr>\n<tr>\n<td>v8</td>\n<td>densenet161</td>\n<td>FocalLoss</td>\n<td>(1)10</td>\n<td>0.5388</td>\n<td>0.5574</td>\n<td>270 min</td>\n</tr>\n<tr>\n<td>v11</td>\n<td>resnet101</td>\n<td>CE</td>\n<td>(6)4+3<em>1+4</em>10</td>\n<td>0.5451</td>\n<td>0.5576</td>\n<td>670 min</td>\n</tr>\n<tr>\n<td>vk2</td>\n<td>densenet161</td>\n<td>CE</td>\n<td>(3)12</td>\n<td>0.5594</td>\n<td>0.5748</td>\n<td>480 min</td>\n</tr>\n</tbody>\n</table>\n<h2>Inference</h2>\n<p>Probas of all six models were equaly weighted. <br>\nAll models were run with 4xTTA.</p>\n<p>Scores of some ensembles:</p>\n<table>\n<thead>\n<tr>\n<th>Models</th>\n<th>public LB</th>\n<th>private LB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>3, 5, 7, 8, 11, k2</td>\n<td>0.6046</td>\n<td>0.6164</td>\n</tr>\n<tr>\n<td>7, 8, 11, k2</td>\n<td>0.5987</td>\n<td>0.6120</td>\n</tr>\n</tbody>\n</table>\n<h2>What didn't work this time</h2>\n<ul>\n<li>I tried ArcFace, but failed</li>\n<li>Hotel Chain as auxilary variable</li>\n<li>Attention blocks in head or body</li>\n<li>ResNexts, SEResnet</li>\n<li>EfficientNets, NFNet (see lessons learned)</li>\n</ul>\n<h2>Lessons learned</h2>\n<p>Some of the experiments (chain as aux variable or NFNet) were done in plain pytorch.<br>\nI had a hard time to achive fastai performance in plain pytorch in 10 epochs. I only managed to achive a comparable performance for the <em>freezing</em> epochs (where only the head is updated). That's probably the reason why I didn't get EffNets and NFNets to fly. Some valuable insides I discovered when reimplementing the wheel were:</p>\n<ul>\n<li>augmentation on GPU is very helpfull with only few slow CPUs</li>\n<li>Fastai doubles the features before it enters the head (MaxPool AND AvgPool)</li>\n<li>discriminating learning rate seems to be the secret sauce on this data. Tried param_groups on Adam but didn't get it to work effectively.</li>\n</ul>\n<p>Sometimes simple is better. So I ended up with rather common models.</p>",
  "messages": [
    {
      "id": "1324703",
      "postDate": "05/27/2021 07:06:19",
      "content": "<p>Congrats to the winners! 🎉 Score &gt; 0.8, phew, I'm curious about your solutions.</p>\n<p>Thank you to the host for setting up this competition! I'm wondering where your benckmark was before the competition?</p>\n<h1>14th place solution</h1>\n<h2>Overview</h2>\n<p>The best scoring submission (private score 0.616) was an ensemble of five models.</p>\n<ul>\n<li>Ensembling notebook: <a href=\"https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference</a></li>\n<li>Trained models: <ul>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-train-fastai-densnet161</a></li>\n<li><a href=\"https://www.kaggle.com/joatom/fgvc8hotel\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8hotel</a></li></ul></li>\n<li>Training and inference notebooks of my best single model (private score 0.574): <ul>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-train-fastai-densnet161</a></li>\n<li><a href=\"https://www.kaggle.com/joatom/hotel-inference-fastai/\" target=\"_blank\">https://www.kaggle.com/joatom/hotel-inference-fastai/</a></li></ul></li>\n</ul>\n<h2>Data</h2>\n<p>I restricted training to the data provided in this competition. <br>\nI used pretrained models from pytorch (<a href=\"https://pytorch.org/vision/stable/models.html\" target=\"_blank\">https://pytorch.org/vision/stable/models.html</a>) via fastai library.<br>\nNo external data.</p>\n<h3>Data preperation</h3>\n<p>Downscaling of the images to max size of 512 for faster training. Scaled images and code to downscalecan be found here: <a href=\"https://www.kaggle.com/joatom/fgvc8hoteltrain512\" target=\"_blank\">https://www.kaggle.com/joatom/fgvc8hoteltrain512</a></p>\n<h3>Augmentation</h3>\n<p>Fastai default augmentation with some additional scaling and <em>reflection</em> padding:<br>\n<code>\n item_tfms=Resize(448, method='pad', pad_mode='reflection')\n batch_tfms=aug_transforms(size=224)\n</code></p>\n<h2>Training</h2>\n<p>All the models used for the final submission were trained in a similar way using fastai library. Five of the models I trained at home with a RTX2070S and 4 CPUs in mixed precision mode. The sixth model was trained on kaggle (see <a href=\"https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\" target=\"_blank\">notebook</a>).</p>\n<ul>\n<li>Opt. function: QHAdam</li>\n<li>Scheduler: OneCycle; on model v1 linear decay of max LR per round </li>\n</ul>\n<p>Singel Models that were used for best ensemble:</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>Arch</th>\n<th>Loss</th>\n<th>(freeze)Epochs</th>\n<th>public LB</th>\n<th>private LB</th>\n<th>Duration</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>v3</td>\n<td>resnet50</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.4746</td>\n<td>0.4863</td>\n<td>80 min</td>\n</tr>\n<tr>\n<td>v5</td>\n<td>resnet101</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.5339</td>\n<td>0.5422</td>\n<td>140 min</td>\n</tr>\n<tr>\n<td>v7</td>\n<td>densenet161</td>\n<td>CE</td>\n<td>(1)10</td>\n<td>0.5484</td>\n<td>0.5631</td>\n<td>270 min</td>\n</tr>\n<tr>\n<td>v8</td>\n<td>densenet161</td>\n<td>FocalLoss</td>\n<td>(1)10</td>\n<td>0.5388</td>\n<td>0.5574</td>\n<td>270 min</td>\n</tr>\n<tr>\n<td>v11</td>\n<td>resnet101</td>\n<td>CE</td>\n<td>(6)4+3<em>1+4</em>10</td>\n<td>0.5451</td>\n<td>0.5576</td>\n<td>670 min</td>\n</tr>\n<tr>\n<td>vk2</td>\n<td>densenet161</td>\n<td>CE</td>\n<td>(3)12</td>\n<td>0.5594</td>\n<td>0.5748</td>\n<td>480 min</td>\n</tr>\n</tbody>\n</table>\n<h2>Inference</h2>\n<p>Probas of all six models were equaly weighted. <br>\nAll models were run with 4xTTA.</p>\n<p>Scores of some ensembles:</p>\n<table>\n<thead>\n<tr>\n<th>Models</th>\n<th>public LB</th>\n<th>private LB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>3, 5, 7, 8, 11, k2</td>\n<td>0.6046</td>\n<td>0.6164</td>\n</tr>\n<tr>\n<td>7, 8, 11, k2</td>\n<td>0.5987</td>\n<td>0.6120</td>\n</tr>\n</tbody>\n</table>\n<h2>What didn't work this time</h2>\n<ul>\n<li>I tried ArcFace, but failed</li>\n<li>Hotel Chain as auxilary variable</li>\n<li>Attention blocks in head or body</li>\n<li>ResNexts, SEResnet</li>\n<li>EfficientNets, NFNet (see lessons learned)</li>\n</ul>\n<h2>Lessons learned</h2>\n<p>Some of the experiments (chain as aux variable or NFNet) were done in plain pytorch.<br>\nI had a hard time to achive fastai performance in plain pytorch in 10 epochs. I only managed to achive a comparable performance for the <em>freezing</em> epochs (where only the head is updated). That's probably the reason why I didn't get EffNets and NFNets to fly. Some valuable insides I discovered when reimplementing the wheel were:</p>\n<ul>\n<li>augmentation on GPU is very helpfull with only few slow CPUs</li>\n<li>Fastai doubles the features before it enters the head (MaxPool AND AvgPool)</li>\n<li>discriminating learning rate seems to be the secret sauce on this data. Tried param_groups on Adam but didn't get it to work effectively.</li>\n</ul>\n<p>Sometimes simple is better. So I ended up with rather common models.</p>",
      "rawMarkdown": "Congrats to the winners! 🎉 Score > 0.8, phew, I'm curious about your solutions.\n\nThank you to the host for setting up this competition! I'm wondering where your benckmark was before the competition?\n\n# 14th place solution\n\n## Overview\n\nThe best scoring submission (private score 0.616) was an ensemble of five models.\n- Ensembling notebook: https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference\n- Trained models: \n - https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\n - https://www.kaggle.com/joatom/fgvc8hotel\n- Training and inference notebooks of my best single model (private score 0.574): \n - https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\n - https://www.kaggle.com/joatom/hotel-inference-fastai/\n\n## Data\n\nI restricted training to the data provided in this competition. \nI used pretrained models from pytorch (https://pytorch.org/vision/stable/models.html) via fastai library.\nNo external data.\n\n### Data preperation\nDownscaling of the images to max size of 512 for faster training. Scaled images and code to downscalecan be found here: https://www.kaggle.com/joatom/fgvc8hoteltrain512\n\n### Augmentation\nFastai default augmentation with some additional scaling and *reflection* padding:\n`\n item_tfms=Resize(448, method='pad', pad_mode='reflection')\n batch_tfms=aug_transforms(size=224)\n`\n\n## Training\n\nAll the models used for the final submission were trained in a similar way using fastai library. Five of the models I trained at home with a RTX2070S and 4 CPUs in mixed precision mode. The sixth model was trained on kaggle (see [notebook](https://www.kaggle.com/joatom/hotel-train-fastai-densnet161)).\n\n- Opt. function: QHAdam\n- Scheduler: OneCycle; on model v1 linear decay of max LR per round \n\nSingel Models that were used for best ensemble:\n|Model|       Arch|      Loss|(freeze)Epochs|public LB|private LB|Duration|\n|-----|-----------|----------|--------------|---------|----------|--------|\n|   v3|   resnet50|        CE|         (1)10|   0.4746|    0.4863|  80 min|\n|   v5|  resnet101|        CE|         (1)10|   0.5339|    0.5422| 140 min|\n|   v7|densenet161|        CE|         (1)10|   0.5484|    0.5631| 270 min|\n|   v8|densenet161| FocalLoss|         (1)10|   0.5388|    0.5574| 270 min|\n|  v11|  resnet101|        CE| (6)4+3*1+4*10|   0.5451|    0.5576| 670 min|\n|  vk2|densenet161|        CE|         (3)12|   0.5594|    0.5748| 480 min|\n\n\n## Inference\n\nProbas of all six models were equaly weighted. \nAll models were run with 4xTTA.\n\nScores of some ensembles:\n|             Models|public LB|private LB|\n|---------------|---------|----------|\n|3, 5, 7, 8, 11, k2|   0.6046|    0.6164|\n|        7, 8, 11, k2|   0.5987|    0.6120|\n\n## What didn't work this time\n\n- I tried ArcFace, but failed\n- Hotel Chain as auxilary variable\n- Attention blocks in head or body\n- ResNexts, SEResnet\n- EfficientNets, NFNet (see lessons learned)\n\n\n## Lessons learned\n\nSome of the experiments (chain as aux variable or NFNet) were done in plain pytorch.\nI had a hard time to achive fastai performance in plain pytorch in 10 epochs. I only managed to achive a comparable performance for the *freezing* epochs (where only the head is updated). That's probably the reason why I didn't get EffNets and NFNets to fly. Some valuable insides I discovered when reimplementing the wheel were:\n- augmentation on GPU is very helpfull with only few slow CPUs\n- Fastai doubles the features before it enters the head (MaxPool AND AvgPool)\n- discriminating learning rate seems to be the secret sauce on this data. Tried param_groups on Adam but didn't get it to work effectively.\n\nSometimes simple is better. So I ended up with rather common models.",
      "votes": null
    },
    {
      "id": "1324813",
      "postDate": "05/27/2021 08:37:16",
      "content": "<p>Nice result! Have you tried also metric learning?(e.g., triplet loss) </p>",
      "rawMarkdown": "Nice result! Have you tried also metric learning?(e.g., triplet loss)",
      "votes": null
    },
    {
      "id": "1325447",
      "postDate": "05/27/2021 18:50:19",
      "content": "<p>Thanks! No, I tried to implement ArcFace, but screwed it. Besides regular CE I also used FocalLoss in some models which performed about the same as LabelSmoothing.</p>",
      "rawMarkdown": "Thanks! No, I tried to implement ArcFace, but screwed it. Besides regular CE I also used FocalLoss in some models which performed about the same as LabelSmoothing.",
      "votes": null
    },
    {
      "id": "1340328",
      "postDate": "06/07/2021 19:19:25",
      "content": "<p>Good results using only the training set provided! Thank you for sharing your approach</p>",
      "rawMarkdown": "Good results using only the training set provided! Thank you for sharing your approach",
      "votes": null
    },
    {
      "id": "1340404",
      "postDate": "06/07/2021 21:53:02",
      "content": "<p>Thanks, but it seems I didn't reach your benchmark (<a href=\"https://sites.google.com/view/fgvc8/papers\" target=\"_blank\">https://sites.google.com/view/fgvc8/papers</a>) with the ResNet50 🙄 in direct comparison. <br>\nI hope that some more of the top teams will share their solutions with you.</p>",
      "rawMarkdown": "Thanks, but it seems I didn't reach your benchmark (https://sites.google.com/view/fgvc8/papers) with the ResNet50 🙄 in direct comparison. \nI hope that some more of the top teams will share their solutions with you.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1324813,
      "author_name": "adamosusky",
      "author_url": "",
      "post_date": "05/27/2021 08:37:16",
      "content": "<p>Nice result! Have you tried also metric learning?(e.g., triplet loss) </p>",
      "votes": null,
      "replies": [
        {
          "id": 1325447,
          "author_name": "joatom",
          "author_url": "",
          "post_date": "05/27/2021 18:50:19",
          "content": "<p>Thanks! No, I tried to implement ArcFace, but screwed it. Besides regular CE I also used FocalLoss in some models which performed about the same as LabelSmoothing.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1340328,
      "author_name": "anjrash",
      "author_url": "",
      "post_date": "06/07/2021 19:19:25",
      "content": "<p>Good results using only the training set provided! Thank you for sharing your approach</p>",
      "votes": null,
      "replies": [
        {
          "id": 1340404,
          "author_name": "joatom",
          "author_url": "",
          "post_date": "06/07/2021 21:53:02",
          "content": "<p>Thanks, but it seems I didn't reach your benchmark (<a href=\"https://sites.google.com/view/fgvc8/papers\" target=\"_blank\">https://sites.google.com/view/fgvc8/papers</a>) with the ResNet50 🙄 in direct comparison. <br>\nI hope that some more of the top teams will share their solutions with you.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1324703": "Congrats to the winners! 🎉 Score > 0.8, phew, I'm curious about your solutions.\n\nThank you to the host for setting up this competition! I'm wondering where your benckmark was before the competition?\n\n# 14th place solution\n\n## Overview\n\nThe best scoring submission (private score 0.616) was an ensemble of five models.\n- Ensembling notebook: https://www.kaggle.com/joatom/fgvc8-hotel-ensemble-inference\n- Trained models: \n - https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\n - https://www.kaggle.com/joatom/fgvc8hotel\n- Training and inference notebooks of my best single model (private score 0.574): \n - https://www.kaggle.com/joatom/hotel-train-fastai-densnet161\n - https://www.kaggle.com/joatom/hotel-inference-fastai/\n\n## Data\n\nI restricted training to the data provided in this competition. \nI used pretrained models from pytorch (https://pytorch.org/vision/stable/models.html) via fastai library.\nNo external data.\n\n### Data preperation\nDownscaling of the images to max size of 512 for faster training. Scaled images and code to downscalecan be found here: https://www.kaggle.com/joatom/fgvc8hoteltrain512\n\n### Augmentation\nFastai default augmentation with some additional scaling and *reflection* padding:\n`\n item_tfms=Resize(448, method='pad', pad_mode='reflection')\n batch_tfms=aug_transforms(size=224)\n`\n\n## Training\n\nAll the models used for the final submission were trained in a similar way using fastai library. Five of the models I trained at home with a RTX2070S and 4 CPUs in mixed precision mode. The sixth model was trained on kaggle (see [notebook](https://www.kaggle.com/joatom/hotel-train-fastai-densnet161)).\n\n- Opt. function: QHAdam\n- Scheduler: OneCycle; on model v1 linear decay of max LR per round \n\nSingel Models that were used for best ensemble:\n|Model|       Arch|      Loss|(freeze)Epochs|public LB|private LB|Duration|\n|-----|-----------|----------|--------------|---------|----------|--------|\n|   v3|   resnet50|        CE|         (1)10|   0.4746|    0.4863|  80 min|\n|   v5|  resnet101|        CE|         (1)10|   0.5339|    0.5422| 140 min|\n|   v7|densenet161|        CE|         (1)10|   0.5484|    0.5631| 270 min|\n|   v8|densenet161| FocalLoss|         (1)10|   0.5388|    0.5574| 270 min|\n|  v11|  resnet101|        CE| (6)4+3*1+4*10|   0.5451|    0.5576| 670 min|\n|  vk2|densenet161|        CE|         (3)12|   0.5594|    0.5748| 480 min|\n\n\n## Inference\n\nProbas of all six models were equaly weighted. \nAll models were run with 4xTTA.\n\nScores of some ensembles:\n|             Models|public LB|private LB|\n|---------------|---------|----------|\n|3, 5, 7, 8, 11, k2|   0.6046|    0.6164|\n|        7, 8, 11, k2|   0.5987|    0.6120|\n\n## What didn't work this time\n\n- I tried ArcFace, but failed\n- Hotel Chain as auxilary variable\n- Attention blocks in head or body\n- ResNexts, SEResnet\n- EfficientNets, NFNet (see lessons learned)\n\n\n## Lessons learned\n\nSome of the experiments (chain as aux variable or NFNet) were done in plain pytorch.\nI had a hard time to achive fastai performance in plain pytorch in 10 epochs. I only managed to achive a comparable performance for the *freezing* epochs (where only the head is updated). That's probably the reason why I didn't get EffNets and NFNets to fly. Some valuable insides I discovered when reimplementing the wheel were:\n- augmentation on GPU is very helpfull with only few slow CPUs\n- Fastai doubles the features before it enters the head (MaxPool AND AvgPool)\n- discriminating learning rate seems to be the secret sauce on this data. Tried param_groups on Adam but didn't get it to work effectively.\n\nSometimes simple is better. So I ended up with rather common models.",
    "1324813": "Nice result! Have you tried also metric learning?(e.g., triplet loss)",
    "1325447": "Thanks! No, I tried to implement ArcFace, but screwed it. Besides regular CE I also used FocalLoss in some models which performed about the same as LabelSmoothing.",
    "1340328": "Good results using only the training set provided! Thank you for sharing your approach",
    "1340404": "Thanks, but it seems I didn't reach your benchmark (https://sites.google.com/view/fgvc8/papers) with the ResNet50 🙄 in direct comparison. \nI hope that some more of the top teams will share their solutions with you."
  },
  "source": "meta"
}