HDF5 file created with h5py can't be opened by h5py HDF5 file created with h5py can't be opened by h5py numpy numpy

HDF5 file created with h5py can't be opened by h5py


Since we resolved the issue in the comments on my question, I'm writing the results out here to mark it as solved.

The main problem was that I forgot to close the file after I created it. There would have been two simple options, either:

import numpy as npimport h5pyf = h5py.File('myfile.hdf5','w')group = f.create_group('a_group')group.create_dataset(name='matrix', data=np.zeros((10, 10)), chunks=True, compression='gzip')f.close()

or, my favourite because the file is closed automatically:

import numpy as npimport h5pywith h5py.File('myfile.hdf5','w') as f:    group = f.create_group('a_group')    group.create_dataset(name='matrix', data=np.zeros((10, 10)), chunks=True, compression='gzip')


I was working with https://github.com/matterport/Mask_RCNN and produced the same Error:

    Traceback (most recent call last):  File "detection.py", line 42, in <module>    model.load_weights(model_path, by_name=True)  File "/home/michael/Bachelor/important/Cable-detection/Mask_RCNN-2.1/samples/cable/mrcnn/model.py", line 2131, in load_weights    f = h5py.File(filepath, mode='r')  File "/home/michael/.local/lib/python3.6/site-packages/h5py/_hl/files.py", line 271, in __init__    fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)  File "/home/michael/.local/lib/python3.6/site-packages/h5py/_hl/files.py", line 101, in make_fid    fid = h5f.open(name, flags, fapl=fapl)  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/tmp/pip-s_7obrrg-build/h5py/_objects.c:2840)  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/tmp/pip-s_7obrrg-build/h5py/_objects.c:2798)  File "h5py/h5f.pyx", line 78, in h5py.h5f.open (/tmp/pip-s_7obrrg-build/h5py/h5f.c:2117)OSError: Unable to open file (Addr overflow, addr = 800, size=8336, eoa=2144)HDF5: infinite loop closing library      D,T,F,FD,P,FD,P,FD,P,E,E,SL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL,FL

The solution above worked for me too. I interrupted the training at a random point, therefor the .hdf5 file was not closed properly and could not be opened afterward.