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

响应式网站软件金融类网站源码

响应式网站软件,金融类网站源码,网站上的广告是怎么做的,旧版wordpress1 数组的两种内存布局方式行优先与列优先首先我们回顾一下#xff0c;矩阵数据在内存中的两种布局方式#xff1a;行优先#xff08;row-major#xff09;#xff1a;以行为优先单位#xff0c;在内存中逐行存储/读取#xff1b;对于多维#xff0c;意味着当线性扫描内…1 数组的两种内存布局方式行优先与列优先首先我们回顾一下矩阵数据在内存中的两种布局方式行优先row-major以行为优先单位在内存中逐行存储/读取对于多维意味着当线性扫描内存时第一个维度的变化最慢。列优先column-major以列为优先单位在内存中逐列存储/读取对于多维意味着当线性扫描内存时最后一个维度的变化最慢。以下面的[2, 2, 2]张量为例a [[[1, 2],[3, 4]],[[5, 6],[7, 8]]]在内存中的数据排布行优先1, 2 | 3, 4 || 5, 6 | 7, 8a[0,0] a[0,1] a[1,0] a[1,1] 列优先1, 5 | 3, 7 || 2, 6 | 4, 8a[0,0] a[1,0] a[0,1] a[1,1]谁更好选择行优先还是列优先主要取决于我们访问数组的模式。由于每次从内存中获取数据时CPU都会自动将该数据及其相邻的内存加载到缓存中希望利用引用的局部性。因此如果访问数组时是逐列访问的我们就希望同一列的数据在内存中靠得更近便于一次性加载到CPU缓存中从而避免反复加载亦即更加的“Cache-friendly”此时列优先显然是最好的选择。而对于逐行访问的情况则应该选择行优先。C和大多数DeepLearning库用的都是行优先而Fortran和matlab等一些用于科学计算的语言使用的是列优先。不要问为什么这是历史的偶然选择而已。如果要强行解释可以说Fortran是考虑到线性代数中的向量默认为列向量所以用列优先与数学符号更匹配虽然用列优先并不会加速矩阵运算比如矩阵乘法中第一个矩阵是逐行访问第二个是逐列访问不可兼得但是更能显现出科学家与众不同的装逼特性 :-) 。2 numpy 中的行优先和列优先numpy支持这两种内存布局方式默认采用行优先。可以在新建array或者进行reshape等操作时通过指定order参数来决定数据的内存布局方式。array() 新建函数原型array(object, dtypeNone, copyTrue, orderK, subokFalse, ndmin0)参数dtype: 存储单元格式有np.float32、np.bool、np.int32等。copy: 是否在内存中新建array。subok: 不用管If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array (default).ndmin: 返回的数组应该具有至少ndmin个维数不足时补充若干个大小为1的维度。np.array([[1,2,3],[4,5,6]]).shape Out[52]: (2, 3) np.array([[1,2,3],[4,5,6]], ndmin4).shape Out[53]: (1, 1, 2, 3)order: 新建的array在内存中的布局方式该参数在copyTrue时才有意义从 {‘K’, ‘A’, ‘C’, ‘F’} 中选择举个例子s [[1,2,3], [a,b,c]] # python序列采用行优先布局 # 内存中 s 1, 2, 3, a, b, ca np.array(s, orderC) # a.reshape(-1) 1, 2, 3, a, b, cb np.array(s, orderF) # b.reshape(-1) 1, a, 2, b, 3, creshape() 重整维度函数原型reshape(array, newshape, orderC) array.reshape(newshape, orderC)参数newshape: 一个描述各维度大小的序列也可以是单个int。order: 从 {‘A’, ‘C’, ‘F’} 中选择。b reshape(a, newshape, order)相当于b np.array(a, order) # 在内存中新建一个 b 以 order 布局方式存储从 a 中读取的数据 b.shape newshape # 设定index指针的计算方式3 “lazy”的 transpose() 转置注意numpy中的转置transpose()是非常“lazy”的亦即不对内存中的数据进行重排仅仅改变读取方式。举个例子 a.shape [1,2,3] transpose_scheme [2,1,0] # 维度0与2交换位置 b np.transpose(a, axestranspose_scheme)此时 b.shape 虽然变成了 [3,2,1] 但是 b 与 a 在内存的排布是一样的 transpose()等效于在读取/写入函数函数外包了一个能改变维度顺序的函数装饰器。def change_axis_order(transpose_scheme):def get_func(func):wraps(func)def wrapper(self, axes):transposed_axes [axes[i] for i in transpose_scheme]return func(self, transposed_axes)return wrapperreturn get_func b np.transpose(a, axestranspose_scheme) 相当于b a.copy() b.__getitem__ change_axis_order(transpose_scheme)(b.__getitem__) b.__setitem__ change_axis_order(transpose_scheme)(b.__setitem__)之所以采用这种“lazy”的方式是因为重新在内存中排列数据的非常耗时的。如果一定要在内存中重新排列数据可以采用以下方法b np.zeros_like(a) b[:] np.array(a, axestranspose_scheme)
http://www.pierceye.com/news/565983/

相关文章:

  • 网站建设 教案装饰工程公司经营范围包括哪些?
  • 如何制作动漫网站模板下载地址wamp安装wordpress
  • 做一张简单的app网站多钱.net网站开发后编译
  • 网站上的菠菜游戏哪里可以做做移动网站优化软件
  • 延吉最好的网站建设公司单位建设网站需要的材料
  • 做可视化的网站宿迁 网站制作
  • 深圳如何搭建制作网站济南网站排名推广
  • 六感程序网站建设网站建设材料
  • 大气个人网站源码一般做门户网站多少钱
  • 东营网站推广排名榆林市工程造价信息网
  • 电影网站排名怎么做制作网站的步骤和方法
  • 请大学生做网站广东恒力建设工程有限公司网站
  • 辽宁建设工程造价管理网站业务外包服务公司
  • 合肥制作网站学校如何建设网站
  • 网站设计机构网站后台管理系统登录
  • 国家单位网站建设要多久网络营销推广公司获客
  • 网站开发 app全网推广代运营
  • 毕业设计做网站还是系统com域名注册量
  • 营销型网站建设的重要原则爱上链外链购买平台
  • 做视频网站怎么挣钱怎样进入公众号平台登录
  • 有域名怎么做公司网站天河网站建设集团
  • 重庆做网站建设的公司中国企业500强净利润排名
  • 乐亭中关村建站快车免费seo刷排名
  • 购物网站修改注册信息模块的分析查域名是否注册
  • 优秀的定制网站建设公司外汇跟单网站建设
  • 公益网站建设 参考文献赣州专业做网站
  • 梅州建站公司阳性几天就不传染人了
  • 网站建设的简历高端网站设计上海网站建设上海
  • 南京专业网站制作宁波妇科医院私立哪家医院好
  • 西安市建设局官方网站做词云的网站