首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变python中巨大的HDF5数组的数据类型

改变python中巨大的HDF5数组的数据类型
EN

Stack Overflow用户
提问于 2019-11-25 12:18:19
回答 1查看 409关注 0票数 0

我有4个HDF5文件,每个文件的大小约为15 in。每个都是N_i x 2048x7x7的形式,每个都是float64格式的。我想将它们合并成一个类型为float32的单一Nx2048x7x7数据集。我已经阅读了h5py文档,并且知道数据集的数据类型是不能更改的。

所以我唯一的想法就是

  1. 将所有文件转换为numpy数组。
  2. 合并数组。float32.
  3. Create
  4. 从float64转换为新的dataset.

这种方法的明显问题是,我只有32 in的RAM,无法将这些数组安装在内存中。我如何绕过这些限制呢?

EN

回答 1

Stack Overflow用户

发布于 2019-11-25 12:27:56

首先,我同意,尝试以numpy的形式加载它们,然后更改dtype以获得一些内存。

代码语言:javascript
复制
import numpy as np
import h5py

hf = h5py.File('file.h5', 'r')
n1 = np.array(hf["dataset_name"][:])

print(n1)

步骤3之后,如您所述,如果您的系统内存不够,那么如果您希望同时加载所有内容,那么就没有解决方案您将需要找到一台具有足够内存的机器来执行此任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59031682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档