From ae5d87d2a0c098d6aa929aa1a8ddcf0b2ced7a22 Mon Sep 17 00:00:00 2001 From: XiangqianMa Date: Sat, 5 Oct 2019 19:39:54 +0800 Subject: [PATCH 1/3] add experiments --- experiments.md | 114 ++++++++++++++++++ .../Screenshot from 2019-10-05 17-23-44.png | Bin 0 -> 23170 bytes .../Screenshot from 2019-10-05 17-24-01.png | Bin 0 -> 14797 bytes .../Screenshot from 2019-10-05 17-24-09.png | Bin 0 -> 13148 bytes .../Screenshot from 2019-10-05 17-47-24.png | Bin 0 -> 20592 bytes .../Screenshot from 2019-10-05 17-47-37.png | Bin 0 -> 12648 bytes .../Screenshot from 2019-10-05 17-47-55.png | Bin 0 -> 12152 bytes .../Screenshot from 2019-10-05 18-19-45.png | Bin 0 -> 19051 bytes .../Screenshot from 2019-10-05 18-19-54.png | Bin 0 -> 11674 bytes .../Screenshot from 2019-10-05 18-20-10.png | Bin 0 -> 13206 bytes 10 files changed, 114 insertions(+) create mode 100644 experiments.md create mode 100644 images/Screenshot from 2019-10-05 17-23-44.png create mode 100644 images/Screenshot from 2019-10-05 17-24-01.png create mode 100644 images/Screenshot from 2019-10-05 17-24-09.png create mode 100644 images/Screenshot from 2019-10-05 17-47-24.png create mode 100644 images/Screenshot from 2019-10-05 17-47-37.png create mode 100644 images/Screenshot from 2019-10-05 17-47-55.png create mode 100644 images/Screenshot from 2019-10-05 18-19-45.png create mode 100644 images/Screenshot from 2019-10-05 18-19-54.png create mode 100644 images/Screenshot from 2019-10-05 18-20-10.png diff --git a/experiments.md b/experiments.md new file mode 100644 index 0000000..aab5ba4 --- /dev/null +++ b/experiments.md @@ -0,0 +1,114 @@ +# 钢铁损伤检测试验记录 + +## 分割模型使用加权BCE+DICE损失 + +### 学习率:4e-4,Epoch: 70 + +#### 训练曲线 + +* 训练集损失曲线 + + ![训练集损失曲线](images/Screenshot from 2019-10-05 17-23-44.png) + + 如上图所示,研究曲线后发现,模型在训练前期过早收敛,后期收敛缓慢,因而认为学习率可能过大。 + +* 验证集损失曲线和dice曲线 + + ![验证集损失曲线](images/Screenshot from 2019-10-05 17-24-09.png) + + ![验证集DICE](images/Screenshot from 2019-10-05 17-24-01.png) + + 观察损失曲线和dice曲线,可以发现: + + * 学习率有点高 + * 验证集的指标仍在上升 + +#### LB + +0.89005 + +#### 改进策略 + +设备:LZD + +1. 降低学习率,1e-4 +2. 多跑几个epoch,75 + +## 只使用有掩膜的样本训练分割模型,不加载分类权重 + +### 学习率:4e-4,Epoch:60 + +#### 训练曲线 + +* 训练集损失曲线 + + ![](images/Screenshot from 2019-10-05 17-47-24.png) + + 训练前期,曲线下降过快,后期缓慢,掉入局部最小点。 + +* 验证集损失曲线和Dice曲线 + + ![](images/Screenshot from 2019-10-05 17-47-55.png) + + ![](images/Screenshot from 2019-10-05 17-47-37.png) + + 验证集曲线比较正常。 + +#### LB + +0.90092 + +#### 改进策略 + +设备:MXQ + +1. 降低学习率,1e-4 +2. 增加训练epoch,70 epoch + +## unet_se_renext50 + +### 学习率:4e-4,Epoch:60 + +#### 训练曲线 + +* 训练集损失曲线 + + ![](images/Screenshot from 2019-10-05 18-19-45.png) + + 由于batch_size比较小的原因,模型的训练损失曲线很震荡,同时也有点过早收敛。 + +* 验证集损失曲线和Dice曲线 + + ![](images/Screenshot from 2019-10-05 18-20-10.png) + + ![](images/Screenshot from 2019-10-05 18-19-54.png) + + 观察验证集的损失曲线,很容易发现发生了过拟合现象。 + +#### LB + +* TTA: 0.90268 +* w/ TTA:0.90222 + +### 改进策略 + +设备:HWP + +需要解决batch_size过小和过拟合问题。 + +* batch_size + + * 使用GN(分组归一化) + * 用MXQ的设备 + +* 过拟合 + + * 早停,45个epoch + * 权重衰减,5e-4 + +* 稍微降低学习率 + + 4e-4 -> 4e-5 + + + diff --git a/images/Screenshot from 2019-10-05 17-23-44.png b/images/Screenshot from 2019-10-05 17-23-44.png new file mode 100644 index 0000000000000000000000000000000000000000..5edbabef75374e9ce2e4dfbcd0049d78e9e9b5e6 GIT binary patch literal 23170 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�Jmx3x{y!=?AHR+!79h^@7$U(wvvMo6{ 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 F{{dWWhx7md literal 0 HcmV?d00001 diff --git a/images/Screenshot from 2019-10-05 17-24-09.png b/images/Screenshot from 2019-10-05 17-24-09.png new file mode 100644 index 0000000000000000000000000000000000000000..44ea3ee7f2d4cb707a353c1e05357c3d43e8cf0f GIT binary patch literal 13148 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 literal 0 HcmV?d00001 diff --git a/images/Screenshot from 2019-10-05 17-47-37.png b/images/Screenshot from 2019-10-05 17-47-37.png new file mode 100644 index 0000000000000000000000000000000000000000..6d74169ffdeaca32f11c86da3a2226e4addca8eb GIT binary patch literal 12648 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 Nkd;!BEE6{g{vS)UWsCp- literal 0 HcmV?d00001 diff --git a/images/Screenshot from 2019-10-05 18-19-45.png b/images/Screenshot from 2019-10-05 18-19-45.png new file mode 100644 index 0000000000000000000000000000000000000000..2c940a80565fd18dae5018b83eee5b82f99c4df0 GIT binary patch literal 19051 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 rB!wbMk1W4#E#Ke0 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%0DvS_!(O-Y}R+(*2+%6sQ)-Re}4K< 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 Viq&kT1i!2S Date: Mon, 7 Oct 2019 19:22:54 +0800 Subject: [PATCH 2/3] add crop --- config.py | 14 ++++++++---- datasets/steel_dataset.py | 46 +++++++++++++++++++++++++------------- train_classify.py | 13 ++++++++++- train_segment.py | 9 +++++--- utils/data_augmentation.py | 14 +++++++++--- 5 files changed, 70 insertions(+), 26 deletions(-) diff --git a/config.py b/config.py index 7fb9fc4..1930255 100755 --- a/config.py +++ b/config.py @@ -19,12 +19,15 @@ def get_seg_config(): hwp: 6 ''' # parser.add_argument('--image_size', type=int, default=768, help='image size') - parser.add_argument('--batch_size', type=int, default=24, help='batch size') - parser.add_argument('--epoch', type=int, default=60, help='epoch') + parser.add_argument('--batch_size', type=int, default=48, help='batch size') + parser.add_argument('--epoch', type=int, default=65, help='epoch') parser.add_argument('--augmentation_flag', type=bool, default=True, help='if true, use augmentation method in train set') parser.add_argument('--n_splits', type=int, default=5, help='n_splits_fold') parser.add_argument('--mask_only_flag', type=bool, default=False, help='if true, use masked data only.') + parser.add_argument('--crop', type=bool, default=True, help='if true, crop image to [height, width].') + parser.add_argument('--height', type=int, default=256, help='the height of cropped image') + parser.add_argument('--width', type=int, default=512, help='the width of cropped image') # model set parser.add_argument('--model_name', type=str, default='unet_resnet34', \ @@ -33,7 +36,7 @@ def get_seg_config(): # model hyper-parameters parser.add_argument('--class_num', type=int, default=4) parser.add_argument('--num_workers', type=int, default=8) - parser.add_argument('--lr', type=float, default=4e-4, help='init lr') + parser.add_argument('--lr', type=float, default=1e-4, help='init lr') parser.add_argument('--weight_decay', type=float, default=0, help='weight_decay in optimizer') # dataset @@ -67,6 +70,9 @@ def get_classify_config(): parser.add_argument('--augmentation_flag', type=bool, default=True, help='if true, use augmentation method in train set') parser.add_argument('--n_splits', type=int, default=5, help='n_splits_fold') + parser.add_argument('--crop', type=bool, default=False, help='if true, crop image to [height, width].') + parser.add_argument('--height', type=int, default=256, help='the height of cropped image') + parser.add_argument('--width', type=int, default=512, help='the width of cropped image') # model set parser.add_argument('--model_name', type=str, default='unet_resnet34', \ @@ -89,4 +95,4 @@ def get_classify_config(): if __name__ == '__main__': - config = get_seg_config() \ No newline at end of file + config = get_seg_config() diff --git a/datasets/steel_dataset.py b/datasets/steel_dataset.py index 5b453cf..6747c51 100644 --- a/datasets/steel_dataset.py +++ b/datasets/steel_dataset.py @@ -23,7 +23,7 @@ # Dataset Segmentation class SteelDataset(Dataset): - def __init__(self, df, data_folder, mean, std, phase): + def __init__(self, df, data_folder, mean, std, phase, crop=False, height=None, width=None): super(SteelDataset, self).__init__() self.df = df self.root = data_folder @@ -31,13 +31,16 @@ def __init__(self, df, data_folder, mean, std, phase): self.std = std self.phase = phase self.transforms = get_transforms + self.crop = crop + self.height = height + self.width = width self.fnames = self.df.index.tolist() def __getitem__(self, idx): image_id, mask = make_mask(idx, self.df) image_path = os.path.join(self.root, "train_images", image_id) img = cv2.imread(image_path) - img, mask = self.transforms(self.phase, img, mask, self.mean, self.std) + img, mask = self.transforms(self.phase, img, mask, self.mean, self.std, crop=self.crop, height=self.height, width=self.width) mask = mask.permute(2, 0, 1) return img, mask @@ -47,7 +50,7 @@ def __len__(self): # Dataset Classification class SteelClassDataset(Dataset): - def __init__(self, df, data_folder, mean, std, phase): + def __init__(self, df, data_folder, mean, std, phase, crop=False, height=None, width=None): super(SteelClassDataset, self).__init__() self.df = df self.root = data_folder @@ -55,13 +58,16 @@ def __init__(self, df, data_folder, mean, std, phase): self.std = std self.phase = phase self.transforms = get_transforms + self.crop = crop + self.height = height + self.width = width self.fnames = self.df.index.tolist() def __getitem__(self, idx): image_id, mask = make_mask(idx, self.df) image_path = os.path.join(self.root, "train_images", image_id) img = cv2.imread(image_path) - img, mask = self.transforms(self.phase, img, mask, self.mean, self.std) + img, mask = self.transforms(self.phase, img, mask, self.mean, self.std, crop=self.crop, height=self.height, width=self.width) mask = mask.permute(2, 0, 1) # 4x256x1600 mask = mask.view(mask.size(0), -1) mask = torch.sum(mask, dim=1) @@ -99,7 +105,7 @@ def __len__(self): return self.num_samples -def augmentation(image, mask): +def augmentation(image, mask, crop=False, height=None, width=None): """进行数据增强 Args: image: 原始图像 @@ -108,16 +114,16 @@ def augmentation(image, mask): image_aug: 增强后的图像,Image图像 mask: 增强后的掩膜,Image图像 """ - image_aug, mask_aug = data_augmentation(image, mask) + image_aug, mask_aug = data_augmentation(image, mask, crop=crop, height=height, width=width) image_aug = Image.fromarray(image_aug) return image_aug, mask_aug -def get_transforms(phase, image, mask, mean, std): +def get_transforms(phase, image, mask, mean, std, crop=False, height=None, width=None): if phase == 'train': - image, mask = augmentation(image, mask) + image, mask = augmentation(image, mask, crop=crop, height=height, width=width) to_tensor = transforms.ToTensor() normalize = transforms.Normalize(mean, std) @@ -152,7 +158,10 @@ def provider( batch_size=8, num_workers=4, n_splits=0, - mask_only=False + mask_only=False, + crop=False, + height=None, + width=None ): """返回数据加载器,用于分割模型 @@ -192,7 +201,7 @@ def provider( # 生成dataloader dataloaders = list() for df_index, (train_df, val_df) in enumerate(zip(train_dfs, val_dfs)): - train_dataset = SteelDataset(train_df, data_folder, mean, std, 'train') + train_dataset = SteelDataset(train_df, data_folder, mean, std, 'train', crop=crop, height=height, width=width) val_dataset = SteelDataset(val_df, data_folder, mean, std, 'val') if mask_only: # 只在有掩膜的样本上训练 @@ -242,6 +251,9 @@ def classify_provider( batch_size=8, num_workers=4, n_splits=0, + crop=False, + height=None, + width=False ): """返回数据加载器,用于分类模型 @@ -281,7 +293,7 @@ def classify_provider( # 生成dataloader dataloaders = list() for df_index, (train_df, val_df) in enumerate(zip(train_dfs, val_dfs)): - train_dataset = SteelClassDataset(train_df, data_folder, mean, std, 'train') + train_dataset = SteelClassDataset(train_df, data_folder, mean, std, 'train', crop=crop, height=height, width=width) val_dataset = SteelClassDataset(val_df, data_folder, mean, std, 'val') train_dataloader = DataLoader( train_dataset, @@ -303,15 +315,19 @@ def classify_provider( if __name__ == "__main__": - data_folder = "Steel_data" - df_path = "Steel_data/train.csv" + data_folder = "datasets/Steel_data" + df_path = "datasets/Steel_data/train.csv" mean = (0.485, 0.456, 0.406) std = (0.229, 0.224, 0.225) - batch_size = 8 + batch_size = 12 num_workers = 4 n_splits = 1 + mask_only = False + crop = True + height = 256 + width = 512 # 测试分割数据集 - dataloader = provider(data_folder, df_path, mean, std, batch_size, num_workers, n_splits) + dataloader = provider(data_folder, df_path, mean, std, batch_size, num_workers, n_splits, mask_only=mask_only, crop=crop, height=height, width=width) for fold_index, [train_dataloader, val_dataloader] in enumerate(dataloader): train_bar = tqdm(train_dataloader) class_color = [[255, 0, 0], [0, 255, 0], [0, 0, 255], [139, 0, 139]] diff --git a/train_classify.py b/train_classify.py index 64f60e8..e4f3b93 100755 --- a/train_classify.py +++ b/train_classify.py @@ -154,7 +154,18 @@ def validation(self, valid_loader): config = get_classify_config() mean=(0.485, 0.456, 0.406) std=(0.229, 0.224, 0.225) - dataloaders = classify_provider(config.dataset_root, os.path.join(config.dataset_root, 'train.csv'), mean, std, config.batch_size, config.num_workers, config.n_splits) + dataloaders = classify_provider( + config.dataset_root, + os.path.join(config.dataset_root, 'train.csv'), + mean, + std, + config.batch_size, + config.num_workers, + config.n_splits, + crop=config.crop, + height=config.height, + width=config.width + ) for fold_index, [train_loader, valid_loader] in enumerate(dataloaders): if fold_index != 1: continue diff --git a/train_segment.py b/train_segment.py index ec76da2..dfd7426 100644 --- a/train_segment.py +++ b/train_segment.py @@ -38,8 +38,8 @@ def __init__(self, config, fold): self.solver = Solver(self.model) # 加载损失函数 - # self.criterion = torch.nn.BCEWithLogitsLoss() - self.criterion = MultiClassesSoftBCEDiceLoss(classes_num=4, size_average=True, weight=[0.75, 0.25]) + self.criterion = torch.nn.BCEWithLogitsLoss() + # self.criterion = MultiClassesSoftBCEDiceLoss(classes_num=4, size_average=True, weight=[0.75, 0.25]) # 创建保存权重的路径 self.model_path = os.path.join(config.save_path, config.model_name) @@ -158,7 +158,10 @@ def validation(self, valid_loader): config.batch_size, config.num_workers, config.n_splits, - mask_only=config.mask_only_flag + mask_only=config.mask_only_flag, + crop=config.crop, + height=config.height, + width=config.width ) for fold_index, [train_loader, valid_loader] in enumerate(dataloaders): if fold_index != 1: diff --git a/utils/data_augmentation.py b/utils/data_augmentation.py index 0c82dac..475d316 100644 --- a/utils/data_augmentation.py +++ b/utils/data_augmentation.py @@ -10,7 +10,7 @@ RandomBrightness, RandomContrast, RandomGamma, OneOf, ToFloat, ShiftScaleRotate, GridDistortion, ElasticTransform, JpegCompression, HueSaturationValue, RGBShift, RandomBrightnessContrast, RandomContrast, Blur, MotionBlur, MedianBlur, GaussNoise,CenterCrop, - IAAAdditiveGaussianNoise,GaussNoise,Cutout,Rotate, Normalize + IAAAdditiveGaussianNoise,GaussNoise,Cutout,Rotate, Normalize, Crop, RandomCrop ) sys.path.append('.') @@ -44,7 +44,7 @@ def visualize(image, mask, original_image=None, original_mask=None): plt.show() -def data_augmentation(original_image, original_mask): +def data_augmentation(original_image, original_mask, crop=False, height=None, width=None): """进行样本和掩膜的随机增强 Args: @@ -78,6 +78,14 @@ def data_augmentation(original_image, original_mask): ], p=0.2) ]) + if crop: + # 是否进行随机裁剪 + assert height and width + crop_aug = RandomCrop(height=height, width=width, always_apply=True) + crop_sample = crop_aug(image=original_image, mask=original_mask) + original_image = crop_sample['image'] + original_mask = crop_sample['mask'] + augmented = augmentations(image=original_image, mask=original_mask) image_aug = augmented['image'] mask_aug = augmented['mask'] @@ -102,7 +110,7 @@ def data_augmentation(original_image, original_mask): image_id, mask = make_mask(index, df) image_path = os.path.join(data_folder, 'train_images', image_id) image = cv2.imread(image_path) - image_aug, mask_aug = data_augmentation(image, mask) + image_aug, mask_aug = data_augmentation(image, mask, crop=True, height=256, width=400) normalize = Normalize(mean=mean, std=std) image = normalize(image=image)['image'] image_aug = normalize(image=image_aug)['image'] From 248620669fcd0ae968532f317b12269eeb079bc6 Mon Sep 17 00:00:00 2001 From: XiangqianMa Date: Tue, 8 Oct 2019 17:09:32 +0800 Subject: [PATCH 3/3] different fold between classify and segment --- choose_thre_area.py | 5 ++-- classify_segment.py | 59 ++++++++++++++++++++++++++++++++++++++++++++ config.py | 2 +- create_submission.py | 26 ++++++++++--------- demo.py | 2 +- run.sh | 5 ++-- 6 files changed, 82 insertions(+), 17 deletions(-) diff --git a/choose_thre_area.py b/choose_thre_area.py index 246aec6..f3ec347 100644 --- a/choose_thre_area.py +++ b/choose_thre_area.py @@ -201,8 +201,9 @@ def get_model(model_name, load_path): config = get_seg_config() mean=(0.485, 0.456, 0.406) std=(0.229, 0.224, 0.225) - - dataloaders = provider(config.dataset_root, os.path.join(config.dataset_root, 'train.csv'), mean, std, config.batch_size, config.num_workers, config.n_splits) + mask_only = True + + dataloaders = provider(config.dataset_root, os.path.join(config.dataset_root, 'train.csv'), mean, std, config.batch_size, config.num_workers, config.n_splits, mask_only) results = {} # 存放权重的路径 model_path = os.path.join(config.save_path, config.model_name) diff --git a/classify_segment.py b/classify_segment.py index fe2ffd4..7195c48 100644 --- a/classify_segment.py +++ b/classify_segment.py @@ -204,6 +204,65 @@ def classify_segment_folds(self, images): return results +class Classify_Segment_Folds_Split(): + def __init__(self, model_name, classify_folds, segment_folds, model_path, class_num=4, tta_flag=False): + ''' 首先的到分类模型的集成结果,再得到分割模型的集成结果,最后将两个结果进行融合 + + :param model_name: 当前的模型名称 + :param classify_folds: 参与集成的分类模型的折序号,为list列表 + :param segment_folds: 参与集成的分割模型的折序号,为list列表 + :param model_path: 存放所有模型的路径 + :param class_num: 类别总数 + ''' + self.model_name = model_name + self.classify_folds = classify_folds + self.segment_folds = segment_folds + self.model_path = model_path + self.class_num = class_num + self.tta_flag = tta_flag + + self.classify_models, self.segment_models = list(), list() + self.get_classify_segment_models() + + def get_classify_segment_models(self): + ''' 加载所有折的分割模型和分类模型 + ''' + for fold in self.classify_folds: + self.classify_models.append(Get_Classify_Results(self.model_name, fold, self.model_path, self.class_num, tta_flag=self.tta_flag)) + for fold in self.segment_folds: + self.segment_models.append(Get_Segment_Results(self.model_name, fold, self.model_path, self.class_num, tta_flag=self.tta_flag)) + + def classify_segment_folds(self, images): + ''' 使用投票法处理所有fold一个batch的分割结果和分类结果 + + :param images: 一个batch的数据,维度为[batch, channels, height, width] + :return: results,使用投票法处理所有fold一个batch的分割结果和分类结果,维度为[batch, class_num, height, width] + ''' + classify_results = torch.zeros(images.shape[0], self.class_num) + segment_results = torch.zeros(images.shape[0], self.class_num, images.shape[2], images.shape[3]) + # 得到分类结果 + for classify_index, classify_model in enumerate(self.classify_models): + classify_result_fold = classify_model.get_classify_results(images) + classify_results += classify_result_fold.detach().cpu().squeeze().float() + classify_vote_model_num = len(self.classify_folds) + classify_vote_ticket = round(classify_vote_model_num / 2.0) + classify_results = classify_results > classify_vote_ticket + + # 得到分割结果 + for segment_index, segment_model in enumerate(self.segment_models): + segment_result_fold = segment_model.get_segment_results(images) + segment_results += segment_result_fold.detach().cpu() + segment_vote_model_num = len(self.segment_folds) + segment_vote_ticket = round(segment_vote_model_num / 2.0) + segment_results = segment_results > segment_vote_ticket + + # 将分类结果和分割结果进行融合 + for batch_index, classify_result in enumerate(classify_results): + segment_results[batch_index, 1-classify_result, ...] = 0 + + return segment_results + + class Segment_Folds(): def __init__(self, model_name, n_splits, model_path, class_num=4, tta_flag=False): ''' 使用投票法处理所有fold一个batch的分割结果 diff --git a/config.py b/config.py index 1930255..547acc8 100755 --- a/config.py +++ b/config.py @@ -19,7 +19,7 @@ def get_seg_config(): hwp: 6 ''' # parser.add_argument('--image_size', type=int, default=768, help='image size') - parser.add_argument('--batch_size', type=int, default=48, help='batch size') + parser.add_argument('--batch_size', type=int, default=4, help='batch size') parser.add_argument('--epoch', type=int, default=65, help='epoch') parser.add_argument('--augmentation_flag', type=bool, default=True, help='if true, use augmentation method in train set') diff --git a/create_submission.py b/create_submission.py index 9458e1f..9e61cea 100644 --- a/create_submission.py +++ b/create_submission.py @@ -14,7 +14,7 @@ package_path = '/kaggle/input/sources' # add unet script dataset import sys sys.path.append(package_path) -from classify_segment import Classify_Segment_Folds, Classify_Segment_Fold +from classify_segment import Classify_Segment_Folds, Classify_Segment_Fold, Classify_Segment_Folds_Split class TestDataset(Dataset): @@ -55,10 +55,11 @@ def mask2rle(img): return ' '.join(str(x) for x in runs) -def create_submission(n_splits, model_name, batch_size, num_workers, mean, std, test_data_folder, sample_submission_path, model_path, tta_flag=False): +def create_submission(classify_splits, seg_splits, model_name, batch_size, num_workers, mean, std, test_data_folder, sample_submission_path, model_path, tta_flag=False): ''' - :param n_splits: 折数,类型为list + :param classify_splits: 分类模型的折数,类型为list + :param seg_splits: 分割模型的折数,类型为list :param model_name: 当前模型的名称 :param batch_size: batch的大小 :param num_workers: 加载数据的线程 @@ -79,10 +80,12 @@ def create_submission(n_splits, model_name, batch_size, num_workers, mean, std, num_workers=num_workers, pin_memory=True ) - if len(n_splits) == 1: - classify_segment = Classify_Segment_Fold(model_name, n_splits[0], model_path, tta_flag=tta_flag).classify_segment - else: - classify_segment = Classify_Segment_Folds(model_name, n_splits, model_path, tta_flag=tta_flag).classify_segment_folds + if len(classify_splits) == 1 and len(seg_splits) == 1: + classify_segment = Classify_Segment_Fold(model_name, classify_splits[0], model_path, tta_flag=tta_flag).classify_segment + elif len(classify_splits) == len(seg_splits): + classify_segment = Classify_Segment_Folds(model_name, classify_splits, model_path, tta_flag=tta_flag).classify_segment_folds + elif len(classify_splits) != len(seg_splits): + classify_segment = Classify_Segment_Folds_Split(model_name, classify_splits, seg_splits, model_path, tta_flag=tta_flag).classify_segment_folds # start prediction predictions = [] @@ -104,11 +107,12 @@ def create_submission(n_splits, model_name, batch_size, num_workers, mean, std, # 设置超参数 model_name = 'unet_resnet34' num_workers = 12 - batch_size = 6 + batch_size = 4 mean = (0.485, 0.456, 0.406) std = (0.229, 0.224, 0.225) - n_splits = [1] # [0, 1, 2, 3, 4] - tta_flag = False + classify_splits = [1] # [0, 1, 2, 3, 4] + segment_splits = [0, 1, 2, 3, 4] + tta_flag = True if kaggle: sample_submission_path = '/kaggle/input/severstal-steel-defect-detection/sample_submission.csv' @@ -119,5 +123,5 @@ def create_submission(n_splits, model_name, batch_size, num_workers, mean, std, test_data_folder = 'datasets/Steel_data/test_images' model_path = './checkpoints/' + model_name - create_submission(n_splits, model_name, batch_size, num_workers, mean, std, test_data_folder, + create_submission(classify_splits, segment_splits, model_name, batch_size, num_workers, mean, std, test_data_folder, sample_submission_path, model_path, tta_flag=tta_flag) diff --git a/demo.py b/demo.py index 7519ac7..f821267 100644 --- a/demo.py +++ b/demo.py @@ -104,7 +104,7 @@ def pred_show(images, preds, mean, std, targets=None, flag=False, auto_flag=Fals # 是否显示真实的mask show_truemask_flag = True # 加载哪几折的模型进行测试,若list中有多个值,则使用投票法 - n_splits = [1] # [0, 1, 2, 3, 4] + n_splits = [0, 1, 2, 3, 4] # [0, 1, 2, 3, 4] # 是否只使用分割模型 use_segment_only = True # 是否使用自动显示 diff --git a/run.sh b/run.sh index cdab892..8351016 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1,4 @@ #!/bin/bash -python train_classify.py -python train_segment.py \ No newline at end of file +# python train_classify.py +python train_segment.py +python choose_thre_area.py \ No newline at end of file