567. Google Research - Identify Contrails to Reduce Global Warming | google-research-identify-contrails-reduce-global-warming
感谢Kaggle和Google Research主办这场比赛。
以下是我们的简要解决方案。
def train_transform():
transform = albu.Compose(
[
albu.OneOf([
albu.HorizontalFlip(p = 1.0),
albu.VerticalFlip(p = 1.0),
], p = 0.50),
albu.Rotate(limit = 180, p = 0.50),
albu.Transpose(p = 0.50),
albu.Normalize(
mean = (0.485, 0.456, 0.406),
std = (0.229, 0.224, 0.225),
max_pixel_value = 1.0
),
ToTensorV2(transpose_mask = True),
],
p = 1, is_check_shapes=False
)
return transform
self.transform = {
"train": A.Compose([
A.ShiftScaleRotate(scale_limit=0.20, rotate_limit=0, shift_limit=0.1, p=0.25, border_mode=cv2.BORDER_CONSTANT, value=0),
A.GridDistortion(p=0.25),
A.HorizontalFlip(p=0.25),
A.VerticalFlip(p=0.25),
A.Resize(*CFG.img_size),
A.RandomCrop(*CFG.crop_size),
A.Normalize(mean=CFG.pp_params["mean"],std=CFG.pp_params["std"]),
A.pytorch.transforms.ToTensorV2(transpose_mask=True)
], p=1.0),
}
self.dup_ids = self.df.dup_id.unique()
def __getitem__(self, idx):
dup_idx = self.dup_ids[idx]
rows = self.df[self.df.dup_id == dup_idx]
…
学习率调度: 所有模型使用余弦退火调度器,热身比例为0.02或0.03
如果调整阈值,我们本可以进入奖金区。截止提交后测试发现,0.45的阈值在私有排行榜上达到0.713x,在公共排行榜上达到0.712x,但我们最终选择了0.5的阈值。
非常感谢我的杰出团队成员: @ragnar123、 @optimo 和 @kunihikofurugori 🙏