{
  "id": 110401,
  "title": "[Boring] 131 place solution",
  "url": "/competitions/recursion-cellular-image-classification/discussion/110401",
  "author_name": "Borys Tymchenko",
  "post_date": "2019-09-27T11:20:58.108000",
  "votes": 9,
  "comment_count": 0,
  "views": 0,
  "content": "<p>Hi every one and congratulations to all the participants!\nThanks organizer for a great opportunity to learn!</p>\n\n<p>We rolled into this competition very late (6 days before the competition end) and tried to squeeze something from the pipeline we used in APTOS 2019 Blindness Detection.\n<a href=\"https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007\">https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007</a></p>\n\n<p>Actually, this performed not as bad as we expected!</p>\n\n<p><strong>Models</strong>\nWe had time to train only two models, they were:\n- 1-fold ResNet34, 512x512\n- 3-fold SEResNeXt50, 320x320</p>\n\n<p>Single ResNet34 was better than ensemble of SEResNeXt50s. Probably, due to the higher resolution.\nAs final solution, we ensembled all 4 models. </p>\n\n<p><strong>Preprocessing</strong>\nWe used 6 channel images, normalized by channel with mean and std of non-black parts. \nTo make it compatible with ImageNet pretrained model, we just added single convolution layer from 6 to 3 channels.</p>\n\n<p><strong>Augmentations</strong>\nWe used standard augmentation, not that hard. All from Albumentations library:\nCLAHE, HorizontalFlip, VerticalFlip, RandomRotate90, ShiftScaleRotate, RGBShift, RandomBrightnessContrast, Blur, Sharpen, RandomGamma.</p>\n\n<p><strong>Training</strong>\nJust usual finetuning from ImageNet.\nSGD+Nesterov+Cosine Annealing LR for 70 epochs.</p>\n\n<p>For folds, we used just random split with no stratification. \nIn hindsight, we should split by experiment...</p>\n\n<p><strong>Postprocessing</strong>\nWe used only the leak with 277 siRNA per plate, thanks <a href=\"/zaharch\">@zaharch</a> for his awesome kernel!\n<a href=\"https://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/\">https://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/</a></p>\n\n<p><strong>Hardware</strong>\nThis time we used server with a single V100 from FastGPU.net. Thanks them!</p>\n\n<p><strong>Conclusion</strong>\nOverall, I'm glad that we tried. Probably, with more time and dedication, we could achieve better results. However, it was cool to see that pipline from different competition can score that high wiht almost no understanding of the subject area and very little understanding of the competition itself.</p>\n\n<p>Happy kaggling!</p>",
  "messages": [
    {
      "id": 635315,
      "postDate": "2019-09-27T11:20:58.110Z",
      "content": "<p>Hi every one and congratulations to all the participants!\nThanks organizer for a great opportunity to learn!</p>\n\n<p>We rolled into this competition very late (6 days before the competition end) and tried to squeeze something from the pipeline we used in APTOS 2019 Blindness Detection.\n<a href=\"https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007\">https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007</a></p>\n\n<p>Actually, this performed not as bad as we expected!</p>\n\n<p><strong>Models</strong>\nWe had time to train only two models, they were:\n- 1-fold ResNet34, 512x512\n- 3-fold SEResNeXt50, 320x320</p>\n\n<p>Single ResNet34 was better than ensemble of SEResNeXt50s. Probably, due to the higher resolution.\nAs final solution, we ensembled all 4 models. </p>\n\n<p><strong>Preprocessing</strong>\nWe used 6 channel images, normalized by channel with mean and std of non-black parts. \nTo make it compatible with ImageNet pretrained model, we just added single convolution layer from 6 to 3 channels.</p>\n\n<p><strong>Augmentations</strong>\nWe used standard augmentation, not that hard. All from Albumentations library:\nCLAHE, HorizontalFlip, VerticalFlip, RandomRotate90, ShiftScaleRotate, RGBShift, RandomBrightnessContrast, Blur, Sharpen, RandomGamma.</p>\n\n<p><strong>Training</strong>\nJust usual finetuning from ImageNet.\nSGD+Nesterov+Cosine Annealing LR for 70 epochs.</p>\n\n<p>For folds, we used just random split with no stratification. \nIn hindsight, we should split by experiment...</p>\n\n<p><strong>Postprocessing</strong>\nWe used only the leak with 277 siRNA per plate, thanks <a href=\"/zaharch\">@zaharch</a> for his awesome kernel!\n<a href=\"https://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/\">https://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/</a></p>\n\n<p><strong>Hardware</strong>\nThis time we used server with a single V100 from FastGPU.net. Thanks them!</p>\n\n<p><strong>Conclusion</strong>\nOverall, I'm glad that we tried. Probably, with more time and dedication, we could achieve better results. However, it was cool to see that pipline from different competition can score that high wiht almost no understanding of the subject area and very little understanding of the competition itself.</p>\n\n<p>Happy kaggling!</p>",
      "rawMarkdown": "Hi every one and congratulations to all the participants!\nThanks organizer for a great opportunity to learn!\n\nWe rolled into this competition very late (6 days before the competition end) and tried to squeeze something from the pipeline we used in APTOS 2019 Blindness Detection.\nhttps://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007\n\nActually, this performed not as bad as we expected!\n\n**Models**\nWe had time to train only two models, they were:\n- 1-fold ResNet34, 512x512\n- 3-fold SEResNeXt50, 320x320\n\nSingle ResNet34 was better than ensemble of SEResNeXt50s. Probably, due to the higher resolution.\nAs final solution, we ensembled all 4 models. \n\n**Preprocessing**\nWe used 6 channel images, normalized by channel with mean and std of non-black parts. \nTo make it compatible with ImageNet pretrained model, we just added single convolution layer from 6 to 3 channels.\n\n**Augmentations**\nWe used standard augmentation, not that hard. All from Albumentations library:\nCLAHE, HorizontalFlip, VerticalFlip, RandomRotate90, ShiftScaleRotate, RGBShift, RandomBrightnessContrast, Blur, Sharpen, RandomGamma.\n\n**Training**\nJust usual finetuning from ImageNet.\nSGD+Nesterov+Cosine Annealing LR for 70 epochs.\n\nFor folds, we used just random split with no stratification. \nIn hindsight, we should split by experiment...\n\n**Postprocessing**\nWe used only the leak with 277 siRNA per plate, thanks @zaharch for his awesome kernel!\nhttps://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/\n\n**Hardware**\nThis time we used server with a single V100 from FastGPU.net. Thanks them!\n\n**Conclusion**\nOverall, I'm glad that we tried. Probably, with more time and dedication, we could achieve better results. However, it was cool to see that pipline from different competition can score that high wiht almost no understanding of the subject area and very little understanding of the competition itself.\n\nHappy kaggling!",
      "votes": 9
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "635315": "Hi every one and congratulations to all the participants!\nThanks organizer for a great opportunity to learn!\n\nWe rolled into this competition very late (6 days before the competition end) and tried to squeeze something from the pipeline we used in APTOS 2019 Blindness Detection.\nhttps://www.kaggle.com/c/aptos2019-blindness-detection/discussion/108007\n\nActually, this performed not as bad as we expected!\n\n**Models**\nWe had time to train only two models, they were:\n- 1-fold ResNet34, 512x512\n- 3-fold SEResNeXt50, 320x320\n\nSingle ResNet34 was better than ensemble of SEResNeXt50s. Probably, due to the higher resolution.\nAs final solution, we ensembled all 4 models. \n\n**Preprocessing**\nWe used 6 channel images, normalized by channel with mean and std of non-black parts. \nTo make it compatible with ImageNet pretrained model, we just added single convolution layer from 6 to 3 channels.\n\n**Augmentations**\nWe used standard augmentation, not that hard. All from Albumentations library:\nCLAHE, HorizontalFlip, VerticalFlip, RandomRotate90, ShiftScaleRotate, RGBShift, RandomBrightnessContrast, Blur, Sharpen, RandomGamma.\n\n**Training**\nJust usual finetuning from ImageNet.\nSGD+Nesterov+Cosine Annealing LR for 70 epochs.\n\nFor folds, we used just random split with no stratification. \nIn hindsight, we should split by experiment...\n\n**Postprocessing**\nWe used only the leak with 277 siRNA per plate, thanks @zaharch for his awesome kernel!\nhttps://www.kaggle.com/zaharch/keras-model-boosted-with-plates-leak/\n\n**Hardware**\nThis time we used server with a single V100 from FastGPU.net. Thanks them!\n\n**Conclusion**\nOverall, I'm glad that we tried. Probably, with more time and dedication, we could achieve better results. However, it was cool to see that pipline from different competition can score that high wiht almost no understanding of the subject area and very little understanding of the competition itself.\n\nHappy kaggling!"
  }
}