在python中使用巨大矩阵进行矩阵运算
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中使用巨大矩阵进行矩阵运算,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1590字,纯文字阅读大概需要3分钟。
内容图文
参见英文答案 > Very large matrices using Python and NumPy 12个
有人知道如何在python中使用巨大的矩阵吗?我必须使用形状的邻接矩阵(10 ^ 6,10 ^ 6)并执行包括加法,缩放和点积的操作.使用numpy数组我有ram的问题.
解决方法:
这样的事情怎么样……
import numpy as np
# Create large arrays x and y.
# Note they are 1e4 not 1e6 b/c of memory issues creating random numpy matrices (CookieOfFortune)
# However, the same principles apply to larger arrays
x = np.random.randn(10000, 10000)
y = np.random.randn(10000, 10000)
# Create memory maps for x and y arrays
xmap = np.memmap('xfile.dat', dtype='float32', mode='w+', shape=x.shape)
ymap = np.memmap('yfile.dat', dtype='float32', mode='w+', shape=y.shape)
# Fill memory maps with data
xmap[:] = x[:]
ymap[:] = y[:]
# Create memory map for out of core dot product result
prodmap = np.memmap('prodfile.dat', dtype='float32', mode='w+', shape=x.shape)
# Due out of core dot product and write data
prodmap[:] = np.memmap.dot(xmap, ymap)
# Create memory map for out of core addition result
addmap = np.memmap('addfile.dat', dtype='float32', mode='w+', shape=x.shape)
# Due out of core addition and write data
addmap[:] = xmap + ymap
# Create memory map for out of core scaling result
scalemap = np.memmap('scalefile.dat', dtype='float32', mode='w+', shape=x.shape)
# Define scaling constant
scale = 1.3
# Do out of core scaling and write data
scalemap[:] = scale * xmap
此代码将创建包含二进制格式数组的文件xfile.dat,yfile.dat等.要在以后访问它们,您只需要执行np.memmap(filename). np.memmap的其他参数是可选的,但是被推荐(dtype,shape,ect等参数).
内容总结
以上是互联网集市为您收集整理的在python中使用巨大矩阵进行矩阵运算全部内容,希望文章能够帮你解决在python中使用巨大矩阵进行矩阵运算所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。