Datawhale 零基础入门CV赛事-Task1 赛事理解
2020-06-03 05:31
323 查看
Datawhale 零基础入门CV赛事-Task1 赛事理解
1 赛题理解
赛题名称:零基础入门CV之街道字符识别
赛题目标:通过这道赛题可以引导大家走入计算机视觉的世界,主要针对竞赛选手上手视觉赛题,提高对数据建模能力。
赛题任务:赛题以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符识别问题。
在本次的学习中,查看了教程后,作为一个初学者有些手足无措,配置好环境后开始对每个模块进行熟悉。例如:
定义好读取图像的Dataset:
class SVHNDataset(Dataset): def __init__(self, img_path, img_label, transform=None): self.img_path = img_path self.img_label = img_label if transform is not None: self.transform = transform else: self.transform = None def __getitem__(self, index): img = Image.open(self.img_path[index]).convert('RGB') if self.transform is not None: img = self.transform(img) # 设置最⻓长的字符⻓长度为5个 lbl = np.array(self.img_label[index], dtype=np.int) lbl = list(lbl) + (5 - len(lbl)) * [10] return img, torch.from_numpy(np.array(lbl[:5])) def __len__(self): return len(self.img_path)
定义好训练数据和验证数据的Dataset
train_path = glob.glob('../input/mchar_train/mchar_train/*.png') train_path.sort() train_json = json.load(open('../input/mchar_train.json')) train_label = [train_json[x]['label'] for x in train_json] print(len(train_path), len(train_label)) train_loader = torch.utils.data.DataLoader( SVHNDataset(train_path, train_label, transforms.Compose([ transforms.Resize((64, 128)), transforms.RandomCrop((60, 120)), transforms.ColorJitter(0.3, 0.3, 0.2), transforms.RandomRotation(10), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ])), batch_size=40, shuffle=True, num_workers=0, ) val_path = glob.glob('../input/mchar_val/mchar_val/*.png') val_path.sort() val_json = json.load(open('../input/mchar_val.json')) val_label = [val_json[x]['label'] for x in val_json] print(len(val_path), len(val_label)) val_loader = torch.utils.data.DataLoader( SVHNDataset(val_path, val_label, transforms.Compose([ transforms.Resize((60, 120)), # transforms.ColorJitter(0.3, 0.3, 0.2), # transforms.RandomRotation(5), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ])), batch_size=40, shuffle=False, num_workers=0, )
2 遇到的问题及解决
2.1 jupyter notebook 报错 500 : Internal Server Error
问题:在虚拟空间中输入jupyter notebook后,浏览器中无法打开.ipynb文件,出现报错500:Internet Server Error。
解决:在卸载jupter notebook再重装并无法解决,根据参考解决方案,判断为nbconvert和pandoc不兼容造成的,更新或安装nbconvert5.4.1及以后的版本即可,下面附上问题解决参考的链接:
链接: link.
2.2 模块缺失问题
问题:在配置环境后,运行程序发现缺少部分重要组件包 解决:使用对应的语句在该虚拟空间中安装
相关文章推荐
- Datawhale零基础入门CV赛事-task1赛题理解
- Datawhale 零基础入门CV赛事Task1 赛题理解
- 【DataWhale学习记录13-02】零基础入门CV赛事-Task01-赛题理解
- Datawhale 零基础入门CV赛事-Task1 赛题理解
- Datawhale 零基础入门CV赛事-Task4 模型训练与验证
- Datawhale 零基础入门CV赛事-Task3 字符识别模型
- Datawhale 零基础入门CV赛事-Task3 字符识别模型
- Datawhale 零基础入门CV赛事-Task4 模型训练与验证
- Datawhale 零基础入门CV赛事-Task4 模型训练与验证
- Datawhale 零基础入门CV赛事-Task3 字符识别模型
- 阿里云天池竞赛-零基础入门CV赛事-Task1 赛题理解
- 阿里天池-零基础入门CV赛事- 街景字符编码识别-赛题理解
- Datawhale 零基础入门CV赛事-Task5 模型集成
- 零基础入门CV赛事—街景字符编码识别—task1赛题理解
- 【DataWhale学习记录13-02】零基础入门CV赛事-Task04-模型训练与验证
- 【DataWhale学习记录13-02】零基础入门CV赛事-Task03-字符识别模型
- Datawhale 零基础入门CV赛事-Task2 数据读取与数据扩增
- 【DataWhale学习记录13-02】零基础入门CV赛事-Task02-数据读取与数据扩增
- Datawhale 零基础入门CV赛事-Task2 数据读取与数据扩增
- Datawhale 零基础入门CV-Task1 赛题理解