简体   繁体   English

h5py - 像 numpy.reshape() 一样重塑数据集

[英]h5py - reshape dataset like numpy.reshape()

I want to reshape my h5py dataset like I can do with numpy.reshape() .我想像使用numpy.reshape()那样重塑我的 h5py 数据集 The following Code is only working if I use numpy.array() at the beginning of the code.以下代码仅在我在代码开头使用numpy.array()时才有效。 But that only works with a small dataset and blows up my memory if I take a bigger one.但这仅适用于一个小数据集,如果我使用更大的数据集,我的记忆就会崩溃。

import h5py
import numpy as np

#load data
h5py_data_path = 'any\path\to\h5pyData\training.data.h5'
t_data = h5py.File(h5py_data_path,'r')
training_data = t_data['training.data']
######################################
#### Don't want to have this (blows up my memory) ####
training_data = np.array(training_data)
######################################

print('training_data    ',training_data.shape)
#out: training_data     (10203, 5, 341)

#reshape data
######################################
#### That works, but only with upper Numpy Code ####
training_data = training_data.reshape(training_data.shape[0], 1, 5, 341)
######################################

print('training_data    ',training_data.shape)
#out: training_data     (10203, 1, 5, 341)

Is there any native way in h5py to reshape that in any other working way? h5py 中是否有任何本地方式可以以任何其他工作方式重塑它?

虽然有一个很好的功能,但 H5py 文档是明确的:数据集排名(维数)在创建时是固定的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM