python - 在 Python 中组合 Numpy 数组特征矩阵
问题描述
我有数据38910 rows and 2 columns
。由于它是一个字符串数据,所以我使用了两种特征创建方法 A 和 B。
方法 A 给了我形状的 numpy 数组的数据:
a.shape = (38910, 17, 21)
方法 B 给了我形状的 numpy 数组的数据:
b.shape = (38910, 16, 441)
现在,为了应用卷积神经网络和其他方法,我需要结合这两个特征来制作一个 .numpy 数组shape = (38910, 17, 21, 16, 441)
。我能做到这一点的最好方法是什么,这样我就不会遇到记忆问题。
解决方案
避免内存问题的一种方法是批量处理行。假设您有一个combine_features(a, b)
结合方法 A 和方法 B 的输出的函数,以下是解决方案的大致轮廓:
a_batches = np.array_split(a, 500)
b_batches = np.array_split(b, 500)
for i, batch in enumerate(zip(a_batches, b_batches)):
a_batch, b_batch = batch
output = combine_features(a_batch, b_batch)
np.save(f"{destination_folder}/data-{i}.npy", output)
然后在训练时,您可以遍历保存的文件并一次加载一个。
推荐阅读
- jquery - 如果 css 类以特定名称开头,请执行操作
- r - R,ggplot 2条形图x轴刻度线名称消失
- javascript - 知道用户是否已经注册了 Reactjs 和 firebase-google auth
- python - GraphQL 和 Python - `No query string was present` 错误
- c++ - 使用 Mxnet C++ API 输出值
- arduino - Arduino:if else 语句,如果所有数字都在范围内,如果至少一个不在范围内?
- apache-zeppelin - 如何从同一本地计算机上的另一个笔记本运行 Apache Zeppelin 笔记本?
- assembly - MIPS 程序不工作错误:在表中找不到符号出口
- javascript - 如何防止表单在 Jquery 提交事件中被重新提交?
- php - Shopify 使用 laravel 自定义店面