最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Scipy稀疏矩陣bsr_array的使用

 更新時間:2023年02月21日 11:12:44   作者:微小冷  
本文主要介紹了Scipy稀疏矩陣bsr_array的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

基本原理

bsr,即Block Sparse Row,bsr_array即塊稀疏行矩陣,顧名思義就是將稀疏矩陣分割成一個個非0的子塊,然后對這些子塊進行存儲。通過輸入維度,可以創(chuàng)建一個空的bsr數(shù)組,但bsr格式并不可見,需要通過toarray轉為數(shù)組,才能一窺全貌。

from scipy.sparse import bsr_array
import numpy as np
import sys
bsr = bsr_array((100, 200), dtype=np.int8)
sys.getsizeof(bsr)      # 48
bsr_arr = bsr.toarray() # 轉為數(shù)組
sys.getsizeof(bsr_arr)  # 20120

egtsizeof可查看數(shù)據(jù)占用的內(nèi)存,其中bsr占用48byte,轉為數(shù)組之后占據(jù)20k,這就是稀疏矩陣存在的價值。

當然,全零的數(shù)組就直接叫全零數(shù)組得了,直接存?zhèn)€行列數(shù)比bsr還省事兒,接下來構造一個矩陣

from numpy.random import randint, rand
tmp = np.zeros([200,200])
for i in range(30):
? ? x, y = randint(195, size=(2))
? ? tmp[x:x+5, y:y+5]=rand(5,5)

print(tmp.size) ? ? ? ? ? ?# 40000
bsr = bsr_array(tmp, blocksize=(5,5)) ? ?
print(bsr.data.size) ? ? ? # 2850
print(bsr.indptr.size) ? ? # 41
print(bsr.indices.size) ? ?# 114
print(tmp.size)

bsr.data是bsr中存放的矩陣塊;bsr.indices為這些矩陣塊對應的列號數(shù)組;bsr.indptr為索引的行分割數(shù)組;這些零零碎碎加在一起也只有3005個數(shù),和40k的tmp相比,可以說壓縮效率非常高了。

通過data, indptr和indices,可以將bsr復原為矩陣。首先,列號和數(shù)據(jù)是一一對應的;其次indptr對索引和數(shù)據(jù)按行分割。在本例中,indptr的值為0, 2, 6, 8…,則data[0:2]存放在第0行,對應的列號為indices[0:2];data[2:6]存放在第1行,對應的列號為indices[2:6],以此類推。

初始化

bsr_array共有5種初始化方案:

  • bsr_array(D) D是一個稀疏數(shù)組或2 × D 2\times D2×D數(shù)組
  • bsr_array(S) S是另一種稀疏數(shù)組
  • bsr_array((M, N),dtype) 創(chuàng)建一個shape為( M , N ) (M, N)(M,N)的空數(shù)組,dtype為數(shù)據(jù)類型
  • bsr_array((data, ij)) ij是坐標數(shù)組,可分解為i,j=ij,data是數(shù)據(jù)數(shù)組,設新矩陣為a,則a[i[k], j[k]] = data[k]
  • bsr_array((data, indices, indptr))

前四種方法均有參數(shù)blocksize,為塊尺寸;后兩種方法均有參數(shù)shape,為稀疏矩陣的維度。

從原理上來說,通過data, indices, indptr來創(chuàng)建的bsr數(shù)組,屬于"原生"的bsr數(shù)組,其創(chuàng)建規(guī)則就是前文提到的復原規(guī)則。

內(nèi)置方法

稀疏數(shù)組在計算上并不便捷,所以bsr_array中內(nèi)置了下列函數(shù),可以高效地完成計算。

函數(shù)expm1, log1p, sqrt, pow, sign
三角函數(shù)sin, tan, arcsin, arctan, deg2rad, rad2deg
雙曲函數(shù)sinh, tanh, arcsinh, arctanh
索引getcol, getrow, nonzero, argmax, argmin, max, min
舍入ceil, floor, trunc
變換conj, conjugate, getH
統(tǒng)計count_nonzero, getnnz, mean, sum
矩陣diagonal, trace
獲取屬性get_shape, getformat
計算比較multiply, dot, maximum, minimum
轉換asformat, asfptype, astype, toarray, todense
轉換tobsr, tocoo, tocsc, tocsr, todia, todok, tolil
更改維度set_shape, reshape, resize, transpose
排序sort_indices, sorted_indices
移除元素eliminate_zeros, prune, sum_duplicates
其他copy, check_format, getmaxprint, rint, setdiag

到此這篇關于Scipy稀疏矩陣bsr_array的使用的文章就介紹到這了,更多相關Scipy稀疏矩陣bsr_array內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Pytorch中torch.repeat_interleave()函數(shù)使用及說明

    Pytorch中torch.repeat_interleave()函數(shù)使用及說明

    這篇文章主要介紹了Pytorch中torch.repeat_interleave()函數(shù)使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 對matplotlib改變colorbar位置和方向的方法詳解

    對matplotlib改變colorbar位置和方向的方法詳解

    今天小編就為大家分享一篇對matplotlib改變colorbar位置和方向的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python中的字典使用分享

    python中的字典使用分享

    Python 中的字典是Python中一個鍵值映射的數(shù)據(jù)結構,下面介紹一下如何操作字典,希望大家能夠喜歡
    2016-07-07
  • OpenCV讀取與寫入圖片的實現(xiàn)

    OpenCV讀取與寫入圖片的實現(xiàn)

    這篇文章主要介紹了OpenCV讀取與寫入圖片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Django框架中方法的訪問和查找

    Django框架中方法的訪問和查找

    這篇文章主要介紹了Django框架中方法的訪問和查找,包括各種列表和字典的查找,是Python的Django框架使用的必備技巧,需要的朋友可以參考下
    2015-07-07
  • Python selenium抓取微博內(nèi)容的示例代碼

    Python selenium抓取微博內(nèi)容的示例代碼

    本篇文章主要介紹了Python selenium抓取微博內(nèi)容的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 分享幾道你可能遇到的python面試題

    分享幾道你可能遇到的python面試題

    最近去筆試,在面試過程中遇到了幾個編程題,比較基礎。所以想著總結一下,所以下面這篇文章主要給大家分享了幾道你可能遇到的python面試題,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Python matplotlib安裝和使用的完整教程

    Python matplotlib安裝和使用的完整教程

    Python Matplotlib是一個強大的數(shù)據(jù)可視化庫,它允許用戶創(chuàng)建各種類型的靜態(tài)、動態(tài)圖表和圖形,Matplotlib基于NumPy和Pandas等科學計算庫,提供了豐富的繪圖選項,本文介紹了Python matplotlib安裝和使用的完整教程,需要的朋友可以參考下
    2024-07-07
  • Python 異步協(xié)程函數(shù)原理及實例詳解

    Python 異步協(xié)程函數(shù)原理及實例詳解

    這篇文章主要介紹了Python 異步協(xié)程函數(shù)原理及實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python異常處理知識點總結

    Python異常處理知識點總結

    在本篇文章中小編給大家分享了關于Python異常處理的相關知識點以及對應的實例內(nèi)容,需要的朋友們學習下。
    2019-02-02

最新評論

宁晋县| 德江县| 文化| 富顺县| 河池市| 恩平市| 达州市| 勐海县| 政和县| 育儿| 改则县| 曲松县| 衡阳县| 高清| 永顺县| 扶余县| 清原| 运城市| 夏津县| 定日县| 海兴县| 青龙| 玛曲县| 兴国县| 嘉黎县| 台东县| 浮梁县| 扶余县| 商洛市| 静宁县| 出国| 平利县| 南宁市| 宣城市| 芜湖市| 金秀| 伊宁市| 察哈| 淅川县| 柳河县| 通山县|