Comment ajouter des données à un ensemble de données spécifique dans un hdf5 fichier avec h5py

Je suis à la recherche d'une possibilité d'ajouter des données à un dataset existant à l'intérieur d'une h5-fichier à l'aide de python (h5py).

Une courte intro de mon projet: je cherche à former un CNN à l'aide de données d'imagerie médicale. En raison de l'énorme quantité de données et de l'utilisation massive de la mémoire lors de la transformation des données de nparrays, j'avais besoin de diviser la "transformation" dans quelques morceaux de données --> Charger et prétraiter les 100 premières images médicales et d'enregistrer le nparrays à hdf5 fichier --> Charger de la prochaine 100 ensembles de données et les ajouter à l'existant h5-fichier.

Maintenant, j'ai essayé de stocker les 100 premiers transformé nparrays comme suit:

import h5py
from LoadIPV import LoadIPV

X_train_data, Y_train_data, X_test_data, Y_test_data = LoadIPV()

with h5py.File('.\PreprocessedData.h5', 'w') as hf:
    hf.create_dataset("X_train", data=X_train_data, maxshape=(None, 512, 512, 9))
    hf.create_dataset("X_test", data=X_test_data, maxshape=(None, 512, 512, 9))
    hf.create_dataset("Y_train", data=Y_train_data, maxshape=(None, 512, 512, 1))
    hf.create_dataset("Y_test", data=Y_test_data, maxshape=(None, 512, 512, 1))

Comme on le voit, la transformée nparrays sont divisées en quatre différents "groupes" qui sont stockés dans les quatre hdf5 ensembles de données[X_train,X_test,Y_train,Y_test].
Le LoadIPV() fonction effectue le traitement des données d'imagerie médicale.

Mon problème est que je voudrais stocker les 100 prochaines nparrays dans le même h5-fichier dans les jeux de données existants, ce qui signifie Que je voudrais ajouter par exemple l'actuelle X_train-dataset[100,512,512,9] avec les 100 prochaines nparrays tels que X_train devient [200,512,512,9]. Le même travail pour les trois autres ensembles de données X_test, Y_train, Y_test.

Merci beaucoup pour votre aide!

InformationsquelleAutor Midas.Inc | 2017-11-02