{
  "id": 465379,
  "title": "3th on Public and 6th on Private, A Very Simple Solution: Big Pretrained-Model is All You Need! ",
  "url": "/competitions/UBC-OCEAN/discussion/465379",
  "author_name": "yang_zhou",
  "post_date": "2024-01-04T03:11:10.633000",
  "votes": 39,
  "comment_count": 25,
  "views": 0,
  "content": "<p>Hello, everyone, I'm here to share our solution! We only used the simplest pre-trained weights from iBOT-ViT-Base. Thanks a lot for this excellent work! Here is the project: <a href=\"https://github.com/owkin/HistoSSLscaling\" target=\"_blank\">iBOT-ViT</a>. Specifically, our algorithm consists of five steps:<br>\n1、Tiling the WSL image ( or TMA image), we random select 1000 patches (tiles) per image, if not enough, copy them;<br>\n2、Using the pre-trained model to extract features, dimension: 1000x768 per image;<br>\n3、Training a MIL (Multi-Instance Learning) model, we use the recommended chowder model <a href=\"https://arxiv.org/pdf/1802.02212.pdf\" target=\"_blank\">Chowder</a> mentioned in the above iBOT-ViT method;<br>\n4、Model ensemble, (we use 7 different trained chowder models) and use the average entropy ( E=-sum(p*logp) ) for detecting \"other\";<br>\n5、 Adjust the threshold of \"other\";</p>\n<p>Some tips:<br>\n1、We found that patch selection has an important impact on performance. Still, we just use the simplest random selection, Recent work: <a href=\"https://rhazeslab.github.io/PathDino-Page/\" target=\"_blank\">PathDINO</a> proposed a fast patch selection method, but we didn't get any improvements.<br>\n2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔<br>\n3、Here is our source code: <a href=\"https://github.com/yangzhou321/UBC_Challenge/blob/main/ubc_ours.ipynb\" target=\"_blank\">UBC_Challenge</a></p>\n<p>Any idea or discussion is highly welcomed!</p>",
  "messages": [
    {
      "id": 2586172,
      "postDate": "2024-01-04T03:11:10.633Z",
      "content": "<p>Hello, everyone, I'm here to share our solution! We only used the simplest pre-trained weights from iBOT-ViT-Base. Thanks a lot for this excellent work! Here is the project: <a href=\"https://github.com/owkin/HistoSSLscaling\" target=\"_blank\">iBOT-ViT</a>. Specifically, our algorithm consists of five steps:<br>\n1、Tiling the WSL image ( or TMA image), we random select 1000 patches (tiles) per image, if not enough, copy them;<br>\n2、Using the pre-trained model to extract features, dimension: 1000x768 per image;<br>\n3、Training a MIL (Multi-Instance Learning) model, we use the recommended chowder model <a href=\"https://arxiv.org/pdf/1802.02212.pdf\" target=\"_blank\">Chowder</a> mentioned in the above iBOT-ViT method;<br>\n4、Model ensemble, (we use 7 different trained chowder models) and use the average entropy ( E=-sum(p*logp) ) for detecting \"other\";<br>\n5、 Adjust the threshold of \"other\";</p>\n<p>Some tips:<br>\n1、We found that patch selection has an important impact on performance. Still, we just use the simplest random selection, Recent work: <a href=\"https://rhazeslab.github.io/PathDino-Page/\" target=\"_blank\">PathDINO</a> proposed a fast patch selection method, but we didn't get any improvements.<br>\n2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔<br>\n3、Here is our source code: <a href=\"https://github.com/yangzhou321/UBC_Challenge/blob/main/ubc_ours.ipynb\" target=\"_blank\">UBC_Challenge</a></p>\n<p>Any idea or discussion is highly welcomed!</p>",
      "rawMarkdown": "Hello, everyone, I'm here to share our solution! We only used the simplest pre-trained weights from iBOT-ViT-Base. Thanks a lot for this excellent work! Here is the project: [iBOT-ViT](https://github.com/owkin/HistoSSLscaling). Specifically, our algorithm consists of five steps:\n1、Tiling the WSL image ( or TMA image), we random select 1000 patches (tiles) per image, if not enough, copy them;\n2、Using the pre-trained model to extract features, dimension: 1000x768 per image;\n3、Training a MIL (Multi-Instance Learning) model, we use the recommended chowder model [Chowder](https://arxiv.org/pdf/1802.02212.pdf) mentioned in the above iBOT-ViT method;\n4、Model ensemble, (we use 7 different trained chowder models) and use the average entropy ( E=-sum(p*logp) ) for detecting \"other\";\n5、 Adjust the threshold of \"other\";\n\nSome tips:\n1、We found that patch selection has an important impact on performance. Still, we just use the simplest random selection, Recent work: [PathDINO](https://rhazeslab.github.io/PathDino-Page/) proposed a fast patch selection method, but we didn't get any improvements.\n2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔\n3、Here is our source code: [UBC_Challenge](https://github.com/yangzhou321/UBC_Challenge/blob/main/ubc_ours.ipynb)\n\nAny idea or discussion is highly welcomed!",
      "votes": 39
    },
    {
      "id": 2586581,
      "postDate": "2024-01-04T10:00:35.653Z",
      "content": "<p>just curious for a future work, does the used MIL have public implementation or did you implement it from scratch?</p>",
      "rawMarkdown": "just curious for a future work, does the used MIL have public implementation or did you implement it from scratch?",
      "votes": 1,
      "replies": [
        {
          "id": 2586720,
          "postDate": "2024-01-04T11:10:06.577Z",
          "content": "<p>The Chowder MIL model we used is totally from the public implementation in <a href=\"https://github.com/owkin/HistoSSLscaling/blob/main/rl_benchmarks/models/slide_models/chowder.py\" target=\"_blank\">this repo</a>. What we do is model ensembling through adopting different training loss and multi-folds cross-validation.</p>",
          "rawMarkdown": "The Chowder MIL model we used is totally from the public implementation in [this repo](https://github.com/owkin/HistoSSLscaling/blob/main/rl_benchmarks/models/slide_models/chowder.py). What we do is model ensembling through adopting different training loss and multi-folds cross-validation.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2586176,
      "postDate": "2024-01-04T03:18:14.877Z",
      "content": "<p>Congratulations on your Gold Medal!</p>\n<blockquote>\n  <p>2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔</p>\n</blockquote>\n<p>Can you explain more about this? Does this mean that 'Other' was detected through entropy?</p>",
      "rawMarkdown": "Congratulations on your Gold Medal!\n\n>2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔\n\nCan you explain more about this? Does this mean that 'Other' was detected through entropy?",
      "votes": 2,
      "replies": [
        {
          "id": 2586179,
          "postDate": "2024-01-04T03:26:44.113Z",
          "content": "<p>Yes! We use the softmax score of each model's prediction and average them, then we can get the average prediction <em>p</em>. (dimension Bx5 ). Then, calculating the entropy through <em>e=-sum(p</em>logp)* we can get the uncertainty score <em>e</em>. Finally, adjusting the threshold for normal class and \"other\".</p>",
          "rawMarkdown": "Yes! We use the softmax score of each model's prediction and average them, then we can get the average prediction *p*. (dimension Bx5 ). Then, calculating the entropy through *e=-sum(p*logp)* we can get the uncertainty score *e*. Finally, adjusting the threshold for normal class and \"other\".",
          "votes": 6,
          "replies": [
            {
              "id": 2586191,
              "postDate": "2024-01-04T03:37:42.830Z",
              "content": "<p>Thank you! Most people used tile sizes of 512 and 1024, but did 256 show the best performance?</p>",
              "rawMarkdown": "Thank you! Most people used tile sizes of 512 and 1024, but did 256 show the best performance?"
            },
            {
              "id": 2586259,
              "postDate": "2024-01-04T05:02:16.050Z",
              "content": "<p>I think patch size is not very important, what matters a lot is the content inside. The focus should be on the selection of patches. But we haven't found a better solution for patch selection. From the extra mask data, we found that the tumor area seemed to have a significant proportion of the whole image, so we selected patches randomly. Actually, in the real scenario, it's best to first segment the tumor area.</p>",
              "rawMarkdown": "I think patch size is not very important, what matters a lot is the content inside. The focus should be on the selection of patches. But we haven't found a better solution for patch selection. From the extra mask data, we found that the tumor area seemed to have a significant proportion of the whole image, so we selected patches randomly. Actually, in the real scenario, it's best to first segment the tumor area.",
              "votes": 4
            }
          ]
        }
      ]
    },
    {
      "id": 2589509,
      "postDate": "2024-01-06T13:07:10.310Z",
      "content": "<p>UBC Ovarin Cancer competition was my first kaggle competition and I didn't make it memorable. I learned a lot of from this. and thanks for this discussion. </p>",
      "rawMarkdown": "UBC Ovarin Cancer competition was my first kaggle competition and I didn't make it memorable. I learned a lot of from this. and thanks for this discussion. "
    },
    {
      "id": 2588196,
      "postDate": "2024-01-05T10:37:40.780Z",
      "content": "<p>Congratulations! Really good solution!</p>",
      "rawMarkdown": "Congratulations! Really good solution!"
    },
    {
      "id": 2587721,
      "postDate": "2024-01-05T01:16:36.590Z",
      "content": "<p>Congratulations, I'm also XUDer.😁</p>",
      "rawMarkdown": "Congratulations, I'm also XUDer.😁",
      "replies": [
        {
          "id": 2587753,
          "postDate": "2024-01-05T02:17:04.343Z",
          "content": "<p>haha! XDU YYDS!</p>",
          "rawMarkdown": "haha! XDU YYDS!"
        }
      ]
    },
    {
      "id": 2587640,
      "postDate": "2024-01-04T22:47:07.630Z",
      "content": "<p>Please, how much time the tiling and extracting features took ?</p>",
      "rawMarkdown": "Please, how much time the tiling and extracting features took ?",
      "replies": [
        {
          "id": 2587752,
          "postDate": "2024-01-05T02:16:22.770Z",
          "content": "<p>I think about 30 seconds per wsl image.</p>",
          "rawMarkdown": "I think about 30 seconds per wsl image."
        }
      ]
    },
    {
      "id": 2586590,
      "postDate": "2024-01-04T10:09:39.683Z",
      "content": "<p>Congratulations, Thank you for providing your solutions details.</p>",
      "rawMarkdown": "Congratulations, Thank you for providing your solutions details.",
      "replies": [
        {
          "id": 2586595,
          "postDate": "2024-01-04T10:13:42.340Z",
          "content": "<p>Did you use any other external data too for training purpose?</p>",
          "rawMarkdown": "Did you use any other external data too for training purpose?",
          "replies": [
            {
              "id": 2586705,
              "postDate": "2024-01-04T11:00:32.083Z",
              "content": "<p>Except for the pre-trained weights, we didn't use any extra data.😉</p>",
              "rawMarkdown": "Except for the pre-trained weights, we didn't use any extra data.😉",
              "votes": 1
            }
          ]
        }
      ]
    },
    {
      "id": 2586309,
      "postDate": "2024-01-04T05:57:26.383Z",
      "content": "<p>Congratulations.Did you unify the sizes for TMA and WSI?</p>",
      "rawMarkdown": "Congratulations.Did you unify the sizes for TMA and WSI?",
      "replies": [
        {
          "id": 2586349,
          "postDate": "2024-01-04T06:25:21.900Z",
          "content": "<p>You mean resize? Actually no. In both TMA and WSL, we select patches (size: 256x256) from the original image (not thumbnails). That is, read the image in the \"test images\" folder whether it belongs to TMA or WSL, and select patches from it. </p>",
          "rawMarkdown": "You mean resize? Actually no. In both TMA and WSL, we select patches (size: 256x256) from the original image (not thumbnails). That is, read the image in the \"test images\" folder whether it belongs to TMA or WSL, and select patches from it. ",
          "votes": 1
        }
      ]
    },
    {
      "id": 2586271,
      "postDate": "2024-01-04T05:15:48.917Z",
      "content": "<p>What was the scale of the tile that you used?</p>",
      "rawMarkdown": "What was the scale of the tile that you used?",
      "replies": [
        {
          "id": 2586350,
          "postDate": "2024-01-04T06:26:21.743Z",
          "content": "<p>Actually, 256x256 per patch.</p>",
          "rawMarkdown": "Actually, 256x256 per patch.",
          "replies": [
            {
              "id": 2586365,
              "postDate": "2024-01-04T06:40:29.037Z",
              "content": "<p>no I mean do you reduce the size from the original WSI image?</p>",
              "rawMarkdown": "no I mean do you reduce the size from the original WSI image?"
            },
            {
              "id": 2586405,
              "postDate": "2024-01-04T07:23:43.903Z",
              "content": "<p>No, we selected the patches from the original scale rather than the thumbnail image.</p>",
              "rawMarkdown": "No, we selected the patches from the original scale rather than the thumbnail image.",
              "votes": 1
            }
          ]
        }
      ]
    },
    {
      "id": 2586216,
      "postDate": "2024-01-04T03:58:20.363Z",
      "content": "<p>Congratulations. Thanks for sharing the details of your solition. </p>",
      "rawMarkdown": "Congratulations. Thanks for sharing the details of your solition. "
    },
    {
      "id": 2586196,
      "postDate": "2024-01-04T03:40:14.900Z",
      "content": "<p>Just pretraining, amazing. Did you try fine-tuning? How was the performance?</p>",
      "rawMarkdown": "Just pretraining, amazing. Did you try fine-tuning? How was the performance?",
      "replies": [
        {
          "id": 2586253,
          "postDate": "2024-01-04T04:51:56.663Z",
          "content": "<p>We tried to use LoRA to fine-tune the pre-trained model, but the score didn't change much. So we choose to just use the pre-trained model to extract features for better generalization.</p>",
          "rawMarkdown": "We tried to use LoRA to fine-tune the pre-trained model, but the score didn't change much. So we choose to just use the pre-trained model to extract features for better generalization.",
          "votes": 2
        }
      ]
    },
    {
      "id": 2586307,
      "postDate": "2024-01-04T05:55:58.523Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 2586581,
      "author_name": "Jirka",
      "author_url": "",
      "post_date": "2024-01-04T10:00:35.653000",
      "content": "<p>just curious for a future work, does the used MIL have public implementation or did you implement it from scratch?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2586720,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-04T11:10:06.577000",
          "content": "<p>The Chowder MIL model we used is totally from the public implementation in <a href=\"https://github.com/owkin/HistoSSLscaling/blob/main/rl_benchmarks/models/slide_models/chowder.py\" target=\"_blank\">this repo</a>. What we do is model ensembling through adopting different training loss and multi-folds cross-validation.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2586176,
      "author_name": "devchopin",
      "author_url": "",
      "post_date": "2024-01-04T03:18:14.877000",
      "content": "<p>Congratulations on your Gold Medal!</p>\n<blockquote>\n  <p>2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔</p>\n</blockquote>\n<p>Can you explain more about this? Does this mean that 'Other' was detected through entropy?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 2586179,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-04T03:26:44.113000",
          "content": "<p>Yes! We use the softmax score of each model's prediction and average them, then we can get the average prediction <em>p</em>. (dimension Bx5 ). Then, calculating the entropy through <em>e=-sum(p</em>logp)* we can get the uncertainty score <em>e</em>. Finally, adjusting the threshold for normal class and \"other\".</p>",
          "votes": 6,
          "replies": [
            {
              "id": 2586191,
              "author_name": "devchopin",
              "author_url": "",
              "post_date": "2024-01-04T03:37:42.830000",
              "content": "<p>Thank you! Most people used tile sizes of 512 and 1024, but did 256 show the best performance?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2586259,
              "author_name": "yang_zhou",
              "author_url": "",
              "post_date": "2024-01-04T05:02:16.050000",
              "content": "<p>I think patch size is not very important, what matters a lot is the content inside. The focus should be on the selection of patches. But we haven't found a better solution for patch selection. From the extra mask data, we found that the tumor area seemed to have a significant proportion of the whole image, so we selected patches randomly. Actually, in the real scenario, it's best to first segment the tumor area.</p>",
              "votes": 4,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2589509,
      "author_name": "Md Nazrul Islam",
      "author_url": "",
      "post_date": "2024-01-06T13:07:10.310000",
      "content": "<p>UBC Ovarin Cancer competition was my first kaggle competition and I didn't make it memorable. I learned a lot of from this. and thanks for this discussion. </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2588196,
      "author_name": "MrSimple",
      "author_url": "",
      "post_date": "2024-01-05T10:37:40.780000",
      "content": "<p>Congratulations! Really good solution!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2587721,
      "author_name": "WangXuC",
      "author_url": "",
      "post_date": "2024-01-05T01:16:36.590000",
      "content": "<p>Congratulations, I'm also XUDer.😁</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2587753,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-05T02:17:04.343000",
          "content": "<p>haha! XDU YYDS!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2587640,
      "author_name": "David Rapant",
      "author_url": "",
      "post_date": "2024-01-04T22:47:07.630000",
      "content": "<p>Please, how much time the tiling and extracting features took ?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2587752,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-05T02:16:22.770000",
          "content": "<p>I think about 30 seconds per wsl image.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2586590,
      "author_name": "Huma Perveen",
      "author_url": "",
      "post_date": "2024-01-04T10:09:39.683000",
      "content": "<p>Congratulations, Thank you for providing your solutions details.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2586595,
          "author_name": "Huma Perveen",
          "author_url": "",
          "post_date": "2024-01-04T10:13:42.340000",
          "content": "<p>Did you use any other external data too for training purpose?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2586705,
              "author_name": "yang_zhou",
              "author_url": "",
              "post_date": "2024-01-04T11:00:32.083000",
              "content": "<p>Except for the pre-trained weights, we didn't use any extra data.😉</p>",
              "votes": 1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2586309,
      "author_name": "Huang Jin Feng",
      "author_url": "",
      "post_date": "2024-01-04T05:57:26.383000",
      "content": "<p>Congratulations.Did you unify the sizes for TMA and WSI?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2586349,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-04T06:25:21.900000",
          "content": "<p>You mean resize? Actually no. In both TMA and WSL, we select patches (size: 256x256) from the original image (not thumbnails). That is, read the image in the \"test images\" folder whether it belongs to TMA or WSL, and select patches from it. </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2586271,
      "author_name": "narainp",
      "author_url": "",
      "post_date": "2024-01-04T05:15:48.917000",
      "content": "<p>What was the scale of the tile that you used?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2586350,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-04T06:26:21.743000",
          "content": "<p>Actually, 256x256 per patch.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2586365,
              "author_name": "narainp",
              "author_url": "",
              "post_date": "2024-01-04T06:40:29.037000",
              "content": "<p>no I mean do you reduce the size from the original WSI image?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2586405,
              "author_name": "yang_zhou",
              "author_url": "",
              "post_date": "2024-01-04T07:23:43.903000",
              "content": "<p>No, we selected the patches from the original scale rather than the thumbnail image.</p>",
              "votes": 1,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2586216,
      "author_name": "C R Suthikshn Kumar",
      "author_url": "",
      "post_date": "2024-01-04T03:58:20.363000",
      "content": "<p>Congratulations. Thanks for sharing the details of your solition. </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2586196,
      "author_name": "samu2505",
      "author_url": "",
      "post_date": "2024-01-04T03:40:14.900000",
      "content": "<p>Just pretraining, amazing. Did you try fine-tuning? How was the performance?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2586253,
          "author_name": "yang_zhou",
          "author_url": "",
          "post_date": "2024-01-04T04:51:56.663000",
          "content": "<p>We tried to use LoRA to fine-tune the pre-trained model, but the score didn't change much. So we choose to just use the pre-trained model to extract features for better generalization.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 2586307,
      "author_name": "",
      "author_url": "",
      "post_date": "2024-01-04T05:55:58.523000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2586172": "Hello, everyone, I'm here to share our solution! We only used the simplest pre-trained weights from iBOT-ViT-Base. Thanks a lot for this excellent work! Here is the project: [iBOT-ViT](https://github.com/owkin/HistoSSLscaling). Specifically, our algorithm consists of five steps:\n1、Tiling the WSL image ( or TMA image), we random select 1000 patches (tiles) per image, if not enough, copy them;\n2、Using the pre-trained model to extract features, dimension: 1000x768 per image;\n3、Training a MIL (Multi-Instance Learning) model, we use the recommended chowder model [Chowder](https://arxiv.org/pdf/1802.02212.pdf) mentioned in the above iBOT-ViT method;\n4、Model ensemble, (we use 7 different trained chowder models) and use the average entropy ( E=-sum(p*logp) ) for detecting \"other\";\n5、 Adjust the threshold of \"other\";\n\nSome tips:\n1、We found that patch selection has an important impact on performance. Still, we just use the simplest random selection, Recent work: [PathDINO](https://rhazeslab.github.io/PathDino-Page/) proposed a fast patch selection method, but we didn't get any improvements.\n2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔\n3、Here is our source code: [UBC_Challenge](https://github.com/yangzhou321/UBC_Challenge/blob/main/ubc_ours.ipynb)\n\nAny idea or discussion is highly welcomed!",
    "2586581": "just curious for a future work, does the used MIL have public implementation or did you implement it from scratch?",
    "2586176": "Congratulations on your Gold Medal!\n\n>2、Deep ensemble and uncertainty estimation through entropy help us from 0.59 to 0.65 on public data, but it doesn't seem to have earned me a bonus😔\n\nCan you explain more about this? Does this mean that 'Other' was detected through entropy?",
    "2589509": "UBC Ovarin Cancer competition was my first kaggle competition and I didn't make it memorable. I learned a lot of from this. and thanks for this discussion. ",
    "2588196": "Congratulations! Really good solution!",
    "2587721": "Congratulations, I'm also XUDer.😁",
    "2587640": "Please, how much time the tiling and extracting features took ?",
    "2586590": "Congratulations, Thank you for providing your solutions details.",
    "2586309": "Congratulations.Did you unify the sizes for TMA and WSI?",
    "2586271": "What was the scale of the tile that you used?",
    "2586216": "Congratulations. Thanks for sharing the details of your solition. ",
    "2586196": "Just pretraining, amazing. Did you try fine-tuning? How was the performance?",
    "2586307": ""
  }
}