报名参加了kaggle 8月的最新比赛 Airbus Ship Detection Challenge
发现有人已经开源把准确率提高到了84%
怀着“知其不可而为之“的勇气,还是把这个比赛当作了kaggle比赛的首战
第一天的工作:
提取正样本
从给定train中提取出正样本,减少训练样本,毕竟GPU不想选太好的
大概从10万张训练样本中提取了2.7万的正样本
import pandas as pd
import os
import numpy as np
import csv
import shutil
file_read = open("train_ship_segmentations.csv", "r")
reader = csv.reader(file_read)
fileHeader = ["ImageId", "EncodedPixels"] # 建立表头
file_write = open("positive_example.csv", "w")
writer = csv.writer(file_write)
writer.writerow(fileHeader)
positive_example_dic = {}
# 生成保存 positive examples 信息的 csv
for item in reader:
if reader.line_num == 1: # 忽略第一行表头
continue
else:
if item[1] != '':
writer.writerow(item)
positive_example_dic[item[0]] = item[1] # 生成保存 positive examples 图片名的字典,不用列表,因为字典查找更快
file_read.close()
print('csv done!')
# 把 postive examples 移动到一个文件夹
original_sample_path = './train'
positive_sample_path = './positive_samples'
file_set = os.listdir(original_sample_path)
count = 0 # 记录positive example个数
for i in file_set:
if i in positive_example_dic:
example = os.path.join(original_sample_path,i)
count += 1
shutil.copy(example, positive_sample_path)
print('copy positive samples successfully, there are '+ str(count)+' postive examples!')
得到一个之保存正样本信息的 csv 和保存所有正样本图片的文件夹
第二天的工作:
处理 csv 为训练格式
因为毕竟是比赛,所以接下来的博客我会设置为私密模式,待比赛结束后一齐公布,如果有兴趣的同学可以留下联系方式,我们一起探讨
比赛目标:争取能超过84.7%那堆吧,哈哈哈哈哈哈
更新一下,提交了一个demo,效果已经超过目前所有kernel上提供的效果了,怎么优化估计会略让人头疼。