1樓:向太陽的方向飛去
我個人是用它來進行深度學習的。用習慣了c++,對python就有排斥了。很多情況下用開源的框架(比如google的 tensorflow)會很快建立深度學習網路,適用於快速開發商業應用。
如果想深入研究或改進深度學習方法,應該自己實現並不斷的除錯。這其中要有大量的矩陣計算,debug過程會消耗很多時間,乙個高效能矩陣庫是必須的。個人感覺Eigen由於全部採用了c++11的模板,在編譯時時間會長一點(g++編譯器編譯速度本身就很慢),執行起來絕對飛快。
它也有缺點,GPU支援不很好。
2樓:Carpathia
Benchmark - Eigen
圖中可以看到Eigen和主流的MKL不相上下,實際使用中也有類似的體驗。值得注意的是Eigen的稀疏矩陣處理非常優秀,Armadillo之流無法與之相比。
檢視Libmesh才發現,其中也用到了Eigen,在Eigen頁面裡沒有提到。
LZ提到比Armadillo快了4倍,我覺得是可能的,Armadillo只是個和matlab長得像的殼子,具體計算還是呼叫Blas庫來進行運算的,在優化層次上比不上Eigen
3樓:JiahuiZhu
同志,你確定純用Eigen比MATLAB會快?我想知道你是怎麼設定的?
我用Eigen+Intel MKL在Release x64模式下也只是跟MATLAB運算速度差不多而已
Visual Studio下實現Eigen+Intel MKL的矩陣乘法
4樓:
我依稀記得OpenCV底層支援Eigen,OpenCV在機器視覺領域是王者之一,Eigen的影響力可見一斑。我在自己的專案大量使用Eigen來做數值計算,我覺得Eigen就是方便好用,速度瓶頸主要在演算法而不是底層庫。
生產環境中C 矩陣運算庫選擇方案,以及在生產環境中的表現?
麥子 Python import timeits import numpy as np A np.random.rand 1000,1000 astype np.float32 B np.random.rand 1000,1000 astype np.float32 Ret np.random.ra...
matlab python矩陣運算問題求教?
採石工 答主實現了四個等效的版本,其中 to diagonal v3 參考自其他答主的回答 和 to diagonal v4 都沒有顯式地用到迴圈語句.經簡單測試,to diagonal v2 速度較慢,其他幾個速度上沒有明顯差異 其中 to diagonal v4 的 return dense 引...
為什麼矩陣能分塊運算
單建華 由於知乎不太好貼公式,請移步我的部落格 https blog.csdn.net jhshanvip article month 2020 03 書上的證明是有點死板。其實從向量乘法和矩陣乘法的定義,用歸納法就能得出分塊運算的結論。線性代數的公理要求向量的元素構成乙個域,但是在向量和矩陣的乘法...