Python numpy大矩陣運算內(nèi)存不足如何解決
程序運行,產(chǎn)生如下結(jié)果,然后進(jìn)程終止,導(dǎo)致這一結(jié)果的原因很有可能是內(nèi)存爆炸。

當(dāng)兩個較大的 (e.g., 10000*10000 維)ndarray 做運算(加法,or 乘法)時,很容易出現(xiàn)這樣的結(jié)果.
解決辦法:
- 大多數(shù)情況下,這種大矩陣都是稀疏的。盡可能地利用稀疏計算的方式,例如稀疏矩陣,或者只計算非 0 位置的值。
- 如果都是整數(shù)運算,可以設(shè)置 dtype=int,而非 dtype=float, 可以省下不少空間。
linux 系統(tǒng)下,使用 top 命令,可以很容易地看到內(nèi)存(%MEM) 的使用情況。

# 代碼段 1, true_similarity_matrix 是 int, similarity_matrix 是 float
tmp_matrix = similarity_matrix * true_similarity_matrix # 內(nèi)存會炸掉,兩個 10000*10000 維 float array
num_correct_edge = sum(sum(tmp_matrix))
# 代碼段 2
for i in range():
for j in range():
set_true_ij.append(i,j)
num_correct_edge = 0
for i, j in set_true_ij:
num_correct_edge += similarity_matrix[i,j]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pycharm及python安裝詳細(xì)步驟及PyCharm配置整理(推薦)
這篇文章主要介紹了Pycharm及python安裝詳細(xì)步驟以及PyCharm配置整理,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
Python函數(shù)使用的相關(guān)練習(xí)題分享
這篇文章主要介紹了Python函數(shù)使用的相關(guān)練習(xí)題分享,文章基于python函數(shù)內(nèi)容展開其相關(guān)例題,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05
Tensorflow2.1 MNIST圖像分類實現(xiàn)思路分析
這篇文章主要為大家介紹了Tensorflow2.1 MNIST圖像分類實現(xiàn)思路分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Python裝飾器實現(xiàn)方法及應(yīng)用場景詳解
這篇文章主要介紹了Python裝飾器實現(xiàn)方法及應(yīng)用場景詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03
使用Python通過win32 COM打開Excel并添加Sheet的方法
今天小編就為大家分享一篇使用Python通過win32 COM打開Excel并添加Sheet的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實戰(zhàn)案例
環(huán)形圖也被稱為圓環(huán)圖,它在功能上與餅圖相同,只是中間有一個空白,并且能夠同時支持多個統(tǒng)計數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib繪制圓環(huán)圖的實戰(zhàn)案例,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

