问题描述
我有一个庞大的数据集,无法存储在内存中,因此我将其预批处理了几个文件,如何使我的数据集和数据加载器类一次加载一个浴池。
- 所有文件都具有相同的基本名称和唯一的批处理编号
- 示例文件将称为o3_batch_1.hdf5或o3_batch_2.hdf5。
- 最大批号为o3_batch_102.hdf5
这是我到目前为止尝试过的:
行得通吗? length将是数据的总长度。
batchNum是文件末尾的非唯一数字。
base是文件共享的通用名称。
类数据(数据集):
# Constructor
def __init__(self,base,batchNum,length):
name = base + str(batchNum)
with h5py.File(name,"r") as f:
puzz = np.array(f.get('puzzle'))
sol = np.array(f.get('Sol'))
self.puzz = torch.from_numpy(puzz)
self.sol = torch.from_numpy(sol)
self.len = length
# Getter
def __getitem__(self,index):
return self.puzz[index],self.sol[index]
# Get length
def __len__(self):
return self.len
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)