文章詳情頁
Python numpy大矩陣運算內(nèi)存不足如何解決
瀏覽:2日期:2022-07-05 08:08:20
程序運行,產(chǎn)生如下結果,然后進程終止,導致這一結果的原因很有可能是內(nèi)存爆炸。
當兩個較大的 (e.g., 10000*10000 維)ndarray 做運算(加法,or 乘法)時,很容易出現(xiàn)這樣的結果.解決辦法:
大多數(shù)情況下,這種大矩陣都是稀疏的。盡可能地利用稀疏計算的方式,例如稀疏矩陣,或者只計算非 0 位置的值。 如果都是整數(shù)運算,可以設置 dtype=int,而非 dtype=float, 可以省下不少空間。linux 系統(tǒng)下,使用 top 命令,可以很容易地看到內(nèi)存(%MEM) 的使用情況。
# 代碼段 1, true_similarity_matrix 是 int, similarity_matrix 是 floattmp_matrix = similarity_matrix * true_similarity_matrix # 內(nèi)存會炸掉,兩個 10000*10000 維 float arraynum_correct_edge = sum(sum(tmp_matrix))# 代碼段 2for i in range(): for j in range(): set_true_ij.append(i,j)num_correct_edge = 0for i, j in set_true_ij: num_correct_edge += similarity_matrix[i,j]
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
上一條:python基于pygame實現(xiàn)飛機大作戰(zhàn)小游戲下一條:Python web框架(django,flask)實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
相關文章:
1. PHP正則表達式函數(shù)preg_replace用法實例分析2. 一個 2 年 Android 開發(fā)者的 18 條忠告3. vue使用moment如何將時間戳轉為標準日期時間格式4. js select支持手動輸入功能實現(xiàn)代碼5. Android 實現(xiàn)徹底退出自己APP 并殺掉所有相關的進程6. Android studio 解決logcat無過濾工具欄的操作7. 什么是Python變量作用域8. vue-drag-chart 拖動/縮放圖表組件的實例代碼9. Spring的異常重試框架Spring Retry簡單配置操作10. Vue實現(xiàn)仿iPhone懸浮球的示例代碼
排行榜
