深度学习好比炼丹,框架就是丹炉,网络结构及算法就是单方,而数据集则是原材料。现在世面上很多炼丹手册都是针对单一数据集进行炼丹,有了这些手册我们就能够很容易进行炼丹,但为了练好丹,我们常常收集各种公开的数据集,并构建私有数据集,此时,便会遇到如何更好的使用多个数据进行练丹的问题。
本文将使用pytorch这个丹炉,介绍如何联合读取多个原材料,而不是从新制作原材料和标签。
1、Pytorch的ConcatDataset介绍
class ConcatDataset(Dataset):
"""
Dataset to concatenate multiple datasets.
Purpose: useful to assemble different existing datasets, possibly
large-scale datasets as the concatenation operation is done in an
on-the-fly manner.
Arguments:
datasets (sequence): List of datasets to be concatenated
"""
@staticmethod
def cumsum(sequence):
r, s = [], 0
for e in sequence:
l = len(e)
r.append(l + s)
s += l
return r
def __init__(self, datasets):
super(ConcatDataset, self).__init__()
assert len(datasets) &g