【发布时间】:2013-05-04 10:07:15
【问题描述】:
为了训练神经网络,有时我有一个巨大的 212,243 × 2500 密集矩阵 phi,以及向量 y (212243) 和 w (2500),它们存储为 @987654327 @ 双打数组。我要计算的是
w = dot(pinv(phi), y)
# serialize w...
r = dot(w, transpose(phi))
# serialize r...
我的机器在 Ubuntu x64 上有 6 GB 的 RAM 和 16 GB 的交换空间。我开始计算两次,两次它在大约一个小时的工作后以系统(不是 python)交换错误结束。
有没有办法在我的计算机上执行这个计算?不需要用python来完成。
【问题讨论】:
-
你应该检查h5py。这是之前在stackoverflow.com/a/3315055/1258806 中提出的,它回答了一个类似的问题。
-
为我工作。在一个体面的系统上只用了几分钟:Python 3.3 64 位、numpy-MKL 1.7.1、Core i7、32 GB RAM、Windows 8。
-
和fgb说的差不多,你可以试试Pytables。它们都使用相同的底层技术(HDF 和 numpy iirc)
标签: python numpy linear-algebra