420. Cassava Leaf Disease Classification | cassava-leaf-disease-classification
感谢 Kaggle 组织这次比赛。
我在这次比赛中学到了大量的技巧,如果没有大家慷慨分享的顶级解决方案以及我一路上幸运遇到的极具天赋的队友( @cdeotte @hanson0910 和 @zlanan ),这一切都不可能实现。感谢我那善于合作的队友们。我们一起学到了很多 💪
我们的目标是设计一个集成模型,结合顶级的 Pytorch + Tensorflow 模型,使用不同的图像尺寸、不同的 TTA(测试时增强)和多样化的模型(这在公开 LB 和私有 LB 上都效果很好)
我们第 32 名的提交方案使用了以下模型:
模型 1 -> nf-resnet50:
[0.897, 0.903, 0.899. 0.8932, 0.8946]
模型 2 -> ResNext50 (图像尺寸 512):
[0.891, 0.897, 0.892, 0.886, 0.892]
模型 3 -> 0.8913 vit. + 0.886 +0.884 +0.883 噪声 tf B4。 有意训练了三个相对低 CV 的噪声 tf B4,但居然有效,相当奇怪。
模型 4 和 5 ->
(tf_efficientnet_b4_ns + Vit-B16) 使用了 2019 年的数据,所以 CV 没有参考价值,但大约在 0.9 左右
模型 6 ->
不确定 512 图像尺寸的 efficientnet-b0 (tensorflow 模型) 的 CV 是多少,但公开 LB 是 0.895
模型 7 ->
tf_efficientnet_b4_ns_fold_0_8: cv 0.8914
tf_efficientnet_b4_ns_fold_0_5: cv 0.8932
仅使用了来自此 notebook 的 1 折 vit base: ViT - Pytorch xla (TPU) for leaf disease
vit_base_patch16_384_fold_4: cv0.89175
仅使用了来自此 notebook 的 2 折 vit large: Faster Pytorch TPU baseline for CLD(cv 0.9)
vit_large_patch16_384_fold_2: cv 0.89568
vit_large_patch16_384_fold_1: cv 0.89826
使用了以下 TTA(3 步):
def get_inference_transforms(image_size = image_size):
return Compose([
RandomResizedCrop(image_size, image_size),
Transpose(p=0.5),
HorizontalFlip(p=0.5),
VerticalFlip(p=0.5),
HueSaturationValue(hue_shift_limit=0.2, sat_shift_limit=0.2, val_shift_limit=0.2, p=0.5),
RandomBrightnessContrast(brightness_limit=(-0.1,0.1), contrast_limit=(-0.1, 0.1), p=0.5),
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225], max_pixel_value=255.0, p=1.0),
ToTensorV2(p=1.0),
], p=1.)