{
  "id": 206220,
  "title": "Some words about TTA",
  "url": "/competitions/cassava-leaf-disease-classification/discussion/206220",
  "author_name": "",
  "post_date": "2020-12-23T16:25:10.444309700Z",
  "votes": 30,
  "comment_count": 11,
  "views": 0,
  "content": "<p>TTA is one of the most useful methodology that we can use in Image Competitions. Although in real life, I never got the chances of using this technique due to the need for real time quick inference, on Kaggle Competition it can give a huge boost.<br>\nFor example, in this competition one of my models, a Effnet B3 was split in 5 folds, trained with the optimized set of parameters and then calculated OOF predictions with/without TTA<br>\nThe results are:</p>\n<p><strong>Inference on original resized</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F639471d38a866b8a2e064bfaa8ee1ade%2FB3NoAug0895.png?generation=1608738986053230&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and horizontal flip</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fc97c13879f954f73a0a301775af467a4%2FB3HFlip0894.png?generation=1608739075372483&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and vertical flip</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F7040468d83e36fc8ccf62e6953a475f7%2FB3VFlip0893.png?generation=1608739181985619&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and transpose</strong></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Ff96891a7ba7e02573253731b28b92fa7%2FB3Trans0895.png?generation=1608739374632849&amp;alt=media\" alt=\"\"><br>\n<strong>Mean inference with all the above (normal + horizontal flip + vertical flip + transpose)</strong></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fbe510cee6ef9d1133b3d94ccf161b98e%2FB3Comb0896.png?generation=1608739315706955&amp;alt=media\" alt=\"\"></p>\n<p><strong>And now some interesting things to notice:</strong>  </p>\n<ul>\n<li>As a validation of the concept it is easily clear that the accuracy of the mean inference is superior than all the other taken individual ( 89.67% vs 89.55%, 89.56%, 89.35%, 89.47%)</li>\n<li>Surprisingly or not, in the individual inference, the non augmented image is not having the best score (the transposed augmentation has it)</li>\n<li>In order to make inference with TTA, make sure that you use that kind of augmentation on the training (if you are teaching the algorithm to learn just the original image, it will have very poor results when you try to make inference on a flipped or transposed image)</li>\n<li>You can use much more TTA methodologies, you can create for example a image fliped both by horizontal &amp; vertical in the same time. The only limitation is the time needed for inference</li>\n<li>When making the combined probabilities, I prefer making the mean on all classes output compared with a voting system where every TTA votes the biggest probability. When you make a vote system, you will miss the information about confidences in the other categories except the biggest one<br>\nFor example: if you have the probabilities ( 0.40, 0.39, 0.07, 0.07, 0.07) you will be missing the information that the 2nd probability is almost as good as first. You will just go in with: this is 1</li>\n<li>You can go even deeper by assigning weights to different TTA on different categories, for example in the consusion matrix above you can see that on CBSD category the prediction on the clean image are having almost 1% + in accuracy. Be careful to not overfit with this methodology, if you are designing your methods to fit exactly on your training data you can lose the generalization power of your model, it is a fine line there.</li>\n</ul>",
  "messages": [
    {
      "id": "1124006",
      "postDate": "12/23/2020 16:25:10",
      "content": "<p>TTA is one of the most useful methodology that we can use in Image Competitions. Although in real life, I never got the chances of using this technique due to the need for real time quick inference, on Kaggle Competition it can give a huge boost.<br>\nFor example, in this competition one of my models, a Effnet B3 was split in 5 folds, trained with the optimized set of parameters and then calculated OOF predictions with/without TTA<br>\nThe results are:</p>\n<p><strong>Inference on original resized</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F639471d38a866b8a2e064bfaa8ee1ade%2FB3NoAug0895.png?generation=1608738986053230&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and horizontal flip</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fc97c13879f954f73a0a301775af467a4%2FB3HFlip0894.png?generation=1608739075372483&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and vertical flip</strong><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F7040468d83e36fc8ccf62e6953a475f7%2FB3VFlip0893.png?generation=1608739181985619&amp;alt=media\" alt=\"\"></p>\n<p><strong>Inference after resize and transpose</strong></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Ff96891a7ba7e02573253731b28b92fa7%2FB3Trans0895.png?generation=1608739374632849&amp;alt=media\" alt=\"\"><br>\n<strong>Mean inference with all the above (normal + horizontal flip + vertical flip + transpose)</strong></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fbe510cee6ef9d1133b3d94ccf161b98e%2FB3Comb0896.png?generation=1608739315706955&amp;alt=media\" alt=\"\"></p>\n<p><strong>And now some interesting things to notice:</strong>  </p>\n<ul>\n<li>As a validation of the concept it is easily clear that the accuracy of the mean inference is superior than all the other taken individual ( 89.67% vs 89.55%, 89.56%, 89.35%, 89.47%)</li>\n<li>Surprisingly or not, in the individual inference, the non augmented image is not having the best score (the transposed augmentation has it)</li>\n<li>In order to make inference with TTA, make sure that you use that kind of augmentation on the training (if you are teaching the algorithm to learn just the original image, it will have very poor results when you try to make inference on a flipped or transposed image)</li>\n<li>You can use much more TTA methodologies, you can create for example a image fliped both by horizontal &amp; vertical in the same time. The only limitation is the time needed for inference</li>\n<li>When making the combined probabilities, I prefer making the mean on all classes output compared with a voting system where every TTA votes the biggest probability. When you make a vote system, you will miss the information about confidences in the other categories except the biggest one<br>\nFor example: if you have the probabilities ( 0.40, 0.39, 0.07, 0.07, 0.07) you will be missing the information that the 2nd probability is almost as good as first. You will just go in with: this is 1</li>\n<li>You can go even deeper by assigning weights to different TTA on different categories, for example in the consusion matrix above you can see that on CBSD category the prediction on the clean image are having almost 1% + in accuracy. Be careful to not overfit with this methodology, if you are designing your methods to fit exactly on your training data you can lose the generalization power of your model, it is a fine line there.</li>\n</ul>",
      "rawMarkdown": "TTA is one of the most useful methodology that we can use in Image Competitions. Although in real life, I never got the chances of using this technique due to the need for real time quick inference, on Kaggle Competition it can give a huge boost.\nFor example, in this competition one of my models, a Effnet B3 was split in 5 folds, trained with the optimized set of parameters and then calculated OOF predictions with/without TTA\nThe results are:\n\n**Inference on original resized**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F639471d38a866b8a2e064bfaa8ee1ade%2FB3NoAug0895.png?generation=1608738986053230&alt=media)\n\n**Inference after resize and horizontal flip**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fc97c13879f954f73a0a301775af467a4%2FB3HFlip0894.png?generation=1608739075372483&alt=media)\n\n**Inference after resize and vertical flip**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F7040468d83e36fc8ccf62e6953a475f7%2FB3VFlip0893.png?generation=1608739181985619&alt=media)\n\n\n**Inference after resize and transpose**\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Ff96891a7ba7e02573253731b28b92fa7%2FB3Trans0895.png?generation=1608739374632849&alt=media)\n**Mean inference with all the above (normal + horizontal flip + vertical flip + transpose)**\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fbe510cee6ef9d1133b3d94ccf161b98e%2FB3Comb0896.png?generation=1608739315706955&alt=media)\n\n\n**And now some interesting things to notice:**  \n\n- As a validation of the concept it is easily clear that the accuracy of the mean inference is superior than all the other taken individual ( 89.67% vs 89.55%, 89.56%, 89.35%, 89.47%)\n- Surprisingly or not, in the individual inference, the non augmented image is not having the best score (the transposed augmentation has it)\n- In order to make inference with TTA, make sure that you use that kind of augmentation on the training (if you are teaching the algorithm to learn just the original image, it will have very poor results when you try to make inference on a flipped or transposed image)\n- You can use much more TTA methodologies, you can create for example a image fliped both by horizontal & vertical in the same time. The only limitation is the time needed for inference\n- When making the combined probabilities, I prefer making the mean on all classes output compared with a voting system where every TTA votes the biggest probability. When you make a vote system, you will miss the information about confidences in the other categories except the biggest one\nFor example: if you have the probabilities ( 0.40, 0.39, 0.07, 0.07, 0.07) you will be missing the information that the 2nd probability is almost as good as first. You will just go in with: this is 1\n- You can go even deeper by assigning weights to different TTA on different categories, for example in the consusion matrix above you can see that on CBSD category the prediction on the clean image are having almost 1% + in accuracy. Be careful to not overfit with this methodology, if you are designing your methods to fit exactly on your training data you can lose the generalization power of your model, it is a fine line there.",
      "votes": null
    },
    {
      "id": "1124021",
      "postDate": "12/23/2020 16:30:39",
      "content": "<p>I'm ashamed to admit but i still can't do <strong>test time augmentation</strong> from scratch, maybe because there aren't books that explain the method step by step. Would you mind to share resources that you consider the best to learn the technique? or a \"starter notebook\" in Kaggle (that i could'nt find)?</p>",
      "rawMarkdown": "I'm ashamed to admit but i still can't do **test time augmentation** from scratch, maybe because there aren't books that explain the method step by step. Would you mind to share resources that you consider the best to learn the technique? or a \"starter notebook\" in Kaggle (that i could'nt find)?",
      "votes": null
    },
    {
      "id": "1124110",
      "postDate": "12/23/2020 17:20:17",
      "content": "<p><a href=\"https://www.kaggle.com/hiramcho\" target=\"_blank\">@hiramcho</a>  It is not so complicated, it's just some programing tricks, juggling with predictions . Even if there are some frameworks that helps, I suggest to try implementing from scratch.<br>\nA nice good to read article is:<br>\n<a href=\"https://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d\" target=\"_blank\">https://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d</a> </p>",
      "rawMarkdown": "hiramcho  It is not so complicated, it's just some programing tricks, juggling with predictions . Even if there are some frameworks that helps, I suggest to try implementing from scratch.\nA nice good to read article is:\nhttps://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d",
      "votes": null
    },
    {
      "id": "1124112",
      "postDate": "12/23/2020 17:21:53",
      "content": "<p>Thanks, from scracth is want i want it.</p>",
      "rawMarkdown": "Thanks, from scracth is want i want it.",
      "votes": null
    },
    {
      "id": "1124310",
      "postDate": "12/23/2020 20:13:32",
      "content": "<p><a href=\"https://www.kaggle.com/hiramcho\" target=\"_blank\">@hiramcho</a> Are you using PyTorch? I just implemented TTA from scratch and using the DataLoader for your advantage makes it easier.</p>",
      "rawMarkdown": "hiramcho Are you using PyTorch? I just implemented TTA from scratch and using the DataLoader for your advantage makes it easier.",
      "votes": null
    },
    {
      "id": "1124312",
      "postDate": "12/23/2020 20:14:37",
      "content": "<p><a href=\"https://www.kaggle.com/aliabdin1\" target=\"_blank\">@aliabdin1</a> Tensorflow/Keras</p>",
      "rawMarkdown": "aliabdin1 Tensorflow/Keras",
      "votes": null
    },
    {
      "id": "1124713",
      "postDate": "12/24/2020 06:48:21",
      "content": "<p>Based on my experiments, <strong>CenterCrop</strong> performs better than Resizing in both CV and LB.  </p>\n<ol>\n<li>CenterCrop CV: 0.8936, LB: 0.894</li>\n<li>Resize CV: 0.8894, LB: 0.890  </li>\n</ol>\n<p>I used the same weight of EfficientNet-b3 , 512x512, 5fold for both submissions the difference is only the way to preprocess the images.<br>\nSo, the edge part of the images might not be important or the change in image width and decrease in resolution due to resize may be lowering the score.</p>",
      "rawMarkdown": "Based on my experiments, **CenterCrop** performs better than Resizing in both CV and LB.  \n1. CenterCrop CV: 0.8936, LB: 0.894\n2. Resize CV: 0.8894, LB: 0.890  \n\nI used the same weight of EfficientNet-b3 , 512x512, 5fold for both submissions the difference is only the way to preprocess the images.\nSo, the edge part of the images might not be important or the change in image width and decrease in resolution due to resize may be lowering the score.",
      "votes": null
    },
    {
      "id": "1125336",
      "postDate": "12/24/2020 16:31:03",
      "content": "<p>These are really great insights! Thanks <a href=\"https://www.kaggle.com/vladvdv\" target=\"_blank\">@vladvdv</a> </p>",
      "rawMarkdown": "These are really great insights! Thanks @vladvdv",
      "votes": null
    },
    {
      "id": "1125340",
      "postDate": "12/24/2020 16:33:41",
      "content": "<p>Thank you for appreciating <a href=\"https://www.kaggle.com/saurabhshahane\" target=\"_blank\">@saurabhshahane</a> <br>\nIt is my pleasure to share information, this is how we all learn from each other</p>",
      "rawMarkdown": "Thank you for appreciating @saurabhshahane \nIt is my pleasure to share information, this is how we all learn from each other",
      "votes": null
    },
    {
      "id": "1125449",
      "postDate": "12/24/2020 18:04:38",
      "content": "<p>Hey, does vertical flip work in this task? I haven't noticed any changes using it.</p>",
      "rawMarkdown": "Hey, does vertical flip work in this task? I haven't noticed any changes using it.",
      "votes": null
    },
    {
      "id": "1126061",
      "postDate": "12/25/2020 09:58:09",
      "content": "<p>Great insights <a href=\"https://www.kaggle.com/vladvdv\" target=\"_blank\">@vladvdv</a> Thanks for the effort :)</p>",
      "rawMarkdown": "Great insights @vladvdv Thanks for the effort :)",
      "votes": null
    },
    {
      "id": "1126063",
      "postDate": "12/25/2020 10:02:18",
      "content": "<p>It's my pleasure to share experiments. Good luck in the competition <a href=\"https://www.kaggle.com/atharvaingle\" target=\"_blank\">@atharvaingle</a> </p>",
      "rawMarkdown": "It's my pleasure to share experiments. Good luck in the competition @atharvaingle",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1124021,
      "author_name": "hiramcho",
      "author_url": "",
      "post_date": "12/23/2020 16:30:39",
      "content": "<p>I'm ashamed to admit but i still can't do <strong>test time augmentation</strong> from scratch, maybe because there aren't books that explain the method step by step. Would you mind to share resources that you consider the best to learn the technique? or a \"starter notebook\" in Kaggle (that i could'nt find)?</p>",
      "votes": null,
      "replies": [
        {
          "id": 1124110,
          "author_name": "vladvdv",
          "author_url": "",
          "post_date": "12/23/2020 17:20:17",
          "content": "<p><a href=\"https://www.kaggle.com/hiramcho\" target=\"_blank\">@hiramcho</a>  It is not so complicated, it's just some programing tricks, juggling with predictions . Even if there are some frameworks that helps, I suggest to try implementing from scratch.<br>\nA nice good to read article is:<br>\n<a href=\"https://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d\" target=\"_blank\">https://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d</a> </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1124112,
          "author_name": "hiramcho",
          "author_url": "",
          "post_date": "12/23/2020 17:21:53",
          "content": "<p>Thanks, from scracth is want i want it.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1124310,
          "author_name": "aliabdin1",
          "author_url": "",
          "post_date": "12/23/2020 20:13:32",
          "content": "<p><a href=\"https://www.kaggle.com/hiramcho\" target=\"_blank\">@hiramcho</a> Are you using PyTorch? I just implemented TTA from scratch and using the DataLoader for your advantage makes it easier.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1124312,
          "author_name": "hiramcho",
          "author_url": "",
          "post_date": "12/23/2020 20:14:37",
          "content": "<p><a href=\"https://www.kaggle.com/aliabdin1\" target=\"_blank\">@aliabdin1</a> Tensorflow/Keras</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1124713,
      "author_name": "tmhrkt",
      "author_url": "",
      "post_date": "12/24/2020 06:48:21",
      "content": "<p>Based on my experiments, <strong>CenterCrop</strong> performs better than Resizing in both CV and LB.  </p>\n<ol>\n<li>CenterCrop CV: 0.8936, LB: 0.894</li>\n<li>Resize CV: 0.8894, LB: 0.890  </li>\n</ol>\n<p>I used the same weight of EfficientNet-b3 , 512x512, 5fold for both submissions the difference is only the way to preprocess the images.<br>\nSo, the edge part of the images might not be important or the change in image width and decrease in resolution due to resize may be lowering the score.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1125336,
      "author_name": "saurabhshahane",
      "author_url": "",
      "post_date": "12/24/2020 16:31:03",
      "content": "<p>These are really great insights! Thanks <a href=\"https://www.kaggle.com/vladvdv\" target=\"_blank\">@vladvdv</a> </p>",
      "votes": null,
      "replies": [
        {
          "id": 1125340,
          "author_name": "vladvdv",
          "author_url": "",
          "post_date": "12/24/2020 16:33:41",
          "content": "<p>Thank you for appreciating <a href=\"https://www.kaggle.com/saurabhshahane\" target=\"_blank\">@saurabhshahane</a> <br>\nIt is my pleasure to share information, this is how we all learn from each other</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1125449,
      "author_name": "vadimtimakin",
      "author_url": "",
      "post_date": "12/24/2020 18:04:38",
      "content": "<p>Hey, does vertical flip work in this task? I haven't noticed any changes using it.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1126061,
      "author_name": "atharvaingle",
      "author_url": "",
      "post_date": "12/25/2020 09:58:09",
      "content": "<p>Great insights <a href=\"https://www.kaggle.com/vladvdv\" target=\"_blank\">@vladvdv</a> Thanks for the effort :)</p>",
      "votes": null,
      "replies": [
        {
          "id": 1126063,
          "author_name": "vladvdv",
          "author_url": "",
          "post_date": "12/25/2020 10:02:18",
          "content": "<p>It's my pleasure to share experiments. Good luck in the competition <a href=\"https://www.kaggle.com/atharvaingle\" target=\"_blank\">@atharvaingle</a> </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1124006": "TTA is one of the most useful methodology that we can use in Image Competitions. Although in real life, I never got the chances of using this technique due to the need for real time quick inference, on Kaggle Competition it can give a huge boost.\nFor example, in this competition one of my models, a Effnet B3 was split in 5 folds, trained with the optimized set of parameters and then calculated OOF predictions with/without TTA\nThe results are:\n\n**Inference on original resized**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F639471d38a866b8a2e064bfaa8ee1ade%2FB3NoAug0895.png?generation=1608738986053230&alt=media)\n\n**Inference after resize and horizontal flip**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fc97c13879f954f73a0a301775af467a4%2FB3HFlip0894.png?generation=1608739075372483&alt=media)\n\n**Inference after resize and vertical flip**\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2F7040468d83e36fc8ccf62e6953a475f7%2FB3VFlip0893.png?generation=1608739181985619&alt=media)\n\n\n**Inference after resize and transpose**\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Ff96891a7ba7e02573253731b28b92fa7%2FB3Trans0895.png?generation=1608739374632849&alt=media)\n**Mean inference with all the above (normal + horizontal flip + vertical flip + transpose)**\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F4005865%2Fbe510cee6ef9d1133b3d94ccf161b98e%2FB3Comb0896.png?generation=1608739315706955&alt=media)\n\n\n**And now some interesting things to notice:**  \n\n- As a validation of the concept it is easily clear that the accuracy of the mean inference is superior than all the other taken individual ( 89.67% vs 89.55%, 89.56%, 89.35%, 89.47%)\n- Surprisingly or not, in the individual inference, the non augmented image is not having the best score (the transposed augmentation has it)\n- In order to make inference with TTA, make sure that you use that kind of augmentation on the training (if you are teaching the algorithm to learn just the original image, it will have very poor results when you try to make inference on a flipped or transposed image)\n- You can use much more TTA methodologies, you can create for example a image fliped both by horizontal & vertical in the same time. The only limitation is the time needed for inference\n- When making the combined probabilities, I prefer making the mean on all classes output compared with a voting system where every TTA votes the biggest probability. When you make a vote system, you will miss the information about confidences in the other categories except the biggest one\nFor example: if you have the probabilities ( 0.40, 0.39, 0.07, 0.07, 0.07) you will be missing the information that the 2nd probability is almost as good as first. You will just go in with: this is 1\n- You can go even deeper by assigning weights to different TTA on different categories, for example in the consusion matrix above you can see that on CBSD category the prediction on the clean image are having almost 1% + in accuracy. Be careful to not overfit with this methodology, if you are designing your methods to fit exactly on your training data you can lose the generalization power of your model, it is a fine line there.",
    "1124021": "I'm ashamed to admit but i still can't do **test time augmentation** from scratch, maybe because there aren't books that explain the method step by step. Would you mind to share resources that you consider the best to learn the technique? or a \"starter notebook\" in Kaggle (that i could'nt find)?",
    "1124110": "hiramcho  It is not so complicated, it's just some programing tricks, juggling with predictions . Even if there are some frameworks that helps, I suggest to try implementing from scratch.\nA nice good to read article is:\nhttps://towardsdatascience.com/test-time-augmentation-tta-and-how-to-perform-it-with-keras-4ac19b67fb4d",
    "1124112": "Thanks, from scracth is want i want it.",
    "1124310": "hiramcho Are you using PyTorch? I just implemented TTA from scratch and using the DataLoader for your advantage makes it easier.",
    "1124312": "aliabdin1 Tensorflow/Keras",
    "1124713": "Based on my experiments, **CenterCrop** performs better than Resizing in both CV and LB.  \n1. CenterCrop CV: 0.8936, LB: 0.894\n2. Resize CV: 0.8894, LB: 0.890  \n\nI used the same weight of EfficientNet-b3 , 512x512, 5fold for both submissions the difference is only the way to preprocess the images.\nSo, the edge part of the images might not be important or the change in image width and decrease in resolution due to resize may be lowering the score.",
    "1125336": "These are really great insights! Thanks @vladvdv",
    "1125340": "Thank you for appreciating @saurabhshahane \nIt is my pleasure to share information, this is how we all learn from each other",
    "1125449": "Hey, does vertical flip work in this task? I haven't noticed any changes using it.",
    "1126061": "Great insights @vladvdv Thanks for the effort :)",
    "1126063": "It's my pleasure to share experiments. Good luck in the competition @atharvaingle"
  },
  "source": "meta"
}