documentation'a göre, hdf5'te saklanan yığınlanmış bir dizi oluşturmak için create_dataset
'u kullanabilirsiniz. Örnek:
>>> import h5py
>>> f = h5py.File('test.h5', 'w')
>>> arr = f.create_dataset('mydata', (2**32,), chunks=True)
>>> arr
<HDF5 dataset "mydata": shape (4294967296,), type "<f4">
HDF5 dataset
döner Numpy-diziler dilimleme.
>>> arr[:10]
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)
>>> type(arr[:10])
numpy.array
Numpy dizisi için değerleri ayarlayabilirsiniz.
>>> arr[3:5] = 3
>>> arr[:6]
array([ 0., 0., 0., 3., 3., 0.], dtype=float32)
bu en etkili yolu ise bilmiyorum ama parçalar halinde tüm dizi adımlayabilirsiniz. Ve örneğin rasgele değerlere ayarlayarak:
>>> import numpy as np
>>> for i in range(0, arr.size, arr.chunks[0]):
arr[i: i+arr.chunks[0]] = np.random.randn(arr.chunks[0])
>>> arr[:5]
array([ 0.62833798, 0.03631227, 2.00691652, -0.16631022, 0.07727782], dtype=float32)
(http://docs.h5py.org/en/latest/high/dataset.html#chunked-storage) [hyperslabs] bir göz atın. Bu mümkündür, ancak 'parçalara' yazmalı ve hdf5 dosyasını parçalara ayırmalısınız. – Mathias711
http://docs.h5py.org/en/latest/high/dataset.html#chunked-storage –