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

网站建设平台排行榜虚拟主机对网站seo有哪些影响

网站建设平台排行榜,虚拟主机对网站seo有哪些影响,网站建设作业指导书,wordpress 房产中介2.1Tensor和Numpy Tensor和Numpy数组之间具有很高的相似性#xff0c;彼此之间的互操作也非常简单高效。需要注意的是#xff0c;Numpy和Tensor共享内存。由于Numpy历史悠久#xff0c;支持丰富的操作#xff0c;所以当遇到Tensor不支持的操作时#xff0c;可先转成Numpy…2.1Tensor和Numpy Tensor和Numpy数组之间具有很高的相似性彼此之间的互操作也非常简单高效。需要注意的是Numpy和Tensor共享内存。由于Numpy历史悠久支持丰富的操作所以当遇到Tensor不支持的操作时可先转成Numpy数组处理后再转回tensor其转换开销很小。 import numpy as np a np.ones([2, 3],dtypenp.float32) aarray([[1., 1., 1.],[1., 1., 1.]], dtypefloat32)b t.from_numpy(a) btensor([[1., 1., 1.],[1., 1., 1.]])b t.Tensor(a) # 也可以直接将numpy对象传入Tensor btensor([[1., 1., 1.],[1., 1., 1.]])a[0, 1]100 btensor([[ 1., 100., 1.],[ 1., 1., 1.]])c b.numpy() # a, b, c三个对象共享内存 carray([[ 1., 100., 1.],[ 1., 1., 1.]], dtypefloat32)注意 当numpy的数据类型和Tensor的类型不一样的时候数据会被复制不会共享内存。 a np.ones([2, 3]) # 注意和上面的a的区别dtype不是float32 a.dtypedtype(float64)b t.Tensor(a) # 此处进行拷贝不共享内存 b.dtypetorch.float32c t.from_numpy(a) # 注意c的类型DoubleTensor ctensor([[1., 1., 1.],[1., 1., 1.]], dtypetorch.float64)a[0, 1] 100 b # b与a不共享内存所以即使a改变了b也不变tensor([[1., 1., 1.],[1., 1., 1.]])c # c与a共享内存tensor([[ 1., 100., 1.],[ 1., 1., 1.]], dtypetorch.float64)注意 不论输入的类型是什么t.tensor都会进行数据拷贝不会共享内存 tensor t.tensor(a) tensor[0,0]0 aarray([[ 1., 100., 1.],[ 1., 1., 1.]])广播法则(broadcast)是科学运算中经常使用的一个技巧它在快速执行向量化的同时不会占用额外的内存/显存。 Numpy的广播法则定义如下 让所有输入数组都向其中shape最长的数组看齐shape中不足的部分通过在前面加1补齐两个数组要么在某一个维度的长度一致要么其中一个为1否则不能计算当输入数组的某个维度的长度为1时计算时沿此维度复制扩充成一样的形状 PyTorch当前已经支持了自动广播法则但是笔者还是建议读者通过以下两个函数的组合手动实现广播法则这样更直观更不易出错 unsqueeze或者view或者tensor[None],为数据某一维的形状补1实现法则1expand或者expand_as重复数组实现法则3该操作不会复制数组所以不会占用额外的空间。 注意repeat实现与expand相类似的功能但是repeat会把相同数据复制多份因此会占用额外的空间。 a t.ones(3, 2) b t.zeros(2, 3,1)# 自动广播法则 # 第一步a是2维,b是3维所以先在较小的a前面补1 # 即a.unsqueeze(0)a的形状变成132b的形状是231, # 第二步: a和b在第一维和第三维形状不一样其中一个为1 # 可以利用广播法则扩展两个形状都变成了232 abtensor([[[1., 1.],[1., 1.],[1., 1.]],[[1., 1.],[1., 1.],[1., 1.]]])# 手动广播法则 # 或者 a.view(1,3,2).expand(2,3,2)b.expand(2,3,2) a[None].expand(2, 3, 2) b.expand(2,3,2)tensor([[[1., 1.],[1., 1.],[1., 1.]],[[1., 1.],[1., 1.],[1., 1.]]])# expand不会占用额外空间只会在需要的时候才扩充可极大节省内存 e a.unsqueeze(0).expand(10000000000000, 3,2)2.2 内部结构 tensor的数据结构如图1-1所示。tensor分为头信息区(Tensor)和存储区(Storage)信息区主要保存着tensor的形状size、步长stride、数据类型type等信息而真正的数据则保存成连续数组。由于数据动辄成千上万因此信息区元素占用内存较少主要内存占用则取决于tensor中元素的数目也即存储区的大小。 一般来说一个tensor有着与之相对应的storage, storage是在data之上封装的接口便于使用而不同tensor的头信息一般不同但却可能使用相同的数据。下面看两个例子。 a t.arange(0, 6) a.storage()012345 [torch.storage.TypedStorage(dtypetorch.int64, devicecpu) of size 6]b a.view(2, 3) b.storage()012345 [torch.storage.TypedStorage(dtypetorch.int64, devicecpu) of size 6]# 一个对象的id值可以看作它在内存中的地址 # storage的内存地址一样即是同一个storage id(b.storage()) id(a.storage())True# a改变b也随之改变因为他们共享storage a[1] 100 btensor([[ 0, 100, 2],[ 3, 4, 5]])c a[2:] c.storage()01002345 [torch.storage.TypedStorage(dtypetorch.int64, devicecpu) of size 6]c.data_ptr(), a.data_ptr() # data_ptr返回tensor首元素的内存地址 # 可以看出相差8这是因为2*48--相差两个元素每个元素占4个字节(float)(4478820552016, 4478820552000)c[0] -100 # c[0]的内存地址对应a[2]的内存地址 atensor([ 0, 100, -100, 3, 4, 5])d t.LongTensor(c.storage()) d[0] 6666 btensor([[6666, 100, -100],[ 3, 4, 5]])# 下面个tensor共享storage id(a.storage()) id(b.storage()) id(c.storage()) id(d.storage())Truea.storage_offset(), c.storage_offset(), d.storage_offset()(0, 2, 0)e b[::2, ::2] # 隔2行/列取一个元素 id(e.storage()) id(a.storage())Trueb.stride(), e.stride()((3, 1), (6, 2))e.is_contiguous()False可见绝大多数操作并不修改tensor的数据而只是修改了tensor的头信息。这种做法更节省内存同时提升了处理速度。在使用中需要注意。 此外有些操作会导致tensor不连续这时需调用tensor.contiguous方法将它们变成连续的数据该方法会使数据复制一份不再与原来的数据共享storage。 另外读者可以思考一下之前说过的高级索引一般不共享stroage而普通索引共享storage这是为什么提示普通索引可以通过只修改tensor的offsetstride和size而不修改storage来实现。
http://www.dnsts.com.cn/news/56172.html

相关文章:

  • 网站高端定制百度网站大全旧版
  • 做网站交易wordpress 微博 插件
  • 深圳龙华网站开发做网站表示时间的控件用哪个
  • 淘宝店铺装修做代码的网站凡客诚品网站建设策划书
  • 做货代的可以在哪些网站打广告wordpress的zip和tar
  • 平度那里有做网站的郑州网站建设seo
  • 安庆市住房和建设厅网站开发者账号
  • 邯郸市网站建设主流的网站开发技术有
  • 德泰诺网站建设织梦dedecms绿色led照明公司企业网站模板 下载
  • 于都建设银行网站招聘带seo服务的网站定制
  • 甘肃省住房和城乡建设部网站首页免费空间 个人网站 google广告联盟
  • wordpress onetone站长之家的seo综合查询工具
  • 教程建设网站计算机培训短期速成班
  • 济南做html5网站建设wordpress 顶部大图
  • 河北邯郸做移动网站一个专门做标题的网站
  • 怎么判断一个网站做的好东莞门户网站建设报价表
  • 团购网站 方案无锡做网站的公司电话
  • 网站策划哪里找彩妆网站模板
  • 北京个人做网站唐山网站建设电话
  • 深圳网站设计师培训学校wordpress 自定义rss
  • 网站已经编辑好了 上线准备哪些工作一流的成都 网站建设
  • 网站建设教程 迅雷下载设计 网站访问次数
  • c 网站开发环境购物网站项目简介
  • 网站群建设意见征集网页开发背景怎么写
  • 承德网站制作与建设交换链接的其它叫法是
  • 怎样做自己的加密网站html商品展示页面
  • 网站网址前的小图标怎么做的温州网页设计公司哪家好
  • 宠物网站建设论文总结辽宁建设工程信息网保函保险服务模块
  • 商丘网站制作的流程成都哪家公司做网站比较好
  • 010-58813333 可信网站博客系统wordpress