批量加载H5PY文件

Load H5PY File in Batches

我创建了 200 个 H5PY 文件作为神经网络的训练数据。问题是加载的文件达到了我的内存可以处理的极限。我想将每个训练文件分成两个 batches.Let 说一批有 69000 个条目,我想我的记忆中只有 34500 个,训练网络,从我的记忆中删除这些条目并加载另一个一半看起来像这样:

for n in range(1,100):
   inputdata=h5py.File("Data/IN"+str(n), "r").get("Tree")[()].astype(np.float16)
   outputdata=h5py.File("Data/OUT"+str(n), "r").get("Tree")[()].astype(np.float16)

   phi.fit(inputdata, outputdata,epochs=2,batch_size=32)

   phi.save("trainedmodel_weights")
   del inputdata
   del outputdata

h5py 中是否集成了一个函数,允许我使用此功能并且我可以循环以便调用 .fit() 函数?

我现在已经通过如下修改代码解决了我的问题:

for n in range(1,10):
  for i in range(1):  # added
    inputdata=h5py.File("Data/IN"+str(n), "r").get("Tree")[()]
    **inputdata=np.array_split(inputdata, 2,axis=0)[i]**
    inputdata=inputdata.astype(np.float32)
    outputdata=h5py.File("Data/OUT"+str(n), "r").get("Tree")[()]
    **outputdata=np.array_split(outputdata, 2,axis=0)[i]**
    outputdata=outputdata.astype(np.float32)
    phi.fit(inputdata, outputdata,epochs=2,batch_size=32)
    phi.save("trainedmodel_weights")
    del inputdata
    del outputdata