numpy 加速心得
生活随笔
收集整理的這篇文章主要介紹了
numpy 加速心得
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 運行效率低,這對于有些任務不太友好,特別是大量的數據處理任務,如何提高數據處理的效率,本人有幾點體會。
1、盡量使用 numpy 進行處理,比如數組不要用 list 創建,而是用 np.array創建
2、盡量使用 numpy 自帶函數進行處理,比如計算數組a的長度,用 a.shape[0],而不是 len(a)
3、盡量避免 numpy 和 Python 自帶的語法混合編程,如盡量少用 list,dict 等數據結構
4、盡量避免循環,特別是多重循環
5、如果循環不可避免,則循環形式盡可能接近 c 語言風格,比如采用 for i in range(a.shape[0],而不是 for item in a。最后加上大殺器 numba 模塊,則有時可使循環提速百倍以上。注意numba模塊只需加入有循環的模塊,所以盡可能使循環模塊封裝成一個獨立函數,此函數盡可能簡單,最簡單到只有循環模塊。
6、 numpy 自帶函數都是經過優化的,使用 numba 幾乎達不到優化效果
7、其他知名模塊如 scipy, 也都是經過優化的,使用 numba 幾乎達不到優化效果
8、最后優化會使代碼難以調試,容易出錯,所以優化是最后進行且只對程序熱點進行優化
9、多進程有時不僅不能提高效率,反而使效率減小很多倍。
總結
以上是生活随笔為你收集整理的numpy 加速心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Offline spike sorter
- 下一篇: 贝叶斯定理、显著性检验、p值关系、分类