{
  "id": 263658,
  "title": "1st place solution",
  "url": "/competitions/siim-covid19-detection/discussion/263658",
  "author_name": "DungNB",
  "post_date": "2021-08-10T00:47:01.287000",
  "votes": 266,
  "comment_count": 120,
  "views": 0,
  "content": "<p>First of all, I would like to thank Kaggle, SIIM, FISABIO, RSNA for this great competition, as well has everyone here who has shared great discussions and notebooks. Congrats to all the winners!</p>\n<p><strong>Solution summary:</strong><br>\n<a href=\"https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing\" target=\"_blank\">https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing</a></p>\n<p><strong>Cross-validation</strong>: split trainset to 5 folds by patientid</p>\n<p><strong>Multi-task classification + segmentation</strong></p>\n<ul>\n<li>Pretrain encoder with chexpert + chest14 dataset</li>\n<li>Train classification(normal/pneumonia) + segmentation(opacity boxes to mask) with rsna pneumonia dataset </li>\n<li>Train classification(4 classes: negative, typical, indeterminate, atypical) + segmentation(boxes to mask) with siim covid dataset, load weight from rsna pneumonia checkpoint</li>\n<li>Predict siim-covid testset, train model with siim covid trainset + pseudo testset, load weight from previous checkpoint</li>\n<li>Augmentation: RandomResizedCrop, ShiftScaleRotate, HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout</li>\n<li>Exponential moving average with decay 0.997 [increase LB by +0.001~0.002]</li>\n<li>Loss: aux loss = 0.6weighted bce + 0.4dice, weight of weighted bce: 0.2negative + 0.2typical + 0.3indeterminate + 0.3atypical to focus on 2 weak classes (indeterminate and atypical).<br>\n[increases both CV and LB ~0.002]</li>\n<li>Optimizer: Adam with init_learning_rate 0.0001</li>\n<li>Scheduler: CosineAnnealingLR</li>\n<li>Test time augmentation: 8TTA (original image, center-crop 80%)-&gt;resize-&gt;(None, horizontal flip, vertical flip, horizontal+vertical flip), 8TTA increase both CV and public LB by +0.003~0.004. In final submission, I use lung detector model instead of center-crop 80%</li>\n<li>Final submission includes 4 models with diversity of encoders, decoders, input size: <br>\nSeResnet152-Unet 512, EfficientnetB5-DeeplabV3+ 512, EfficientnetB6-Linknet 448, EfficientnetB7-Unet++ 512<br>\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]</li>\n</ul>\n<p><strong>Lung Detector-YoloV5</strong><br>\nI annotated the train data(6334 images) using <a href=\"https://github.com/tzutalin/labelImg\" target=\"_blank\">https://github.com/tzutalin/labelImg</a> tool and built a lung localizer with the bboxes. I noticed that increasing input image size improves the modeling performance and lung detector helps the model to reduce background noise.<br>\nSingle fold lung detector increase LB by +0.003 compared with simple center-crop 80%</p>\n<p><strong>Detection</strong><br>\nEnsemble of 4 models (Yolov5X6 input size 768 + EfficientDet D7 input size 768 + FasterRNN FPN resnet101 input size 1024 + FasterRNN FPN resnet200 input size 768) using weighted boxes fusion (IoU 0.6)</p>\n<ul>\n<li>Pretrain backbone of FasterRCNN FPN with chexpert + chest14</li>\n<li>Train models with rsna pneumonia boxes</li>\n<li>Train models with siim covid trainset, load weight from rsna checkpoint</li>\n<li>Predict siim covid testset + external dataset (padchest, pneumothorax + vin)<br>\nKeep images that meet the conditions: negative prediction &lt; 0.3 and maximum of (typical, indeterminate, atypical) predicion &gt; 0.7.Then choose 2 boxes with the highest confidence as pseudo labels for each image.</li>\n<li>Train model with rsna pneumonia label + external pseudo label (siim covid testset + padchest, pneumothorax + vin)</li>\n<li>Train model with siim covid trainset, load weight from checkpoint of pseudo labeling stage</li>\n<li>Augmentation: Scale, RandomResizedCrop, Rotate(maximum 10 degrees), HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout, Mosaic, Mixup</li>\n<li>Loss: FocalLoss</li>\n<li>Test time augmentation: 2TTA for EfficientDet (original + hflip), 3TTA for Yolov5(original, scale 0.83 + hflip, scale 0.67), 3TTA for FasterRCNN (original, hflip, vflip)</li>\n</ul>\n<p><strong>Performance of models</strong><br>\nclassification mAP@0.5 4 classes: negative, typical, indeterminate, atypical</p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>SeR152-Unet</th>\n<th>EB5-Deeplab</th>\n<th>EB6-Linknet</th>\n<th>EB7-Unet++</th>\n<th>Ensemble</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>w/o / 8TTA</td>\n<td>0.575/0.584</td>\n<td>0.583/0.592</td>\n<td>0.580/0.587</td>\n<td>0.589/0.595</td>\n<td>0.595/0.598</td>\n</tr>\n</tbody>\n</table>\n<p>detection opacity class </p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>YoloV5X6 768</th>\n<th>EffdetD7 768</th>\n<th>F-RCNN R200 768</th>\n<th>F-RCNN R101 1024</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mAP@0.5 TTA</td>\n<td>0.580</td>\n<td>0.594</td>\n<td>0.592</td>\n<td>0.596</td>\n</tr>\n</tbody>\n</table>\n<p>Public LB/Private LB: 0.658/0.635</p>\n<p><strong>What did not work</strong></p>\n<ul>\n<li>Multi-task classification + detection </li>\n<li>Stack multi classification models using cnn or lgbm</li>\n<li>Mixup + cutmix for classification models </li>\n<li>Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.</li>\n<li>Increase the input size of classification model to 1024, the score of both CV and public LB is almost unchanged from 512</li>\n</ul>\n<p>The complete code used in this competition has been uploaded to the following github: <br>\n<a href=\"https://github.com/dungnb1333/SIIM-COVID19-Detection\" target=\"_blank\">https://github.com/dungnb1333/SIIM-COVID19-Detection</a></p>\n<p>Inference notebook: <a href=\"https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844\" target=\"_blank\">https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844</a></p>\n<p>DEMO Notebook to visualize the output of models:<br>\n<a href=\"https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb\" target=\"_blank\">https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb</a></p>",
  "messages": [
    {
      "id": 1462663,
      "postDate": "2021-08-10T00:47:01.287Z",
      "content": "<p>First of all, I would like to thank Kaggle, SIIM, FISABIO, RSNA for this great competition, as well has everyone here who has shared great discussions and notebooks. Congrats to all the winners!</p>\n<p><strong>Solution summary:</strong><br>\n<a href=\"https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing\" target=\"_blank\">https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing</a></p>\n<p><strong>Cross-validation</strong>: split trainset to 5 folds by patientid</p>\n<p><strong>Multi-task classification + segmentation</strong></p>\n<ul>\n<li>Pretrain encoder with chexpert + chest14 dataset</li>\n<li>Train classification(normal/pneumonia) + segmentation(opacity boxes to mask) with rsna pneumonia dataset </li>\n<li>Train classification(4 classes: negative, typical, indeterminate, atypical) + segmentation(boxes to mask) with siim covid dataset, load weight from rsna pneumonia checkpoint</li>\n<li>Predict siim-covid testset, train model with siim covid trainset + pseudo testset, load weight from previous checkpoint</li>\n<li>Augmentation: RandomResizedCrop, ShiftScaleRotate, HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout</li>\n<li>Exponential moving average with decay 0.997 [increase LB by +0.001~0.002]</li>\n<li>Loss: aux loss = 0.6weighted bce + 0.4dice, weight of weighted bce: 0.2negative + 0.2typical + 0.3indeterminate + 0.3atypical to focus on 2 weak classes (indeterminate and atypical).<br>\n[increases both CV and LB ~0.002]</li>\n<li>Optimizer: Adam with init_learning_rate 0.0001</li>\n<li>Scheduler: CosineAnnealingLR</li>\n<li>Test time augmentation: 8TTA (original image, center-crop 80%)-&gt;resize-&gt;(None, horizontal flip, vertical flip, horizontal+vertical flip), 8TTA increase both CV and public LB by +0.003~0.004. In final submission, I use lung detector model instead of center-crop 80%</li>\n<li>Final submission includes 4 models with diversity of encoders, decoders, input size: <br>\nSeResnet152-Unet 512, EfficientnetB5-DeeplabV3+ 512, EfficientnetB6-Linknet 448, EfficientnetB7-Unet++ 512<br>\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]</li>\n</ul>\n<p><strong>Lung Detector-YoloV5</strong><br>\nI annotated the train data(6334 images) using <a href=\"https://github.com/tzutalin/labelImg\" target=\"_blank\">https://github.com/tzutalin/labelImg</a> tool and built a lung localizer with the bboxes. I noticed that increasing input image size improves the modeling performance and lung detector helps the model to reduce background noise.<br>\nSingle fold lung detector increase LB by +0.003 compared with simple center-crop 80%</p>\n<p><strong>Detection</strong><br>\nEnsemble of 4 models (Yolov5X6 input size 768 + EfficientDet D7 input size 768 + FasterRNN FPN resnet101 input size 1024 + FasterRNN FPN resnet200 input size 768) using weighted boxes fusion (IoU 0.6)</p>\n<ul>\n<li>Pretrain backbone of FasterRCNN FPN with chexpert + chest14</li>\n<li>Train models with rsna pneumonia boxes</li>\n<li>Train models with siim covid trainset, load weight from rsna checkpoint</li>\n<li>Predict siim covid testset + external dataset (padchest, pneumothorax + vin)<br>\nKeep images that meet the conditions: negative prediction &lt; 0.3 and maximum of (typical, indeterminate, atypical) predicion &gt; 0.7.Then choose 2 boxes with the highest confidence as pseudo labels for each image.</li>\n<li>Train model with rsna pneumonia label + external pseudo label (siim covid testset + padchest, pneumothorax + vin)</li>\n<li>Train model with siim covid trainset, load weight from checkpoint of pseudo labeling stage</li>\n<li>Augmentation: Scale, RandomResizedCrop, Rotate(maximum 10 degrees), HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout, Mosaic, Mixup</li>\n<li>Loss: FocalLoss</li>\n<li>Test time augmentation: 2TTA for EfficientDet (original + hflip), 3TTA for Yolov5(original, scale 0.83 + hflip, scale 0.67), 3TTA for FasterRCNN (original, hflip, vflip)</li>\n</ul>\n<p><strong>Performance of models</strong><br>\nclassification mAP@0.5 4 classes: negative, typical, indeterminate, atypical</p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>SeR152-Unet</th>\n<th>EB5-Deeplab</th>\n<th>EB6-Linknet</th>\n<th>EB7-Unet++</th>\n<th>Ensemble</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>w/o / 8TTA</td>\n<td>0.575/0.584</td>\n<td>0.583/0.592</td>\n<td>0.580/0.587</td>\n<td>0.589/0.595</td>\n<td>0.595/0.598</td>\n</tr>\n</tbody>\n</table>\n<p>detection opacity class </p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>YoloV5X6 768</th>\n<th>EffdetD7 768</th>\n<th>F-RCNN R200 768</th>\n<th>F-RCNN R101 1024</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mAP@0.5 TTA</td>\n<td>0.580</td>\n<td>0.594</td>\n<td>0.592</td>\n<td>0.596</td>\n</tr>\n</tbody>\n</table>\n<p>Public LB/Private LB: 0.658/0.635</p>\n<p><strong>What did not work</strong></p>\n<ul>\n<li>Multi-task classification + detection </li>\n<li>Stack multi classification models using cnn or lgbm</li>\n<li>Mixup + cutmix for classification models </li>\n<li>Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.</li>\n<li>Increase the input size of classification model to 1024, the score of both CV and public LB is almost unchanged from 512</li>\n</ul>\n<p>The complete code used in this competition has been uploaded to the following github: <br>\n<a href=\"https://github.com/dungnb1333/SIIM-COVID19-Detection\" target=\"_blank\">https://github.com/dungnb1333/SIIM-COVID19-Detection</a></p>\n<p>Inference notebook: <a href=\"https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844\" target=\"_blank\">https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844</a></p>\n<p>DEMO Notebook to visualize the output of models:<br>\n<a href=\"https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb\" target=\"_blank\">https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb</a></p>",
      "rawMarkdown": "First of all, I would like to thank Kaggle, SIIM, FISABIO, RSNA for this great competition, as well has everyone here who has shared great discussions and notebooks. Congrats to all the winners!\n\n**Solution summary:**\nhttps://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing\n\n**Cross-validation**: split trainset to 5 folds by patientid\n\n**Multi-task classification + segmentation**\n- Pretrain encoder with chexpert + chest14 dataset\n- Train classification(normal/pneumonia) + segmentation(opacity boxes to mask) with rsna pneumonia dataset \n- Train classification(4 classes: negative, typical, indeterminate, atypical) + segmentation(boxes to mask) with siim covid dataset, load weight from rsna pneumonia checkpoint\n- Predict siim-covid testset, train model with siim covid trainset + pseudo testset, load weight from previous checkpoint\n- Augmentation: RandomResizedCrop, ShiftScaleRotate, HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout\n- Exponential moving average with decay 0.997 [increase LB by +0.001~0.002]\n- Loss: aux loss = 0.6weighted bce + 0.4dice, weight of weighted bce: 0.2negative + 0.2typical + 0.3indeterminate + 0.3atypical to focus on 2 weak classes (indeterminate and atypical).\n  [increases both CV and LB ~0.002]\n- Optimizer: Adam with init_learning_rate 0.0001\n- Scheduler: CosineAnnealingLR\n- Test time augmentation: 8TTA (original image, center-crop 80%)->resize->(None, horizontal flip, vertical flip, horizontal+vertical flip), 8TTA increase both CV and public LB by +0.003~0.004. In final submission, I use lung detector model instead of center-crop 80%\n- Final submission includes 4 models with diversity of encoders, decoders, input size: \nSeResnet152-Unet 512, EfficientnetB5-DeeplabV3+ 512, EfficientnetB6-Linknet 448, EfficientnetB7-Unet++ 512\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]\n\n**Lung Detector-YoloV5**\nI annotated the train data(6334 images) using https://github.com/tzutalin/labelImg tool and built a lung localizer with the bboxes. I noticed that increasing input image size improves the modeling performance and lung detector helps the model to reduce background noise.\nSingle fold lung detector increase LB by +0.003 compared with simple center-crop 80%\n\n**Detection**\nEnsemble of 4 models (Yolov5X6 input size 768 + EfficientDet D7 input size 768 + FasterRNN FPN resnet101 input size 1024 + FasterRNN FPN resnet200 input size 768) using weighted boxes fusion (IoU 0.6)\n- Pretrain backbone of FasterRCNN FPN with chexpert + chest14\n- Train models with rsna pneumonia boxes\n- Train models with siim covid trainset, load weight from rsna checkpoint\n- Predict siim covid testset + external dataset (padchest, pneumothorax + vin)\n  Keep images that meet the conditions: negative prediction < 0.3 and maximum of (typical, indeterminate, atypical) predicion > 0.7.Then choose 2 boxes with the highest confidence as pseudo labels for each image.\n- Train model with rsna pneumonia label + external pseudo label (siim covid testset + padchest, pneumothorax + vin)\n- Train model with siim covid trainset, load weight from checkpoint of pseudo labeling stage\n- Augmentation: Scale, RandomResizedCrop, Rotate(maximum 10 degrees), HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout, Mosaic, Mixup\n- Loss: FocalLoss\n- Test time augmentation: 2TTA for EfficientDet (original + hflip), 3TTA for Yolov5(original, scale 0.83 + hflip, scale 0.67), 3TTA for FasterRCNN (original, hflip, vflip)\n\n**Performance of models**\nclassification mAP@0.5 4 classes: negative, typical, indeterminate, atypical\n|                     | SeR152-Unet | EB5-Deeplab | EB6-Linknet | EB7-Unet++  | Ensemble    |\n| :----------- | :------------- | :------------- | :------------ | :------------ | :------------ |\n| w/o / 8TTA | 0.575/0.584   | 0.583/0.592   | 0.580/0.587 | 0.589/0.595  | 0.595/0.598 |\n\ndetection opacity class \n|                           | YoloV5X6 768 | EffdetD7 768 | F-RCNN R200 768 | F-RCNN R101 1024 |\n| :--------------- | :------------- | :------------- | :------------------- | :------------------- |\n| mAP@0.5 TTA  | 0.580               | 0.594             | 0.592                       | 0.596                        |\n\nPublic LB/Private LB: 0.658/0.635\n\n**What did not work**\n- Multi-task classification + detection \n- Stack multi classification models using cnn or lgbm\n- Mixup + cutmix for classification models \n- Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.\n- Increase the input size of classification model to 1024, the score of both CV and public LB is almost unchanged from 512\n\nThe complete code used in this competition has been uploaded to the following github: \nhttps://github.com/dungnb1333/SIIM-COVID19-Detection\n\nInference notebook: https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844\n\nDEMO Notebook to visualize the output of models:\nhttps://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb\n",
      "votes": 266
    },
    {
      "id": 1462718,
      "postDate": "2021-08-10T01:29:42.850Z",
      "content": "<p>Congrats! I am curious about a few things:</p>\n<ul>\n<li>When doing TTA, why do you only use flips? Most often, I see people applying all the same augmentations used during training (eg. blur, scale, cutout, etc.). Also, any intuition as to why a vertical flip would help? I assumed it would not, since none of the training images are upside down</li>\n<li>What is \"exponential moving average\"? Is this part of the training process, or prediction?</li>\n<li>What is a pseudo test set? (for the classification + segmentation)</li>\n<li>What software did you use to do the lung annotations?</li>\n</ul>\n<p>It is also very interesting that you <em>only</em> used aux loss. I did not see anyone discussing that.</p>\n<p>All these advanced techniques are really cool. It inspires me to learn more!</p>",
      "rawMarkdown": "Congrats! I am curious about a few things:\n- When doing TTA, why do you only use flips? Most often, I see people applying all the same augmentations used during training (eg. blur, scale, cutout, etc.). Also, any intuition as to why a vertical flip would help? I assumed it would not, since none of the training images are upside down\n- What is \"exponential moving average\"? Is this part of the training process, or prediction?\n- What is a pseudo test set? (for the classification + segmentation)\n- What software did you use to do the lung annotations?\n\nIt is also very interesting that you *only* used aux loss. I did not see anyone discussing that.\n \nAll these advanced techniques are really cool. It inspires me to learn more!",
      "votes": 5,
      "replies": [
        {
          "id": 1462741,
          "postDate": "2021-08-10T01:40:53.297Z",
          "content": "<p>Hi <a href=\"https://www.kaggle.com/vdefont\" target=\"_blank\">@vdefont</a> </p>\n<ol>\n<li>to optimize the inference time. In my experience ensembling of multiple models is much better than single model and multi test time augmentation </li>\n<li><a href=\"https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage\" target=\"_blank\">https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage</a></li>\n<li>You use the prediction value on the test set as a soft-label ground-truth</li>\n<li>LabelImg <a href=\"https://github.com/tzutalin/labelImg\" target=\"_blank\">https://github.com/tzutalin/labelImg</a></li>\n</ol>",
          "rawMarkdown": "Hi @vdefont \n1. to optimize the inference time. In my experience ensembling of multiple models is much better than single model and multi test time augmentation \n2. https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage\n3. You use the prediction value on the test set as a soft-label ground-truth\n4. LabelImg https://github.com/tzutalin/labelImg",
          "votes": 3
        }
      ]
    },
    {
      "id": 1474501,
      "postDate": "2021-08-16T06:36:56.853Z",
      "content": "<p>Oh wow! Congrats and a big thanks for this detailed guide.</p>",
      "rawMarkdown": "Oh wow! Congrats and a big thanks for this detailed guide.\n",
      "votes": 3
    },
    {
      "id": 1463287,
      "postDate": "2021-08-10T06:45:04.513Z",
      "content": "<p>Congratulations on this really impressive performance. Winning solo against teams of 3+ people, including the best GMs is truly an impressive achievement.</p>\n<p>Your solution is nice and is easily understandable, all the ideas make sense, nothing is over-engineered. <br>\nDefinitely a solution I'll refer to in the future :)</p>",
      "rawMarkdown": "Congratulations on this really impressive performance. Winning solo against teams of 3+ people, including the best GMs is truly an impressive achievement.\n\nYour solution is nice and is easily understandable, all the ideas make sense, nothing is over-engineered. \nDefinitely a solution I'll refer to in the future :)",
      "votes": 3,
      "replies": [
        {
          "id": 1463366,
          "postDate": "2021-08-10T07:07:44.557Z",
          "content": "<p>I think they are focusing on seti competition instead of this competition otherwise I would not have won. For example Guanshuo Xu just need 2 weeks for 10th place instead of 3 months of continuous experiment like me. I wish I could be professional like them.</p>",
          "rawMarkdown": "I think they are focusing on seti competition instead of this competition otherwise I would not have won. For example Guanshuo Xu just need 2 weeks for 10th place instead of 3 months of continuous experiment like me. I wish I could be professional like them.",
          "votes": 1
        },
        {
          "id": 1463453,
          "postDate": "2021-08-10T07:40:50.757Z",
          "content": "<p>Don't be too humble, you're definitely one of the best Kagglers currently on the platform !</p>",
          "rawMarkdown": "Don't be too humble, you're definitely one of the best Kagglers currently on the platform !",
          "votes": 7
        }
      ]
    },
    {
      "id": 1495833,
      "postDate": "2021-08-29T20:33:45.510Z",
      "content": "<p>Congratulation PRO =))</p>",
      "rawMarkdown": "Congratulation PRO =))",
      "votes": 1
    },
    {
      "id": 1477431,
      "postDate": "2021-08-17T13:28:31.817Z",
      "content": "<p>Nice information! Congrats and a big thanks for this detailed guide.</p>",
      "rawMarkdown": "Nice information! Congrats and a big thanks for this detailed guide.",
      "votes": 1
    },
    {
      "id": 1477035,
      "postDate": "2021-08-17T10:38:57.100Z",
      "content": "<p>Thank you for sharing ! Very nice work :) </p>",
      "rawMarkdown": "Thank you for sharing ! Very nice work :) ",
      "votes": 1
    },
    {
      "id": 1476505,
      "postDate": "2021-08-17T06:26:28.637Z",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> </p>",
      "rawMarkdown": "Congratulations @nguyenbadung ",
      "votes": 1
    },
    {
      "id": 1475956,
      "postDate": "2021-08-16T22:52:45.427Z",
      "content": "<p>A big congratulations to you!</p>",
      "rawMarkdown": "A big congratulations to you!",
      "votes": 1
    },
    {
      "id": 1475189,
      "postDate": "2021-08-16T13:50:15.030Z",
      "content": "<p>Congratulations on your good work, and thanks for the details</p>",
      "rawMarkdown": "Congratulations on your good work, and thanks for the details",
      "votes": 1
    },
    {
      "id": 1475074,
      "postDate": "2021-08-16T12:31:49.120Z",
      "content": "<p>Congratulations! Thank you for your support!</p>",
      "rawMarkdown": "Congratulations! Thank you for your support!",
      "votes": 1
    },
    {
      "id": 1474662,
      "postDate": "2021-08-16T08:01:31.183Z",
      "content": "<p>Congratulations! Great work!</p>",
      "rawMarkdown": "Congratulations! Great work!",
      "votes": 1
    },
    {
      "id": 1474111,
      "postDate": "2021-08-15T23:53:15.797Z",
      "content": "<p>Congrats!!</p>",
      "rawMarkdown": "Congrats!!",
      "votes": 1
    },
    {
      "id": 1473649,
      "postDate": "2021-08-15T16:42:14.847Z",
      "content": "<p>Great One…</p>",
      "rawMarkdown": "Great One...",
      "votes": 1
    },
    {
      "id": 1473022,
      "postDate": "2021-08-15T09:44:06.603Z",
      "content": "<p>Congratulations! Thank you for your helpful sharing..!!</p>",
      "rawMarkdown": "Congratulations! Thank you for your helpful sharing..!!",
      "votes": 1
    },
    {
      "id": 1472467,
      "postDate": "2021-08-14T22:20:20.657Z",
      "content": "<p>Rams could be one of the best teams in the NFC<a href=\"http://ixys.com/hov/video-gi-v-jt-nfl01.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-uc-v-bt.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-gi-v-jt-nfl.html\" target=\"_blank\">.</a><a href=\"http://ixys.com/hov/video-gu-v-bw-Yt.html\" target=\"_blank\">.</a><a href=\"http://ixys.com/hov/video-sain-v-rav-nf.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-si-v-en-nf.html\" target=\"_blank\">.</a></p>",
      "rawMarkdown": "Rams could be one of the best teams in the NFC[.](http://ixys.com/hov/video-gi-v-jt-nfl01.html)[.](http://www.smh.com/odes/video-uc-v-bt.html)[.](http://www.smh.com/odes/video-gi-v-jt-nfl.html)[.](http://ixys.com/hov/video-gu-v-bw-Yt.html)[.](http://ixys.com/hov/video-sain-v-rav-nf.html)[.](http://www.smh.com/odes/video-si-v-en-nf.html)",
      "votes": 1
    },
    {
      "id": 1471212,
      "postDate": "2021-08-14T03:54:16.207Z",
      "content": "<p>Congrats!!</p>",
      "rawMarkdown": "Congrats!!",
      "votes": 1
    },
    {
      "id": 1470106,
      "postDate": "2021-08-13T09:39:43.787Z",
      "content": "<p>Hello. Congratulations!<br>\nI'm really impressed with your solution.<br>\nThanks for sharing.<br>\nCould I ask something?</p>\n<ol>\n<li>Why you didn't use the bigger model like EffcientNetV2 for training study_level image?</li>\n<li>I heard 'AugMix' is good for classification(I try but failed in TPU environment). <br>\nCould I ask, why you didn't use it?</li>\n</ol>\n<p>Thank you. Grandmaster!</p>",
      "rawMarkdown": "Hello. Congratulations!\nI'm really impressed with your solution.\nThanks for sharing.\nCould I ask something?\n\n1. Why you didn't use the bigger model like EffcientNetV2 for training study_level image?\n2. I heard 'AugMix' is good for classification(I try but failed in TPU environment). \n    Could I ask, why you didn't use it?\n\nThank you. Grandmaster!",
      "votes": 1
    },
    {
      "id": 1469953,
      "postDate": "2021-08-13T07:30:51.980Z",
      "content": "<p>Congrats <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> . I've learned much from kagglers' solutions such as yours.<br>\nI also have a question: I notice you have used Adam optim and at the same time use EMA weights. Since Adam has momentum integrated, I wonder if we really need EMA weights here. Can you elaborate ?</p>",
      "rawMarkdown": "Congrats @nguyenbadung . I've learned much from kagglers' solutions such as yours.\nI also have a question: I notice you have used Adam optim and at the same time use EMA weights. Since Adam has momentum integrated, I wonder if we really need EMA weights here. Can you elaborate ?",
      "votes": 1
    },
    {
      "id": 1469696,
      "postDate": "2021-08-13T04:52:08.933Z",
      "content": "<p>Congratulations! Thank you very much for sharing!</p>",
      "rawMarkdown": "Congratulations! Thank you very much for sharing!",
      "votes": 1
    },
    {
      "id": 1469511,
      "postDate": "2021-08-13T01:46:17.827Z",
      "content": "<p>Congratulations! Great explanation too, I learned a lot from it.<br>\nI read your code and noticed that you wrote your own weights and biases initializations. I'm wondering how it is different from the default initialization and how much it helped to improve the result. Could you give a brief explanation? Thank you!</p>",
      "rawMarkdown": "Congratulations! Great explanation too, I learned a lot from it.\nI read your code and noticed that you wrote your own weights and biases initializations. I'm wondering how it is different from the default initialization and how much it helped to improve the result. Could you give a brief explanation? Thank you!",
      "votes": 1
    },
    {
      "id": 1469448,
      "postDate": "2021-08-13T00:08:28.283Z",
      "content": "<p>Congrats 🎉. </p>\n<blockquote>\n  <p>Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.</p>\n</blockquote>\n<p>I think once you kept your team name <code>bimcv pseudo is all you need</code>😹.</p>",
      "rawMarkdown": "Congrats 🎉. \n> Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.\n\nI think once you kept your team name `bimcv pseudo is all you need`😹.",
      "votes": 1
    },
    {
      "id": 1467882,
      "postDate": "2021-08-12T07:04:56.237Z",
      "content": "<p>Hi, you've done such a great work!!  <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> <br>\nI am using your EffB7-Unet++ model that you published on your github, but unfortunately the dice loss of segmentation task is always 1 throughout several epochs (means the dice coef is always 0). Note that I don't pretrain the model first as you did (I use the pretrained encoder from pytorch_segmentation_model) but I thought it should have decreased the dice loss at least. You have any suggestion ?</p>",
      "rawMarkdown": "Hi, you've done such a great work!!  @nguyenbadung \nI am using your EffB7-Unet++ model that you published on your github, but unfortunately the dice loss of segmentation task is always 1 throughout several epochs (means the dice coef is always 0). Note that I don't pretrain the model first as you did (I use the pretrained encoder from pytorch_segmentation_model) but I thought it should have decreased the dice loss at least. You have any suggestion ?",
      "votes": 1,
      "replies": [
        {
          "id": 1468004,
          "postDate": "2021-08-12T08:09:05.350Z",
          "content": "<p>All parameters have been optimized for each step, don't arbitrarily skip any step in my source code.<br>\nYou should use hengck's idea and code <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/240233\" target=\"_blank\">https://www.kaggle.com/c/siim-covid19-detection/discussion/240233</a></p>",
          "rawMarkdown": "All parameters have been optimized for each step, don't arbitrarily skip any step in my source code.\nYou should use hengck's idea and code https://www.kaggle.com/c/siim-covid19-detection/discussion/240233"
        },
        {
          "id": 1468867,
          "postDate": "2021-08-12T15:53:56.610Z",
          "content": "<p><a href=\"https://www.kaggle.com/namgalielei\" target=\"_blank\">@namgalielei</a> <br>\nDon't use chexpert or chest14, load imagenet pretrain<br>\ntrain SeR152-Unet with rsna pneumonia<br>\nepoch, lr, train_iou, train_loss, val_iou, val_loss<br>\n0, 0.00010, 0.23082, 0.54119, 0.26705, 0.51223<br>\n1, 0.00010, 0.26977, 0.49555, 0.29824, 0.48472<br>\n2, 0.00009, 0.28105, 0.48332, 0.30401, 0.47968<br>\n…<br>\nOr train SeR152-Unet with siim covid<br>\nepoch, lr, train_loss, train_iou, ema_val_iou, val_map, ema_val_map<br>\n0, 0.00010, 0.47998, 0.35340, 0.43048, 0.36499, 0.35439<br>\n1, 0.00010, 0.40955, 0.43500, 0.46247, 0.38370, 0.38243<br>\n…<br>\nI wonder how you get dice coef = 0 ?🤔😂💯</p>",
          "rawMarkdown": "@namgalielei \nDon't use chexpert or chest14, load imagenet pretrain\ntrain SeR152-Unet with rsna pneumonia\nepoch, lr, train_iou, train_loss, val_iou, val_loss\n0, 0.00010, 0.23082, 0.54119, 0.26705, 0.51223\n1, 0.00010, 0.26977, 0.49555, 0.29824, 0.48472\n2, 0.00009, 0.28105, 0.48332, 0.30401, 0.47968\n...\nOr train SeR152-Unet with siim covid\nepoch, lr, train_loss, train_iou, ema_val_iou, val_map, ema_val_map\n0, 0.00010, 0.47998, 0.35340, 0.43048, 0.36499, 0.35439\n1, 0.00010, 0.40955, 0.43500, 0.46247, 0.38370, 0.38243\n...\nI wonder how you get dice coef = 0 ?🤔😂💯",
          "votes": 1
        },
        {
          "id": 1469455,
          "postDate": "2021-08-13T00:25:49.883Z",
          "content": "<p>Thanks for your help !!! My point is not to arbitrarily skip any part of your work but to figure it out what the key point out team has missed back then. It might be able to answer the question what we should have done better. I start with the architecture. </p>",
          "rawMarkdown": "Thanks for your help !!! My point is not to arbitrarily skip any part of your work but to figure it out what the key point out team has missed back then. It might be able to answer the question what we should have done better. I start with the architecture. "
        },
        {
          "id": 1470121,
          "postDate": "2021-08-13T09:55:45.037Z",
          "content": "<p>I figure it out why my dice coefficient = 0. Your model class has use <a href=\"https://www.kaggle.com/autocast\" target=\"_blank\">@autocast</a> at forward function, when I check the dtype of the predicted masks, they are of float16. However in my original training loop I didn't use auto mixed precision, so the computation of the dice loss encounter infinity in some mediate calculations, that's why the dice coefficient is always 0.</p>",
          "rawMarkdown": "I figure it out why my dice coefficient = 0. Your model class has use @autocast at forward function, when I check the dtype of the predicted masks, they are of float16. However in my original training loop I didn't use auto mixed precision, so the computation of the dice loss encounter infinity in some mediate calculations, that's why the dice coefficient is always 0.",
          "votes": 2
        }
      ]
    },
    {
      "id": 1467696,
      "postDate": "2021-08-12T05:34:12.377Z",
      "content": "<p>Congrats, I mean you aced it.😎</p>",
      "rawMarkdown": "Congrats, I mean you aced it.😎",
      "votes": 1
    },
    {
      "id": 1466471,
      "postDate": "2021-08-11T13:34:57.343Z",
      "content": "<p>Great flowchart! what did you use to make it?</p>",
      "rawMarkdown": "Great flowchart! what did you use to make it?",
      "votes": 1,
      "replies": [
        {
          "id": 1466502,
          "postDate": "2021-08-11T13:45:18.527Z",
          "content": "<p><a href=\"https://lucid.app\" target=\"_blank\">https://lucid.app</a></p>",
          "rawMarkdown": "https://lucid.app",
          "votes": 1
        }
      ]
    },
    {
      "id": 1466086,
      "postDate": "2021-08-11T10:03:05.287Z",
      "content": "<p>Congrats anh Dũng!<br>\nSolo win this competition is incredible!</p>\n<p>Q: Can you explain how this method works? Does that average weight multi with the confidence score?<br>\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]</p>",
      "rawMarkdown": "Congrats anh Dũng!\nSolo win this competition is incredible!\n\nQ: Can you explain how this method works? Does that average weight multi with the confidence score?\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]",
      "votes": 1,
      "replies": [
        {
          "id": 1466099,
          "postDate": "2021-08-11T10:12:43.313Z",
          "content": "<p>I choose the weights 0.3eb5+0.2eb6+0.2eb7+0.3sr152 based on the highest public LB score</p>",
          "rawMarkdown": "I choose the weights 0.3eb5+0.2eb6+0.2eb7+0.3sr152 based on the highest public LB score"
        }
      ]
    },
    {
      "id": 1465844,
      "postDate": "2021-08-11T07:47:16.343Z",
      "content": "<p>Congrats! It is interesting solution</p>",
      "rawMarkdown": "Congrats! It is interesting solution",
      "votes": 1
    },
    {
      "id": 1465549,
      "postDate": "2021-08-11T04:59:37.627Z",
      "content": "<p>Congrats! Great Work!</p>",
      "rawMarkdown": "Congrats! Great Work!",
      "votes": 1
    },
    {
      "id": 1465170,
      "postDate": "2021-08-10T22:40:42.503Z",
      "content": "<p>Congratulations!</p>",
      "rawMarkdown": "Congratulations!",
      "votes": 1
    },
    {
      "id": 1465008,
      "postDate": "2021-08-10T19:56:40.960Z",
      "content": "<p>Brilliant idea! Congratulate!!</p>",
      "rawMarkdown": "Brilliant idea! Congratulate!!",
      "votes": 1
    },
    {
      "id": 1464898,
      "postDate": "2021-08-10T18:53:14.030Z",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a>  👌</p>",
      "rawMarkdown": "Congratulations @nguyenbadung  👌",
      "votes": 1
    },
    {
      "id": 1464869,
      "postDate": "2021-08-10T18:41:05.180Z",
      "content": "<p>Congrats, nice effort!</p>",
      "rawMarkdown": "Congrats, nice effort!",
      "votes": 1
    },
    {
      "id": 1464761,
      "postDate": "2021-08-10T17:40:10.103Z",
      "content": "<p>Interesting, thanks for writing this up.</p>",
      "rawMarkdown": "Interesting, thanks for writing this up.",
      "votes": 1
    },
    {
      "id": 1464562,
      "postDate": "2021-08-10T16:04:25.813Z",
      "content": "<p>congrats <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> . Is <strong>0.635</strong> your best private lb?</p>",
      "rawMarkdown": "congrats @nguyenbadung . Is **0.635** your best private lb?",
      "votes": 1,
      "replies": [
        {
          "id": 1464567,
          "postDate": "2021-08-10T16:06:44.757Z",
          "content": "<p>yes, 0.635 is my best private LB</p>",
          "rawMarkdown": "yes, 0.635 is my best private LB",
          "votes": 1
        }
      ]
    },
    {
      "id": 1464422,
      "postDate": "2021-08-10T15:07:52.253Z",
      "content": "<p>Thanks for sharing your findings. I appreciate your efforts.</p>",
      "rawMarkdown": "Thanks for sharing your findings. I appreciate your efforts.",
      "votes": 1
    },
    {
      "id": 1464402,
      "postDate": "2021-08-10T14:59:16.230Z",
      "content": "<p>Congratulations! What software did you use to facilitate annotating the training images?</p>",
      "rawMarkdown": "Congratulations! What software did you use to facilitate annotating the training images?",
      "votes": 1,
      "replies": [
        {
          "id": 1464474,
          "postDate": "2021-08-10T15:30:15.553Z",
          "content": "<p>Thanks for the question, I use labelImg tool <a href=\"https://github.com/tzutalin/labelImg\" target=\"_blank\">https://github.com/tzutalin/labelImg</a></p>",
          "rawMarkdown": "Thanks for the question, I use labelImg tool https://github.com/tzutalin/labelImg",
          "votes": 1
        }
      ]
    },
    {
      "id": 1464366,
      "postDate": "2021-08-10T14:46:10.300Z",
      "content": "<p><a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> Thank you so much for sharing your findings. I really loved seeing the output in GitHub and the list of awesome resources.  </p>",
      "rawMarkdown": "@nguyenbadung Thank you so much for sharing your findings. I really loved seeing the output in GitHub and the list of awesome resources.  ",
      "votes": 1
    },
    {
      "id": 1464350,
      "postDate": "2021-08-10T14:42:37.567Z",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> 🎉🎉</p>",
      "rawMarkdown": "Congratulations @nguyenbadung 🎉🎉",
      "votes": 1
    },
    {
      "id": 1464342,
      "postDate": "2021-08-10T14:39:15.743Z",
      "content": "<p>Congratulation <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a>. You just gained one more follower now haha !</p>",
      "rawMarkdown": "Congratulation @nguyenbadung. You just gained one more follower now haha !",
      "votes": 1
    },
    {
      "id": 1464265,
      "postDate": "2021-08-10T14:08:55.513Z",
      "content": "<p>Congrats on the win <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> , well deserved. Your detection models are too strong compared to us, which we already predicted seeing your competitions history haha.👀<br>\nAlso, it was fun playing team name games with you :P</p>",
      "rawMarkdown": "Congrats on the win @nguyenbadung , well deserved. Your detection models are too strong compared to us, which we already predicted seeing your competitions history haha.👀\nAlso, it was fun playing team name games with you :P\n",
      "votes": 1,
      "replies": [
        {
          "id": 1464277,
          "postDate": "2021-08-10T14:15:02.747Z",
          "content": "<p>Thank you (･ω&lt;)☆</p>",
          "rawMarkdown": "Thank you (･ω<)☆",
          "votes": 1
        }
      ]
    },
    {
      "id": 1464259,
      "postDate": "2021-08-10T14:05:17.760Z",
      "content": "<p>Congratulations. Truly impressive approach. A lot to learn from this</p>",
      "rawMarkdown": "Congratulations. Truly impressive approach. A lot to learn from this",
      "votes": 1
    },
    {
      "id": 1464216,
      "postDate": "2021-08-10T13:45:14.573Z",
      "content": "<p>Congrats on your win!! impressive work, especially handling all this tasks as solo. <br>\nThanks for sharing generously your code pipelines !!</p>\n<p>Q: the scores you report for 4 classes + opacity are from CV, right ? without multiplying by 4/6 and 1/6 respectively  </p>",
      "rawMarkdown": "Congrats on your win!! impressive work, especially handling all this tasks as solo. \nThanks for sharing generously your code pipelines !!\n\nQ: the scores you report for 4 classes + opacity are from CV, right ? without multiplying by 4/6 and 1/6 respectively  ",
      "votes": 1,
      "replies": [
        {
          "id": 1464222,
          "postDate": "2021-08-10T13:47:44.573Z",
          "content": "<p>yes, without multiplying by 4/6 and 1/6 respectively</p>",
          "rawMarkdown": "yes, without multiplying by 4/6 and 1/6 respectively",
          "votes": 1
        }
      ]
    },
    {
      "id": 1464031,
      "postDate": "2021-08-10T12:27:58.020Z",
      "content": "<p>Thank you for sharing the solution, code, notebooks; so many things to learn from here. Congrats mate.</p>",
      "rawMarkdown": "Thank you for sharing the solution, code, notebooks; so many things to learn from here. Congrats mate.",
      "votes": 1
    },
    {
      "id": 1463954,
      "postDate": "2021-08-10T11:57:45.110Z",
      "content": "<p>Congratulations! Great work!)</p>",
      "rawMarkdown": "Congratulations! Great work!)",
      "votes": 1
    },
    {
      "id": 1463813,
      "postDate": "2021-08-10T10:42:28.573Z",
      "content": "<p>Congratulations!</p>",
      "rawMarkdown": "Congratulations!",
      "votes": 1
    },
    {
      "id": 1463727,
      "postDate": "2021-08-10T09:54:34.583Z",
      "content": "<p>Congrats! I watched your position and your funny statuses throughout all competition)<br>\nYou have done a great work! <br>\nI realized that there is a a lot information that I should understand.<br>\nThank you! </p>",
      "rawMarkdown": "Congrats! I watched your position and your funny statuses throughout all competition)\nYou have done a great work! \nI realized that there is a a lot information that I should understand.\nThank you! ",
      "votes": 1
    },
    {
      "id": 1463668,
      "postDate": "2021-08-10T09:21:53.707Z",
      "content": "<p>Congratulations !!!  <br>\nAnd I am not understand what segmentation used for,  could you tell me the details?</p>",
      "rawMarkdown": "Congratulations !!!  \nAnd I am not understand what segmentation used for,  could you tell me the details?",
      "votes": 1
    },
    {
      "id": 1463572,
      "postDate": "2021-08-10T08:36:17.100Z",
      "content": "<p>Congrats on 1st place and thank you for detailed solution, I have some questions:</p>\n<ol>\n<li>You use 8 TTA, which mean with each image you predict, you apply 8 times the process: (original image, center-crop 80%)-&gt;reisze-&gt;(None, horizontal flip, vertical flip, horizontal+vertical flip). Then, avg the probs for final prediction ? Is this correct ? </li>\n<li>What is the main idea behind \"Pretrain backbone of FasterRCNN FPN with chexpert + chest14\" ? And why do you only apply this to FasterRCNN FPN but not the others ? Are there anything specical ?</li>\n<li>What is Yolov5x6 ?</li>\n<li>I dont see you train an 2-class filter, so how can you handle class 'none' in image_level ?</li>\n</ol>",
      "rawMarkdown": "Congrats on 1st place and thank you for detailed solution, I have some questions:\n1. You use 8 TTA, which mean with each image you predict, you apply 8 times the process: (original image, center-crop 80%)->reisze->(None, horizontal flip, vertical flip, horizontal+vertical flip). Then, avg the probs for final prediction ? Is this correct ? \n2. What is the main idea behind \"Pretrain backbone of FasterRCNN FPN with chexpert + chest14\" ? And why do you only apply this to FasterRCNN FPN but not the others ? Are there anything specical ?\n3. What is Yolov5x6 ?\n4. I dont see you train an 2-class filter, so how can you handle class 'none' in image_level ?",
      "votes": 1,
      "replies": [
        {
          "id": 1463814,
          "postDate": "2021-08-10T10:42:35.590Z",
          "content": "<ol>\n<li>Yes, please look at my source code</li>\n<li>EfficientDet and yolov5 source code are easy to use but difficult to modify, so I can't pretrain backbone of effdet and yolov5 with chexpert or chest14</li>\n<li><a href=\"https://github.com/ultralytics/yolov5/releases\" target=\"_blank\">https://github.com/ultralytics/yolov5/releases</a></li>\n<li>please look at my kernel, 'none' in image_level = neg prediction of classification model</li>\n</ol>",
          "rawMarkdown": "1. Yes, please look at my source code\n2. EfficientDet and yolov5 source code are easy to use but difficult to modify, so I can't pretrain backbone of effdet and yolov5 with chexpert or chest14\n3. https://github.com/ultralytics/yolov5/releases\n4. please look at my kernel, 'none' in image_level = neg prediction of classification model",
          "votes": 3
        },
        {
          "id": 1463835,
          "postDate": "2021-08-10T10:51:55.147Z",
          "content": "<p>Thank you for answering</p>",
          "rawMarkdown": "Thank you for answering"
        }
      ]
    },
    {
      "id": 1463465,
      "postDate": "2021-08-10T07:51:00.350Z",
      "content": "<p>Congrats and all respects!!! Really impressive solo gold throughout all competition.💯<br>\nNot only the result has been perfect but also you've shared very well defined and clear solution with all kagglers. <br>\nThis will really help a lot of people. 👍<br>\nP.S. I saw some winners did not share even a comment in one of my previous competitions.    </p>",
      "rawMarkdown": "Congrats and all respects!!! Really impressive solo gold throughout all competition.💯\nNot only the result has been perfect but also you've shared very well defined and clear solution with all kagglers. \nThis will really help a lot of people. 👍\nP.S. I saw some winners did not share even a comment in one of my previous competitions.    ",
      "votes": 1
    },
    {
      "id": 1463106,
      "postDate": "2021-08-10T05:09:28.190Z",
      "content": "<p>Congratulation <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> 👍</p>",
      "rawMarkdown": "Congratulation @nguyenbadung 👍",
      "votes": 1
    },
    {
      "id": 1462900,
      "postDate": "2021-08-10T03:15:15.287Z",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> on such a strong solo finish. I love how your solution uses all the basics that work on Kaggle another example of stick to basics and win competitions. We tried all the above mentioned things : pretrained external data, PL, different Detection models, big image sizes, etc but it didn't work for us and hence led to discouragement to try more. The idea of using the chestxpath was there but we never tried it, using the pneumonia dataset for masks and pretraining Detection models is just brilliant. Thanks for sharing all the code,i am going to learn a lot from this </p>",
      "rawMarkdown": "Congratulations @nguyenbadung on such a strong solo finish. I love how your solution uses all the basics that work on Kaggle another example of stick to basics and win competitions. We tried all the above mentioned things : pretrained external data, PL, different Detection models, big image sizes, etc but it didn't work for us and hence led to discouragement to try more. The idea of using the chestxpath was there but we never tried it, using the pneumonia dataset for masks and pretraining Detection models is just brilliant. Thanks for sharing all the code,i am going to learn a lot from this ",
      "votes": 1
    },
    {
      "id": 1462857,
      "postDate": "2021-08-10T02:47:01.870Z",
      "content": "<p>Congratulations on your winning, what a nice and clean explanation.</p>",
      "rawMarkdown": "Congratulations on your winning, what a nice and clean explanation.",
      "votes": 1,
      "replies": [
        {
          "id": 1462858,
          "postDate": "2021-08-10T02:47:30.273Z",
          "content": "<p>Thank you!</p>",
          "rawMarkdown": "Thank you!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1462788,
      "postDate": "2021-08-10T02:07:10.107Z",
      "content": "<p>Congratulation <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> . How do you manage your experiment work-flow?</p>",
      "rawMarkdown": "Congratulation @nguyenbadung . How do you manage your experiment work-flow?",
      "votes": 1
    },
    {
      "id": 1462775,
      "postDate": "2021-08-10T02:01:02.823Z",
      "content": "<p>Congrats on 1st position. <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> you were unbeatable throughout the whole competition. Mad respect 🙇🏻‍♂️</p>",
      "rawMarkdown": "Congrats on 1st position. @nguyenbadung you were unbeatable throughout the whole competition. Mad respect 🙇🏻‍♂️",
      "votes": 1,
      "replies": [
        {
          "id": 1462783,
          "postDate": "2021-08-10T02:04:38.677Z",
          "content": "<p>Thank you 😄!</p>",
          "rawMarkdown": "Thank you 😄!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1462771,
      "postDate": "2021-08-10T02:00:00.277Z",
      "content": "<p>Congrats! Great work.</p>",
      "rawMarkdown": "Congrats! Great work.",
      "votes": 1,
      "replies": [
        {
          "id": 1462782,
          "postDate": "2021-08-10T02:04:24.190Z",
          "content": "<p>Thank you!</p>",
          "rawMarkdown": "Thank you!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1462686,
      "postDate": "2021-08-10T01:02:35.377Z",
      "content": "<p>Nice work and congratulations!</p>\n<p>\"Pretrain encoder with chexpert + chest14 dataset ….\"</p>\n<p>I would like to know the effects of pretraining. Do you have results with and with pretraining training? I suppose do not freeze your encoder when you retrain/transfer to siim-covid dataset. in my experiments, the grad change values can be quite like, so I wonder if pretraining has any impact or not.</p>\n<p>Thanks</p>",
      "rawMarkdown": "Nice work and congratulations!\n\n\"Pretrain encoder with chexpert + chest14 dataset ....\"\n\nI would like to know the effects of pretraining. Do you have results with and with pretraining training? I suppose do not freeze your encoder when you retrain/transfer to siim-covid dataset. in my experiments, the grad change values can be quite like, so I wonder if pretraining has any impact or not.\n\nThanks\n",
      "votes": 1,
      "replies": [
        {
          "id": 1462712,
          "postDate": "2021-08-10T01:23:22.607Z",
          "content": "<p>My idea is that chexpert+chest14 help the models better in better detecting negative cases. The LB increased by about 0.003-0.004 because negative's score accounts for 2/6 of the total score.</p>",
          "rawMarkdown": "My idea is that chexpert+chest14 help the models better in better detecting negative cases. The LB increased by about 0.003-0.004 because negative's score accounts for 2/6 of the total score.",
          "votes": 1
        },
        {
          "id": 1462728,
          "postDate": "2021-08-10T01:34:35.647Z",
          "content": "<p>thanks for the answer, I tried adding only negative images (from various external data) directly into the siim dataset, but it doesn't work for me</p>\n<p>So pertaining seems to be a better solution.</p>",
          "rawMarkdown": "thanks for the answer, I tried adding only negative images (from various external data) directly into the siim dataset, but it doesn't work for me\n\nSo pertaining seems to be a better solution."
        },
        {
          "id": 1463384,
          "postDate": "2021-08-10T07:12:27.617Z",
          "content": "<p><a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a>  thanks for writing.<br>\nI found that adding RSNA Opacity image and RSNA normal image improved LB by .002 but i was  taking only sample of those data because of resource constraints. May i should have added more of RSNA Normal/Rsna P images. </p>\n<p>I used VinBig Opacity images + RSNA Normal + RSNA P images.  but as said i dint increase the proportion of  RSNA normal and P images for training, may that would have easily added 0.002 more to score.</p>\n<p>Congrats to your victory. </p>",
          "rawMarkdown": "@nguyenbadung  thanks for writing.\nI found that adding RSNA Opacity image and RSNA normal image improved LB by .002 but i was  taking only sample of those data because of resource constraints. May i should have added more of RSNA Normal/Rsna P images. \n\nI used VinBig Opacity images + RSNA Normal + RSNA P images.  but as said i dint increase the proportion of  RSNA normal and P images for training, may that would have easily added 0.002 more to score.\n\nCongrats to your victory. \n",
          "votes": 1
        }
      ]
    },
    {
      "id": 1462685,
      "postDate": "2021-08-10T01:02:01.843Z",
      "content": "<p>very impressive, especially all of these were done by individual, respect!</p>",
      "rawMarkdown": "very impressive, especially all of these were done by individual, respect!",
      "votes": 1,
      "replies": [
        {
          "id": 1462695,
          "postDate": "2021-08-10T01:07:42.843Z",
          "content": "<p>Thank you!</p>",
          "rawMarkdown": "Thank you!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1479169,
      "postDate": "2021-08-18T10:21:13.983Z",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> for sharing your code. It is a very valuable resource to learn from</p>",
      "rawMarkdown": "Thank you @nguyenbadung for sharing your code. It is a very valuable resource to learn from",
      "votes": 2
    },
    {
      "id": 1478638,
      "postDate": "2021-08-18T04:56:45.037Z",
      "content": "<p><a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> Hi, I'm just wondering, from your solution it seems that <strong>hand-labeling</strong> of the training dataset is allowed, and also we don't have to share it publicly?</p>",
      "rawMarkdown": "@nguyenbadung Hi, I'm just wondering, from your solution it seems that **hand-labeling** of the training dataset is allowed, and also we don't have to share it publicly?",
      "votes": 2,
      "replies": [
        {
          "id": 1478858,
          "postDate": "2021-08-18T07:02:35.467Z",
          "content": "<p>Hi <a href=\"https://www.kaggle.com/awsaf49\" target=\"_blank\">@awsaf49</a> , you can hand-label on the training dataset. You can do anything with train data and don't have to share it publicly.<br>\nTop1 of RSNA STR Pulmonary Embolism Detection challenge used a lung detector based on handlabeling trainset. In birdcall challenge, the winner also relabeled the trainset because noise in dataset.</p>",
          "rawMarkdown": "Hi @awsaf49 , you can hand-label on the training dataset. You can do anything with train data and don't have to share it publicly.\nTop1 of RSNA STR Pulmonary Embolism Detection challenge used a lung detector based on handlabeling trainset. In birdcall challenge, the winner also relabeled the trainset because noise in dataset.",
          "votes": 2
        },
        {
          "id": 1478860,
          "postDate": "2021-08-18T07:03:37.457Z",
          "content": "<p>thanks for clarification :) </p>",
          "rawMarkdown": "thanks for clarification :) "
        }
      ]
    },
    {
      "id": 1475890,
      "postDate": "2021-08-16T21:59:07.793Z",
      "content": "<p><a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a>  I forgot to ask you before, what is the story behind your last \"Team name\" a.k.a 25 minutes ? :)</p>",
      "rawMarkdown": "@nguyenbadung  I forgot to ask you before, what is the story behind your last \"Team name\" a.k.a 25 minutes ? :)",
      "votes": 2,
      "replies": [
        {
          "id": 1475944,
          "postDate": "2021-08-16T22:44:37.403Z",
          "content": "<p>just my favorite song</p>",
          "rawMarkdown": "just my favorite song",
          "votes": 3
        }
      ]
    },
    {
      "id": 1472603,
      "postDate": "2021-08-15T02:12:13.643Z",
      "content": "<p>Congratulations! Thank you for your helpful sharing!</p>",
      "rawMarkdown": "Congratulations! Thank you for your helpful sharing!",
      "votes": 2
    },
    {
      "id": 1471663,
      "postDate": "2021-08-14T11:17:49.923Z",
      "content": "<p>An amazing job! and thank you for the wonderful detailed description and useful notebooks! 🔥</p>",
      "rawMarkdown": "An amazing job! and thank you for the wonderful detailed description and useful notebooks! 🔥",
      "votes": 2
    },
    {
      "id": 1470305,
      "postDate": "2021-08-13T12:53:27.047Z",
      "content": "<p>congrats. all the best and thanks for the share</p>",
      "rawMarkdown": "congrats. all the best and thanks for the share",
      "votes": 2
    },
    {
      "id": 1462734,
      "postDate": "2021-08-10T01:38:20.810Z",
      "content": "<p>Congratz <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> and Thanks for not leaving 1st place throughout the competition to anyone</p>",
      "rawMarkdown": "Congratz @nguyenbadung and Thanks for not leaving 1st place throughout the competition to anyone",
      "votes": 2,
      "replies": [
        {
          "id": 1462744,
          "postDate": "2021-08-10T01:41:42.573Z",
          "content": "<p>Thank you 😄!</p>",
          "rawMarkdown": "Thank you 😄!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1462679,
      "postDate": "2021-08-10T00:58:55.487Z",
      "content": "<p>Congrats anh :D Chắc chuẩn bị trước solution rồi hay sao mà up nhanh thế..</p>",
      "rawMarkdown": "Congrats anh :D Chắc chuẩn bị trước solution rồi hay sao mà up nhanh thế..",
      "votes": 2,
      "replies": [
        {
          "id": 1462683,
          "postDate": "2021-08-10T01:01:33.143Z",
          "content": "<p>chỉ thay đổi con số ở vị trí bảng xếp hạng thôi ^^</p>",
          "rawMarkdown": "chỉ thay đổi con số ở vị trí bảng xếp hạng thôi ^^",
          "votes": 1
        }
      ]
    },
    {
      "id": 1478157,
      "postDate": "2021-08-17T20:31:45.877Z",
      "content": "<p>just commenting to be a contributor</p>",
      "rawMarkdown": "just commenting to be a contributor"
    },
    {
      "id": 1464739,
      "postDate": "2021-08-10T17:26:57.597Z",
      "content": "<p>Thanks for sharing. I appreciate your efforts.</p>",
      "rawMarkdown": "Thanks for sharing. I appreciate your efforts.\n"
    },
    {
      "id": 1471733,
      "postDate": "2021-08-14T12:15:58.187Z",
      "content": "<p>from mean_average_precision import MetricBuilder<br>\nthis line from utils.py throws error. is something missing from your github code?<br>\nthanks</p>",
      "rawMarkdown": "from mean_average_precision import MetricBuilder\nthis line from utils.py throws error. is something missing from your github code?\nthanks",
      "votes": -1,
      "replies": [
        {
          "id": 1471745,
          "postDate": "2021-08-14T12:24:00.973Z",
          "content": "<p>try <br>\npip install git+<a href=\"https://github.com/bes-dev/mean_average_precision.git@930df3618c924b694292cc125114bad7c7f3097e\" target=\"_blank\">https://github.com/bes-dev/mean_average_precision.git@930df3618c924b694292cc125114bad7c7f3097e</a></p>",
          "rawMarkdown": "try \npip install git+https://github.com/bes-dev/mean_average_precision.git@930df3618c924b694292cc125114bad7c7f3097e",
          "votes": 3
        },
        {
          "id": 1472195,
          "postDate": "2021-08-14T17:40:53.260Z",
          "content": "<p>yeap works , thanks</p>",
          "rawMarkdown": "yeap works , thanks",
          "votes": -1
        }
      ]
    },
    {
      "id": 1467844,
      "postDate": "2021-08-12T06:52:39.640Z",
      "content": "<p>congratulations on your win and thank you for the solutions !</p>",
      "rawMarkdown": "congratulations on your win and thank you for the solutions !",
      "votes": -1
    },
    {
      "id": 3124905,
      "postDate": "2025-02-15T15:00:24.730Z",
      "content": "<p>impressive</p>",
      "rawMarkdown": "impressive"
    },
    {
      "id": 1545237,
      "postDate": "2021-10-15T02:41:04.643Z",
      "content": "<p>Congrats <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> on winning this competition. I'm trying to access your solution summary on Google drive shared link (<a href=\"https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing)\" target=\"_blank\">https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing)</a>. However, it seems like the file doesn't exist. Is it possible for your to provide access to it? Thanks in advance!!</p>",
      "rawMarkdown": "Congrats @nguyenbadung on winning this competition. I'm trying to access your solution summary on Google drive shared link (https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing). However, it seems like the file doesn't exist. Is it possible for your to provide access to it? Thanks in advance!!",
      "replies": [
        {
          "id": 1545262,
          "postDate": "2021-10-15T03:07:38.267Z",
          "content": "<p><a href=\"https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/images/flowchart.png\" target=\"_blank\">https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/images/flowchart.png</a></p>",
          "rawMarkdown": "https://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/images/flowchart.png"
        }
      ]
    },
    {
      "id": 1545004,
      "postDate": "2021-10-14T21:27:13.673Z",
      "content": "<p>Congratulations!</p>",
      "rawMarkdown": "Congratulations!"
    },
    {
      "id": 1544716,
      "postDate": "2021-10-14T15:07:34.750Z",
      "content": "<p>Thanks for sharing. The solution summary no longer exists. Could you send another copy? Thanks :)</p>",
      "rawMarkdown": "Thanks for sharing. The solution summary no longer exists. Could you send another copy? Thanks :)"
    },
    {
      "id": 1484589,
      "postDate": "2021-08-21T12:51:29.893Z",
      "content": "<p>Congrateulation. Well done. Thanks for sharing.</p>",
      "rawMarkdown": "Congrateulation. Well done. Thanks for sharing."
    },
    {
      "id": 1481920,
      "postDate": "2021-08-19T18:19:28.187Z",
      "content": "<p>Hey community, I was curious over <strong>What did not work</strong>: Stack multi classification models using cnn or lgbm. Can anyone help me here?</p>",
      "rawMarkdown": "Hey community, I was curious over **What did not work**: Stack multi classification models using cnn or lgbm. Can anyone help me here?"
    },
    {
      "id": 1481918,
      "postDate": "2021-08-19T18:17:40.940Z",
      "content": "<p><a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> Hey, Sharing kaggle notebook who ranked best for this challenge, is another amazing things on kaggle. This is really impressive and lots of stuff to learn from your notebook: Approach, Formulating, Featuring,etc. </p>",
      "rawMarkdown": "@nguyenbadung Hey, Sharing kaggle notebook who ranked best for this challenge, is another amazing things on kaggle. This is really impressive and lots of stuff to learn from your notebook: Approach, Formulating, Featuring,etc. "
    },
    {
      "id": 1480445,
      "postDate": "2021-08-19T03:08:21.280Z",
      "content": "<p>This is amazing. Thankyou for sharing!</p>",
      "rawMarkdown": "This is amazing. Thankyou for sharing!"
    },
    {
      "id": 1472134,
      "postDate": "2021-08-14T17:09:53.130Z",
      "content": "<p>Congrats 🔥</p>",
      "rawMarkdown": "Congrats 🔥"
    },
    {
      "id": 1472125,
      "postDate": "2021-08-14T16:58:02.277Z",
      "content": "<p>Congrats!</p>",
      "rawMarkdown": "Congrats!\n"
    },
    {
      "id": 1472137,
      "postDate": "2021-08-14T17:11:21.803Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 1475302,
      "postDate": "2021-08-16T15:03:20.713Z",
      "content": "<p>Thank you for sharing.</p>",
      "rawMarkdown": "Thank you for sharing.",
      "votes": 1
    },
    {
      "id": 1473916,
      "postDate": "2021-08-15T19:17:28.263Z",
      "content": "<p>Thanks for Sharing!</p>",
      "rawMarkdown": "Thanks for Sharing!",
      "votes": 1
    },
    {
      "id": 1472756,
      "postDate": "2021-08-15T05:00:20.260Z",
      "content": "<p>Congratulations, Thank you for sharing</p>",
      "rawMarkdown": "Congratulations, Thank you for sharing",
      "votes": 1
    },
    {
      "id": 1471198,
      "postDate": "2021-08-14T03:28:44.267Z",
      "content": "<p>Congrats and thanks for sharing.</p>",
      "rawMarkdown": "Congrats and thanks for sharing.",
      "votes": 1
    },
    {
      "id": 1469485,
      "postDate": "2021-08-13T01:03:31.040Z",
      "content": "<p>Congrats,and thanks for share</p>",
      "rawMarkdown": "Congrats,and thanks for share",
      "votes": 1
    },
    {
      "id": 1465562,
      "postDate": "2021-08-11T05:05:30.830Z",
      "content": "<p>Congrats !! Thanks for sharing.</p>",
      "rawMarkdown": "Congrats !! Thanks for sharing.",
      "votes": 1
    },
    {
      "id": 1465258,
      "postDate": "2021-08-11T01:16:26.923Z",
      "content": "<p>Congrats and thanks for sharing!</p>",
      "rawMarkdown": "Congrats and thanks for sharing!",
      "votes": 1
    },
    {
      "id": 1464183,
      "postDate": "2021-08-10T13:27:07.753Z",
      "content": "<p>Thanks for sharing. Very helpful!</p>",
      "rawMarkdown": "Thanks for sharing. Very helpful!",
      "votes": 1
    },
    {
      "id": 1463526,
      "postDate": "2021-08-10T08:16:28.277Z",
      "content": "<p>thanks for sharing</p>",
      "rawMarkdown": "thanks for sharing",
      "votes": 1
    },
    {
      "id": 1462921,
      "postDate": "2021-08-10T03:28:55.910Z",
      "content": "<p>Thanks for sharing. Nice talk</p>",
      "rawMarkdown": "Thanks for sharing. Nice talk",
      "votes": 2
    },
    {
      "id": 1462864,
      "postDate": "2021-08-10T02:51:54.120Z",
      "content": "<p>Congratulations and thanks for sharing</p>",
      "rawMarkdown": "Congratulations and thanks for sharing",
      "votes": 2
    }
  ],
  "comments": [
    {
      "id": 1462718,
      "author_name": "Victor",
      "author_url": "",
      "post_date": "2021-08-10T01:29:42.850000",
      "content": "<p>Congrats! I am curious about a few things:</p>\n<ul>\n<li>When doing TTA, why do you only use flips? Most often, I see people applying all the same augmentations used during training (eg. blur, scale, cutout, etc.). Also, any intuition as to why a vertical flip would help? I assumed it would not, since none of the training images are upside down</li>\n<li>What is \"exponential moving average\"? Is this part of the training process, or prediction?</li>\n<li>What is a pseudo test set? (for the classification + segmentation)</li>\n<li>What software did you use to do the lung annotations?</li>\n</ul>\n<p>It is also very interesting that you <em>only</em> used aux loss. I did not see anyone discussing that.</p>\n<p>All these advanced techniques are really cool. It inspires me to learn more!</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1462741,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-10T01:40:53.297000",
          "content": "<p>Hi <a href=\"https://www.kaggle.com/vdefont\" target=\"_blank\">@vdefont</a> </p>\n<ol>\n<li>to optimize the inference time. In my experience ensembling of multiple models is much better than single model and multi test time augmentation </li>\n<li><a href=\"https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage\" target=\"_blank\">https://www.tensorflow.org/api_docs/python/tf/train/ExponentialMovingAverage</a></li>\n<li>You use the prediction value on the test set as a soft-label ground-truth</li>\n<li>LabelImg <a href=\"https://github.com/tzutalin/labelImg\" target=\"_blank\">https://github.com/tzutalin/labelImg</a></li>\n</ol>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1474501,
      "author_name": "Ashutosh Sahay",
      "author_url": "",
      "post_date": "2021-08-16T06:36:56.853000",
      "content": "<p>Oh wow! Congrats and a big thanks for this detailed guide.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1463287,
      "author_name": "Theo Viel",
      "author_url": "",
      "post_date": "2021-08-10T06:45:04.513000",
      "content": "<p>Congratulations on this really impressive performance. Winning solo against teams of 3+ people, including the best GMs is truly an impressive achievement.</p>\n<p>Your solution is nice and is easily understandable, all the ideas make sense, nothing is over-engineered. <br>\nDefinitely a solution I'll refer to in the future :)</p>",
      "votes": 3,
      "replies": [
        {
          "id": 1463366,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-10T07:07:44.557000",
          "content": "<p>I think they are focusing on seti competition instead of this competition otherwise I would not have won. For example Guanshuo Xu just need 2 weeks for 10th place instead of 3 months of continuous experiment like me. I wish I could be professional like them.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1463453,
          "author_name": "Theo Viel",
          "author_url": "",
          "post_date": "2021-08-10T07:40:50.757000",
          "content": "<p>Don't be too humble, you're definitely one of the best Kagglers currently on the platform !</p>",
          "votes": 7,
          "replies": []
        }
      ]
    },
    {
      "id": 1495833,
      "author_name": "Fuco",
      "author_url": "",
      "post_date": "2021-08-29T20:33:45.510000",
      "content": "<p>Congratulation PRO =))</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1477431,
      "author_name": "Mansoor Ahmed",
      "author_url": "",
      "post_date": "2021-08-17T13:28:31.817000",
      "content": "<p>Nice information! Congrats and a big thanks for this detailed guide.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1477035,
      "author_name": "antho-data",
      "author_url": "",
      "post_date": "2021-08-17T10:38:57.100000",
      "content": "<p>Thank you for sharing ! Very nice work :) </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1476505,
      "author_name": "Solomon Kimunyu",
      "author_url": "",
      "post_date": "2021-08-17T06:26:28.637000",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1475956,
      "author_name": "Oludare Fasure",
      "author_url": "",
      "post_date": "2021-08-16T22:52:45.427000",
      "content": "<p>A big congratulations to you!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1475189,
      "author_name": "Ches Charlemagne",
      "author_url": "",
      "post_date": "2021-08-16T13:50:15.030000",
      "content": "<p>Congratulations on your good work, and thanks for the details</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1475074,
      "author_name": "anilclskn",
      "author_url": "",
      "post_date": "2021-08-16T12:31:49.120000",
      "content": "<p>Congratulations! Thank you for your support!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1474662,
      "author_name": "Lavanya",
      "author_url": "",
      "post_date": "2021-08-16T08:01:31.183000",
      "content": "<p>Congratulations! Great work!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1474111,
      "author_name": "DONGBEEN JEON",
      "author_url": "",
      "post_date": "2021-08-15T23:53:15.797000",
      "content": "<p>Congrats!!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1473649,
      "author_name": "Amol Ambkar",
      "author_url": "",
      "post_date": "2021-08-15T16:42:14.847000",
      "content": "<p>Great One…</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1473022,
      "author_name": "Viswanath Bodapati",
      "author_url": "",
      "post_date": "2021-08-15T09:44:06.603000",
      "content": "<p>Congratulations! Thank you for your helpful sharing..!!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1472467,
      "author_name": "Rifat Reet",
      "author_url": "",
      "post_date": "2021-08-14T22:20:20.657000",
      "content": "<p>Rams could be one of the best teams in the NFC<a href=\"http://ixys.com/hov/video-gi-v-jt-nfl01.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-uc-v-bt.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-gi-v-jt-nfl.html\" target=\"_blank\">.</a><a href=\"http://ixys.com/hov/video-gu-v-bw-Yt.html\" target=\"_blank\">.</a><a href=\"http://ixys.com/hov/video-sain-v-rav-nf.html\" target=\"_blank\">.</a><a href=\"http://www.smh.com/odes/video-si-v-en-nf.html\" target=\"_blank\">.</a></p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1471212,
      "author_name": "Prince Rajbhar",
      "author_url": "",
      "post_date": "2021-08-14T03:54:16.207000",
      "content": "<p>Congrats!!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1470106,
      "author_name": "Sushi Master",
      "author_url": "",
      "post_date": "2021-08-13T09:39:43.787000",
      "content": "<p>Hello. Congratulations!<br>\nI'm really impressed with your solution.<br>\nThanks for sharing.<br>\nCould I ask something?</p>\n<ol>\n<li>Why you didn't use the bigger model like EffcientNetV2 for training study_level image?</li>\n<li>I heard 'AugMix' is good for classification(I try but failed in TPU environment). <br>\nCould I ask, why you didn't use it?</li>\n</ol>\n<p>Thank you. Grandmaster!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1469953,
      "author_name": "Tung Vu",
      "author_url": "",
      "post_date": "2021-08-13T07:30:51.980000",
      "content": "<p>Congrats <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> . I've learned much from kagglers' solutions such as yours.<br>\nI also have a question: I notice you have used Adam optim and at the same time use EMA weights. Since Adam has momentum integrated, I wonder if we really need EMA weights here. Can you elaborate ?</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1469696,
      "author_name": "Christian Arnel Alcantara",
      "author_url": "",
      "post_date": "2021-08-13T04:52:08.933000",
      "content": "<p>Congratulations! Thank you very much for sharing!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1469511,
      "author_name": "Kokkini",
      "author_url": "",
      "post_date": "2021-08-13T01:46:17.827000",
      "content": "<p>Congratulations! Great explanation too, I learned a lot from it.<br>\nI read your code and noticed that you wrote your own weights and biases initializations. I'm wondering how it is different from the default initialization and how much it helped to improve the result. Could you give a brief explanation? Thank you!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1469448,
      "author_name": "Awsaf",
      "author_url": "",
      "post_date": "2021-08-13T00:08:28.283000",
      "content": "<p>Congrats 🎉. </p>\n<blockquote>\n  <p>Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.</p>\n</blockquote>\n<p>I think once you kept your team name <code>bimcv pseudo is all you need</code>😹.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1467882,
      "author_name": "Liam Nguyen",
      "author_url": "",
      "post_date": "2021-08-12T07:04:56.237000",
      "content": "<p>Hi, you've done such a great work!!  <a href=\"https://www.kaggle.com/nguyenbadung\" target=\"_blank\">@nguyenbadung</a> <br>\nI am using your EffB7-Unet++ model that you published on your github, but unfortunately the dice loss of segmentation task is always 1 throughout several epochs (means the dice coef is always 0). Note that I don't pretrain the model first as you did (I use the pretrained encoder from pytorch_segmentation_model) but I thought it should have decreased the dice loss at least. You have any suggestion ?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1468004,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-12T08:09:05.350000",
          "content": "<p>All parameters have been optimized for each step, don't arbitrarily skip any step in my source code.<br>\nYou should use hengck's idea and code <a href=\"https://www.kaggle.com/c/siim-covid19-detection/discussion/240233\" target=\"_blank\">https://www.kaggle.com/c/siim-covid19-detection/discussion/240233</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1468867,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-12T15:53:56.610000",
          "content": "<p><a href=\"https://www.kaggle.com/namgalielei\" target=\"_blank\">@namgalielei</a> <br>\nDon't use chexpert or chest14, load imagenet pretrain<br>\ntrain SeR152-Unet with rsna pneumonia<br>\nepoch, lr, train_iou, train_loss, val_iou, val_loss<br>\n0, 0.00010, 0.23082, 0.54119, 0.26705, 0.51223<br>\n1, 0.00010, 0.26977, 0.49555, 0.29824, 0.48472<br>\n2, 0.00009, 0.28105, 0.48332, 0.30401, 0.47968<br>\n…<br>\nOr train SeR152-Unet with siim covid<br>\nepoch, lr, train_loss, train_iou, ema_val_iou, val_map, ema_val_map<br>\n0, 0.00010, 0.47998, 0.35340, 0.43048, 0.36499, 0.35439<br>\n1, 0.00010, 0.40955, 0.43500, 0.46247, 0.38370, 0.38243<br>\n…<br>\nI wonder how you get dice coef = 0 ?🤔😂💯</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1469455,
          "author_name": "Liam Nguyen",
          "author_url": "",
          "post_date": "2021-08-13T00:25:49.883000",
          "content": "<p>Thanks for your help !!! My point is not to arbitrarily skip any part of your work but to figure it out what the key point out team has missed back then. It might be able to answer the question what we should have done better. I start with the architecture. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1470121,
          "author_name": "Liam Nguyen",
          "author_url": "",
          "post_date": "2021-08-13T09:55:45.037000",
          "content": "<p>I figure it out why my dice coefficient = 0. Your model class has use <a href=\"https://www.kaggle.com/autocast\" target=\"_blank\">@autocast</a> at forward function, when I check the dtype of the predicted masks, they are of float16. However in my original training loop I didn't use auto mixed precision, so the computation of the dice loss encounter infinity in some mediate calculations, that's why the dice coefficient is always 0.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1467696,
      "author_name": "Abid Ali Awan",
      "author_url": "",
      "post_date": "2021-08-12T05:34:12.377000",
      "content": "<p>Congrats, I mean you aced it.😎</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1466471,
      "author_name": "Kapil Chauhan",
      "author_url": "",
      "post_date": "2021-08-11T13:34:57.343000",
      "content": "<p>Great flowchart! what did you use to make it?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1466502,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-11T13:45:18.527000",
          "content": "<p><a href=\"https://lucid.app\" target=\"_blank\">https://lucid.app</a></p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1466086,
      "author_name": "Kei",
      "author_url": "",
      "post_date": "2021-08-11T10:03:05.287000",
      "content": "<p>Congrats anh Dũng!<br>\nSolo win this competition is incredible!</p>\n<p>Q: Can you explain how this method works? Does that average weight multi with the confidence score?<br>\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1466099,
          "author_name": "DungNB",
          "author_url": "",
          "post_date": "2021-08-11T10:12:43.313000",
          "content": "<p>I choose the weights 0.3eb5+0.2eb6+0.2eb7+0.3sr152 based on the highest public LB score</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1465844,
      "author_name": "Jasmine kaur",
      "author_url": "",
      "post_date": "2021-08-11T07:47:16.343000",
      "content": "<p>Congrats! It is interesting solution</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1465549,
      "author_name": "ywkkoh",
      "author_url": "",
      "post_date": "2021-08-11T04:59:37.627000",
      "content": "<p>Congrats! Great Work!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1465170,
      "author_name": "Ross",
      "author_url": "",
      "post_date": "2021-08-10T22:40:42.503000",
      "content": "<p>Congratulations!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1465008,
      "author_name": "Swikwislkdjc",
      "author_url": "",
      "post_date": "2021-08-10T19:56:40.960000",
      "content": "<p>Brilliant idea! Congratulate!!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464898,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T18:53:14.030000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464869,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T18:41:05.180000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464761,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T17:40:10.103000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464562,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T16:04:25.813000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1464567,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T16:06:44.757000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1464422,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T15:07:52.253000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464402,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:59:16.230000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1464474,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T15:30:15.553000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1464366,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:46:10.300000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464350,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:42:37.567000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464342,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:39:15.743000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464265,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:08:55.513000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1464277,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T14:15:02.747000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1464259,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T14:05:17.760000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464216,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T13:45:14.573000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1464222,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T13:47:44.573000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1464031,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T12:27:58.020000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463954,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T11:57:45.110000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463813,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T10:42:28.573000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463727,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T09:54:34.583000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463668,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T09:21:53.707000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463572,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T08:36:17.100000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1463814,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T10:42:35.590000",
          "content": "",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1463835,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T10:51:55.147000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1463465,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T07:51:00.350000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463106,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T05:09:28.190000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1462900,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T03:15:15.287000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1462857,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T02:47:01.870000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1462858,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T02:47:30.273000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1462788,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T02:07:10.107000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1462775,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T02:01:02.823000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1462783,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T02:04:38.677000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1462771,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T02:00:00.277000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1462782,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T02:04:24.190000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1462686,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T01:02:35.377000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1462712,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T01:23:22.607000",
          "content": "",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1462728,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T01:34:35.647000",
          "content": "",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1463384,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T07:12:27.617000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1462685,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T01:02:01.843000",
      "content": "",
      "votes": 1,
      "replies": [
        {
          "id": 1462695,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T01:07:42.843000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1479169,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-18T10:21:13.983000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1478638,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-18T04:56:45.037000",
      "content": "",
      "votes": 2,
      "replies": [
        {
          "id": 1478858,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-18T07:02:35.467000",
          "content": "",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1478860,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-18T07:03:37.457000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1475890,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-16T21:59:07.793000",
      "content": "",
      "votes": 2,
      "replies": [
        {
          "id": 1475944,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-16T22:44:37.403000",
          "content": "",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1472603,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-15T02:12:13.643000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1471663,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T11:17:49.923000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1470305,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-13T12:53:27.047000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1462734,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T01:38:20.810000",
      "content": "",
      "votes": 2,
      "replies": [
        {
          "id": 1462744,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T01:41:42.573000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1462679,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T00:58:55.487000",
      "content": "",
      "votes": 2,
      "replies": [
        {
          "id": 1462683,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-10T01:01:33.143000",
          "content": "",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1478157,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-17T20:31:45.877000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1464739,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T17:26:57.597000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1471733,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T12:15:58.187000",
      "content": "",
      "votes": -1,
      "replies": [
        {
          "id": 1471745,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-14T12:24:00.973000",
          "content": "",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1472195,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-08-14T17:40:53.260000",
          "content": "",
          "votes": -1,
          "replies": []
        }
      ]
    },
    {
      "id": 1467844,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-12T06:52:39.640000",
      "content": "",
      "votes": -1,
      "replies": []
    },
    {
      "id": 3124905,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-02-15T15:00:24.730000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1545237,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-10-15T02:41:04.643000",
      "content": "",
      "votes": 0,
      "replies": [
        {
          "id": 1545262,
          "author_name": "",
          "author_url": "",
          "post_date": "2021-10-15T03:07:38.267000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1545004,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-10-14T21:27:13.673000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1544716,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-10-14T15:07:34.750000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1484589,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-21T12:51:29.893000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1481920,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-19T18:19:28.187000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1481918,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-19T18:17:40.940000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1480445,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-19T03:08:21.280000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1472134,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T17:09:53.130000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1472125,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T16:58:02.277000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1472137,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T17:11:21.803000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1475302,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-16T15:03:20.713000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1473916,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-15T19:17:28.263000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1472756,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-15T05:00:20.260000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1471198,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-14T03:28:44.267000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1469485,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-13T01:03:31.040000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1465562,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-11T05:05:30.830000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1465258,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-11T01:16:26.923000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1464183,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T13:27:07.753000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1463526,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T08:16:28.277000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1462921,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T03:28:55.910000",
      "content": "",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1462864,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-08-10T02:51:54.120000",
      "content": "",
      "votes": 2,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1462663": "First of all, I would like to thank Kaggle, SIIM, FISABIO, RSNA for this great competition, as well has everyone here who has shared great discussions and notebooks. Congrats to all the winners!\n\n**Solution summary:**\nhttps://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing\n\n**Cross-validation**: split trainset to 5 folds by patientid\n\n**Multi-task classification + segmentation**\n- Pretrain encoder with chexpert + chest14 dataset\n- Train classification(normal/pneumonia) + segmentation(opacity boxes to mask) with rsna pneumonia dataset \n- Train classification(4 classes: negative, typical, indeterminate, atypical) + segmentation(boxes to mask) with siim covid dataset, load weight from rsna pneumonia checkpoint\n- Predict siim-covid testset, train model with siim covid trainset + pseudo testset, load weight from previous checkpoint\n- Augmentation: RandomResizedCrop, ShiftScaleRotate, HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout\n- Exponential moving average with decay 0.997 [increase LB by +0.001~0.002]\n- Loss: aux loss = 0.6weighted bce + 0.4dice, weight of weighted bce: 0.2negative + 0.2typical + 0.3indeterminate + 0.3atypical to focus on 2 weak classes (indeterminate and atypical).\n  [increases both CV and LB ~0.002]\n- Optimizer: Adam with init_learning_rate 0.0001\n- Scheduler: CosineAnnealingLR\n- Test time augmentation: 8TTA (original image, center-crop 80%)->resize->(None, horizontal flip, vertical flip, horizontal+vertical flip), 8TTA increase both CV and public LB by +0.003~0.004. In final submission, I use lung detector model instead of center-crop 80%\n- Final submission includes 4 models with diversity of encoders, decoders, input size: \nSeResnet152-Unet 512, EfficientnetB5-DeeplabV3+ 512, EfficientnetB6-Linknet 448, EfficientnetB7-Unet++ 512\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]\n\n**Lung Detector-YoloV5**\nI annotated the train data(6334 images) using https://github.com/tzutalin/labelImg tool and built a lung localizer with the bboxes. I noticed that increasing input image size improves the modeling performance and lung detector helps the model to reduce background noise.\nSingle fold lung detector increase LB by +0.003 compared with simple center-crop 80%\n\n**Detection**\nEnsemble of 4 models (Yolov5X6 input size 768 + EfficientDet D7 input size 768 + FasterRNN FPN resnet101 input size 1024 + FasterRNN FPN resnet200 input size 768) using weighted boxes fusion (IoU 0.6)\n- Pretrain backbone of FasterRCNN FPN with chexpert + chest14\n- Train models with rsna pneumonia boxes\n- Train models with siim covid trainset, load weight from rsna checkpoint\n- Predict siim covid testset + external dataset (padchest, pneumothorax + vin)\n  Keep images that meet the conditions: negative prediction < 0.3 and maximum of (typical, indeterminate, atypical) predicion > 0.7.Then choose 2 boxes with the highest confidence as pseudo labels for each image.\n- Train model with rsna pneumonia label + external pseudo label (siim covid testset + padchest, pneumothorax + vin)\n- Train model with siim covid trainset, load weight from checkpoint of pseudo labeling stage\n- Augmentation: Scale, RandomResizedCrop, Rotate(maximum 10 degrees), HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout, Mosaic, Mixup\n- Loss: FocalLoss\n- Test time augmentation: 2TTA for EfficientDet (original + hflip), 3TTA for Yolov5(original, scale 0.83 + hflip, scale 0.67), 3TTA for FasterRCNN (original, hflip, vflip)\n\n**Performance of models**\nclassification mAP@0.5 4 classes: negative, typical, indeterminate, atypical\n|                     | SeR152-Unet | EB5-Deeplab | EB6-Linknet | EB7-Unet++  | Ensemble    |\n| :----------- | :------------- | :------------- | :------------ | :------------ | :------------ |\n| w/o / 8TTA | 0.575/0.584   | 0.583/0.592   | 0.580/0.587 | 0.589/0.595  | 0.595/0.598 |\n\ndetection opacity class \n|                           | YoloV5X6 768 | EffdetD7 768 | F-RCNN R200 768 | F-RCNN R101 1024 |\n| :--------------- | :------------- | :------------- | :------------------- | :------------------- |\n| mAP@0.5 TTA  | 0.580               | 0.594             | 0.592                       | 0.596                        |\n\nPublic LB/Private LB: 0.658/0.635\n\n**What did not work**\n- Multi-task classification + detection \n- Stack multi classification models using cnn or lgbm\n- Mixup + cutmix for classification models \n- Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.\n- Increase the input size of classification model to 1024, the score of both CV and public LB is almost unchanged from 512\n\nThe complete code used in this competition has been uploaded to the following github: \nhttps://github.com/dungnb1333/SIIM-COVID19-Detection\n\nInference notebook: https://www.kaggle.com/nguyenbadung/siim-covid19-2021?scriptVersionId=69474844\n\nDEMO Notebook to visualize the output of models:\nhttps://github.com/dungnb1333/SIIM-COVID19-Detection/blob/main/src/demo_notebook/demo.ipynb\n",
    "1462718": "Congrats! I am curious about a few things:\n- When doing TTA, why do you only use flips? Most often, I see people applying all the same augmentations used during training (eg. blur, scale, cutout, etc.). Also, any intuition as to why a vertical flip would help? I assumed it would not, since none of the training images are upside down\n- What is \"exponential moving average\"? Is this part of the training process, or prediction?\n- What is a pseudo test set? (for the classification + segmentation)\n- What software did you use to do the lung annotations?\n\nIt is also very interesting that you *only* used aux loss. I did not see anyone discussing that.\n \nAll these advanced techniques are really cool. It inspires me to learn more!",
    "1474501": "Oh wow! Congrats and a big thanks for this detailed guide.\n",
    "1463287": "Congratulations on this really impressive performance. Winning solo against teams of 3+ people, including the best GMs is truly an impressive achievement.\n\nYour solution is nice and is easily understandable, all the ideas make sense, nothing is over-engineered. \nDefinitely a solution I'll refer to in the future :)",
    "1495833": "Congratulation PRO =))",
    "1477431": "Nice information! Congrats and a big thanks for this detailed guide.",
    "1477035": "Thank you for sharing ! Very nice work :) ",
    "1476505": "Congratulations @nguyenbadung ",
    "1475956": "A big congratulations to you!",
    "1475189": "Congratulations on your good work, and thanks for the details",
    "1475074": "Congratulations! Thank you for your support!",
    "1474662": "Congratulations! Great work!",
    "1474111": "Congrats!!",
    "1473649": "Great One...",
    "1473022": "Congratulations! Thank you for your helpful sharing..!!",
    "1472467": "Rams could be one of the best teams in the NFC[.](http://ixys.com/hov/video-gi-v-jt-nfl01.html)[.](http://www.smh.com/odes/video-uc-v-bt.html)[.](http://www.smh.com/odes/video-gi-v-jt-nfl.html)[.](http://ixys.com/hov/video-gu-v-bw-Yt.html)[.](http://ixys.com/hov/video-sain-v-rav-nf.html)[.](http://www.smh.com/odes/video-si-v-en-nf.html)",
    "1471212": "Congrats!!",
    "1470106": "Hello. Congratulations!\nI'm really impressed with your solution.\nThanks for sharing.\nCould I ask something?\n\n1. Why you didn't use the bigger model like EffcientNetV2 for training study_level image?\n2. I heard 'AugMix' is good for classification(I try but failed in TPU environment). \n    Could I ask, why you didn't use it?\n\nThank you. Grandmaster!",
    "1469953": "Congrats @nguyenbadung . I've learned much from kagglers' solutions such as yours.\nI also have a question: I notice you have used Adam optim and at the same time use EMA weights. Since Adam has momentum integrated, I wonder if we really need EMA weights here. Can you elaborate ?",
    "1469696": "Congratulations! Thank you very much for sharing!",
    "1469511": "Congratulations! Great explanation too, I learned a lot from it.\nI read your code and noticed that you wrote your own weights and biases initializations. I'm wondering how it is different from the default initialization and how much it helped to improve the result. Could you give a brief explanation? Thank you!",
    "1469448": "Congrats 🎉. \n> Bimcv + ricord dataset: most of the images in bimcv and ricord duplicate with siim covid trainset and testset. To avoid data-leak when training, I didn't use them.\n\nI think once you kept your team name `bimcv pseudo is all you need`😹.",
    "1467882": "Hi, you've done such a great work!!  @nguyenbadung \nI am using your EffB7-Unet++ model that you published on your github, but unfortunately the dice loss of segmentation task is always 1 throughout several epochs (means the dice coef is always 0). Note that I don't pretrain the model first as you did (I use the pretrained encoder from pytorch_segmentation_model) but I thought it should have decreased the dice loss at least. You have any suggestion ?",
    "1467696": "Congrats, I mean you aced it.😎",
    "1466471": "Great flowchart! what did you use to make it?",
    "1466086": "Congrats anh Dũng!\nSolo win this competition is incredible!\n\nQ: Can you explain how this method works? Does that average weight multi with the confidence score?\nWeighted ensembling: 0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]",
    "1465844": "Congrats! It is interesting solution",
    "1465549": "Congrats! Great Work!",
    "1465170": "Congratulations!",
    "1465008": "Brilliant idea! Congratulate!!",
    "1464898": "Congratulations @nguyenbadung  👌",
    "1464869": "Congrats, nice effort!",
    "1464761": "Interesting, thanks for writing this up.",
    "1464562": "congrats @nguyenbadung . Is **0.635** your best private lb?",
    "1464422": "Thanks for sharing your findings. I appreciate your efforts.",
    "1464402": "Congratulations! What software did you use to facilitate annotating the training images?",
    "1464366": "@nguyenbadung Thank you so much for sharing your findings. I really loved seeing the output in GitHub and the list of awesome resources.  ",
    "1464350": "Congratulations @nguyenbadung 🎉🎉",
    "1464342": "Congratulation @nguyenbadung. You just gained one more follower now haha !",
    "1464265": "Congrats on the win @nguyenbadung , well deserved. Your detection models are too strong compared to us, which we already predicted seeing your competitions history haha.👀\nAlso, it was fun playing team name games with you :P\n",
    "1464259": "Congratulations. Truly impressive approach. A lot to learn from this",
    "1464216": "Congrats on your win!! impressive work, especially handling all this tasks as solo. \nThanks for sharing generously your code pipelines !!\n\nQ: the scores you report for 4 classes + opacity are from CV, right ? without multiplying by 4/6 and 1/6 respectively  ",
    "1464031": "Thank you for sharing the solution, code, notebooks; so many things to learn from here. Congrats mate.",
    "1463954": "Congratulations! Great work!)",
    "1463813": "Congratulations!",
    "1463727": "Congrats! I watched your position and your funny statuses throughout all competition)\nYou have done a great work! \nI realized that there is a a lot information that I should understand.\nThank you! ",
    "1463668": "Congratulations !!!  \nAnd I am not understand what segmentation used for,  could you tell me the details?",
    "1463572": "Congrats on 1st place and thank you for detailed solution, I have some questions:\n1. You use 8 TTA, which mean with each image you predict, you apply 8 times the process: (original image, center-crop 80%)->reisze->(None, horizontal flip, vertical flip, horizontal+vertical flip). Then, avg the probs for final prediction ? Is this correct ? \n2. What is the main idea behind \"Pretrain backbone of FasterRCNN FPN with chexpert + chest14\" ? And why do you only apply this to FasterRCNN FPN but not the others ? Are there anything specical ?\n3. What is Yolov5x6 ?\n4. I dont see you train an 2-class filter, so how can you handle class 'none' in image_level ?",
    "1463465": "Congrats and all respects!!! Really impressive solo gold throughout all competition.💯\nNot only the result has been perfect but also you've shared very well defined and clear solution with all kagglers. \nThis will really help a lot of people. 👍\nP.S. I saw some winners did not share even a comment in one of my previous competitions.    ",
    "1463106": "Congratulation @nguyenbadung 👍",
    "1462900": "Congratulations @nguyenbadung on such a strong solo finish. I love how your solution uses all the basics that work on Kaggle another example of stick to basics and win competitions. We tried all the above mentioned things : pretrained external data, PL, different Detection models, big image sizes, etc but it didn't work for us and hence led to discouragement to try more. The idea of using the chestxpath was there but we never tried it, using the pneumonia dataset for masks and pretraining Detection models is just brilliant. Thanks for sharing all the code,i am going to learn a lot from this ",
    "1462857": "Congratulations on your winning, what a nice and clean explanation.",
    "1462788": "Congratulation @nguyenbadung . How do you manage your experiment work-flow?",
    "1462775": "Congrats on 1st position. @nguyenbadung you were unbeatable throughout the whole competition. Mad respect 🙇🏻‍♂️",
    "1462771": "Congrats! Great work.",
    "1462686": "Nice work and congratulations!\n\n\"Pretrain encoder with chexpert + chest14 dataset ....\"\n\nI would like to know the effects of pretraining. Do you have results with and with pretraining training? I suppose do not freeze your encoder when you retrain/transfer to siim-covid dataset. in my experiments, the grad change values can be quite like, so I wonder if pretraining has any impact or not.\n\nThanks\n",
    "1462685": "very impressive, especially all of these were done by individual, respect!",
    "1479169": "Thank you @nguyenbadung for sharing your code. It is a very valuable resource to learn from",
    "1478638": "@nguyenbadung Hi, I'm just wondering, from your solution it seems that **hand-labeling** of the training dataset is allowed, and also we don't have to share it publicly?",
    "1475890": "@nguyenbadung  I forgot to ask you before, what is the story behind your last \"Team name\" a.k.a 25 minutes ? :)",
    "1472603": "Congratulations! Thank you for your helpful sharing!",
    "1471663": "An amazing job! and thank you for the wonderful detailed description and useful notebooks! 🔥",
    "1470305": "congrats. all the best and thanks for the share",
    "1462734": "Congratz @nguyenbadung and Thanks for not leaving 1st place throughout the competition to anyone",
    "1462679": "Congrats anh :D Chắc chuẩn bị trước solution rồi hay sao mà up nhanh thế..",
    "1478157": "just commenting to be a contributor",
    "1464739": "Thanks for sharing. I appreciate your efforts.\n",
    "1471733": "from mean_average_precision import MetricBuilder\nthis line from utils.py throws error. is something missing from your github code?\nthanks",
    "1467844": "congratulations on your win and thank you for the solutions !",
    "3124905": "impressive",
    "1545237": "Congrats @nguyenbadung on winning this competition. I'm trying to access your solution summary on Google drive shared link (https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing). However, it seems like the file doesn't exist. Is it possible for your to provide access to it? Thanks in advance!!",
    "1545004": "Congratulations!",
    "1544716": "Thanks for sharing. The solution summary no longer exists. Could you send another copy? Thanks :)",
    "1484589": "Congrateulation. Well done. Thanks for sharing.",
    "1481920": "Hey community, I was curious over **What did not work**: Stack multi classification models using cnn or lgbm. Can anyone help me here?",
    "1481918": "@nguyenbadung Hey, Sharing kaggle notebook who ranked best for this challenge, is another amazing things on kaggle. This is really impressive and lots of stuff to learn from your notebook: Approach, Formulating, Featuring,etc. ",
    "1480445": "This is amazing. Thankyou for sharing!",
    "1472134": "Congrats 🔥",
    "1472125": "Congrats!\n",
    "1472137": "",
    "1475302": "Thank you for sharing.",
    "1473916": "Thanks for Sharing!",
    "1472756": "Congratulations, Thank you for sharing",
    "1471198": "Congrats and thanks for sharing.",
    "1469485": "Congrats,and thanks for share",
    "1465562": "Congrats !! Thanks for sharing.",
    "1465258": "Congrats and thanks for sharing!",
    "1464183": "Thanks for sharing. Very helpful!",
    "1463526": "thanks for sharing",
    "1462921": "Thanks for sharing. Nice talk",
    "1462864": "Congratulations and thanks for sharing"
  }
}