赛题理解
本次新人赛是Datawhale与天池联合发起的零基础入门系列赛事第二场 —— 零基础入门CV赛事之街景字符识别。
赛题以计算机视觉中字符识别为背景,要求选手预测真实场景下的字符识别,这是一个典型的字符识别问题。通过这道赛题可以引导大家走入计算机视觉的世界,主要针对竞赛选手上手视觉赛题,提高对数据建模能力。
赛题思路
使用CNN进行定长字符分类
task1任务
- 理解赛题
- 下载数据集
代码实现数据集的加载
# 导包
import pandas as pd
import os
import requests
import zipfile
#下载赛事提供的.csv文件
links = pd.read_csv('.../mchar_data_list_0515.csv')
links # 观察 可以看到需要下载的文件的名字、大小和链接
# 新建一个文件夹用来存数据,已有就不建
dir_name = 'The Street View House Numbers Dataset'
mypath = '/home/tianchi/myspace/'
if not os.path.exists(mypath + dir_name):
os.mkdir(mypath + dir_name)
for i,link in enumerate(links['link']):
file_name = links['file'][i]
print(file_name, '\t', link)
file_name = mypath + dir_name + '/' + file_name
if not os.path.exists(file_name):
response = requests.get(link, stream=True)
with open( file_name, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
zip_list = ['mchar_train', 'mchar_test_a', 'mchar_val']
for little_zip in zip_list:
if not os.path.exists(mypath + dir_name + '/' + little_zip):
zip_file = zipfile.ZipFile(mypath + dir_name + '/' + little_zip + '.zip', 'r')
zip_file.extractall(path = mypath + dir_name )
# 然后我们就会发现,多了_MACOSX文件夹,里边的内容不可读,这是上传者的mac压缩文件时自动生成的,类似图片封面的文件,无用,删去即可
if os.path.exists(mypath + dir_name + '/' + '__MACOSX'):
shutil.rmtree(mypath + dir_name + '/' + '__MACOSX')
#在这一段代码中,我这里有提示nameerror ‘shutil’,我未解决。
至此已成功下载了所需数据集。
已完成task1。