如何在pytorch上加载预先标记的数据集

问题描述

我有一个庞大的数据集,无法存储在内存中,因此我将其预批处理了几个文件,如何使我的数据集和数据加载器类一次加载一个浴池。

  • 所有文件都具有相同的基本名称和唯一的批处理编号
  • 示例文件将称为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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...