当前位置: 首页 > news >正文

手机分销网站门户网站优化怎么做

手机分销网站,门户网站优化怎么做,平面设计很难学吗,公司注册网站及流程文章目录基本原理初始化内置方法基本原理 bsr,即Block Sparse Row,bsr_array即块稀疏行矩阵,顾名思义就是将稀疏矩阵分割成一个个非0的子块,然后对这些子块进行存储。通过输入维度,可以创建一个空的bsr数组&#xff0…

文章目录

    • 基本原理
    • 初始化
    • 内置方法

基本原理

bsr,即Block Sparse Row,bsr_array即块稀疏行矩阵,顾名思义就是将稀疏矩阵分割成一个个非0的子块,然后对这些子块进行存储。通过输入维度,可以创建一个空的bsr数组,但bsr格式并不可见,需要通过toarray转为数组,才能一窥全貌。

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() # 转为数组
sys.getsizeof(bsr_arr)  # 20120

egtsizeof可查看数据占用的内存,其中bsr占用48byte,转为数组之后占据20k,这就是稀疏矩阵存在的价值。

当然,全零的数组就直接叫全零数组得了,直接存个行列数比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.databsr中存放的矩阵块;bsr.indices为这些矩阵块对应的列号数组;bsr.indptr为索引的行分割数组;这些零零碎碎加在一起也只有3005个数,和40k的tmp相比,可以说压缩效率非常高了。

通过data, indptrindices,可以将bsr复原为矩阵。首先,列号和数据是一一对应的;其次indptr对索引和数据按行分割。在本例中,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是一个稀疏数组或2×D2\times D2×D数组
  • bsr_array(S) S是另一种稀疏数组
  • bsr_array((M, N),dtype) 创建一个shape为(M,N)(M, N)(M,N)的空数组,dtype为数据类型
  • bsr_array((data, ij)) ij是坐标数组,可分解为i,j=ijdata是数据数组,设新矩阵为a,则a[i[k], j[k]] = data[k]
  • bsr_array((data, indices, indptr))

前四种方法均有参数blocksize,为块尺寸;后两种方法均有参数shape,为稀疏矩阵的维度。

从原理上来说,通过data, indices, indptr来创建的bsr数组,属于"原生"的bsr数组,其创建规则就是前文提到的复原规则。

内置方法

稀疏数组在计算上并不便捷,所以bsr_array中内置了下列函数,可以高效地完成计算。

函数expm1, log1p, sqrt, pow, sign
三角函数sin, tan, arcsin, arctan, deg2rad, rad2deg
双曲函数sinh, tanh, arcsinh, arctanh
索引getcol, getrow, nonzero, argmax, argmin, max, min
舍入ceil, floor, trunc
变换conj, conjugate, getH
统计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
http://www.yayakq.cn/news/443481/

相关文章:

  • 中国煤炭建设协会网站qc昭通做网站
  • 做公司网站的公17网站一起做网店池尾商圈
  • 朝阳区北京网站建设企业网站建设御彩云
  • 电子商城网站建设流程宝安官网网站建设比较好的
  • 使页面具有动态效果的网站建设技术是网站建设情况的报告
  • 网站做商标在那类网站开发有什么注意的
  • 可做兼职的翻译网站有哪些网站加密传输怎么做
  • 网站设计毕业设计题目桂林网红打卡景点
  • asp网站发邮件泰安房产价格最新
  • 德清网站建设西安市精神文明建设网站
  • 多用户网站管理系统小程序和app
  • 网站推广的四个阶段node.js 做网站
  • 电子商务网站系统规划报告湖南微信网站公司电话
  • 做邀请函好的网站网络营销推广方案3000字
  • 上海住房和城乡建设部网站官网青岛网站设计公司联系方式
  • 做前端常用的网站及软件下载学校部门网站的建设
  • 在小型网站建设小组莘县网站开发
  • 网站做md5脚本企业建立网站的好处
  • 怎样给网站做排名优化泰州网站优化公司
  • 谷歌外贸网站推广网站开发毕设论文
  • 国内做性视频网站有哪些技术培训机构排名前十
  • 永济网站建设温州建筑信息平台
  • 网站建设流程是什么意思购买完域名后怎么做网站
  • 烟台制作网站免费wordpress搭建
  • 海外兼职网站建设360云主机永久免费吗
  • 北京h5网站建设公司提升学历的正规平台
  • 八大处网站建设微网站方案
  • 郑州做网站那门店管理系统推荐
  • 做网站然后卖辽宁网站开发
  • 新手学做网站要花钱么百度小程序制作平台