python - 如何有效地从 h5py 数据集中随机选择数据子集
问题描述
我在 h5py 中有一个非常大的数据集,当完全加载和后续处理时,这会导致内存问题。我需要随机选择一个子集并使用它。这是在机器学习的上下文中“提升”。
dataset = h5py.File(h5_file, 'r')
train_set_x_all = dataset['train_set_x'][:]
train_set_y_all = dataset['train_set_y'][:]
dataset.close()
p = np.random.permutation(len(train_set_x_all))[:2000] # rand select 2000
train_set_x = train_set_x_all[p]
train_set_y = train_set_y_all[p]
我仍然需要以某种方式获取完整集并使用索引数组 p 对其进行切片。这对我有用,因为随后的训练只适用于较小的集合。但我想知道是否还有更好的方法让我做到这一点,甚至根本不需要将完整的数据集保存在内存中。
解决方案
推荐阅读
- c++ - QTableView 标题背景颜色交替
- android-studio - 如何访问由 FileOutputStream 创建的 txt 文件
- c++ - (int32_t) 255 << 24 gcc (C++11) 中的未定义行为吗?
- c# - C#首先检查文件是否存在,使用Find更改路径
- javascript - req.body.tweet 返回值和 undefiend
- javascript - yAxis 上的小数不显示,即使相同的代码适用于 highcharts jsfiddle
- python - plot_2d_separator 在使用 DataFrame 对象时抱怨(引发了 AttributeError)
- asp.net-mvc - 填充列表