最近开始研究多任务学习(multi-task learning, MTL),先分享给大家:
本文主要讲述数据集的建立,HDF5Data类型用于处理多标签数据,在网络中定义为:
layer {
name: "data"
type: "HDF5Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
hdf5_data_param {
source: "list_train.txt"
batch_size: 1000
shuffle: true
}
}
HDF5Data类型数据集的格式为.h5。
list_train.txt 文件中存放训练数据集列表,list _val.txt文件同:
因为caffe中要求1个hdf5文件大小不超过2GB,所以如果数据量太大,需要生成多个hdf5文件
本人数据40M,生成的数据集800M。
matlab代码可参照:点击进入
制作train.txt,val.txt文件:
我的标签用了六个,如图:
代码如下:
代码完成任务:
1. 将整个数据集写入trainval.txt文件
2. 将trainval.txt文件中的图像乱序,生成trainval_re.txt
3. 根据trainval_re.txt生成train.txt,val.t