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

百度网站推广公司网站开发初级技术人员

百度网站推广公司,网站开发初级技术人员,网站的动态新闻数据库怎么做,河南建筑信息公共这篇简明扼要的文章是关于PyTorch中的tensor.view()方法的介绍与应用#xff0c;与reshape()方法的区别#xff0c;同时给出示例进行详细解释。 Tensor基础 Tensor(张量)的视图是一个新的Tensor#xff0c;它与原始Tensor共享相同的底层数据#xff0c;但具有不同的形状或… 这篇简明扼要的文章是关于PyTorch中的tensor.view()方法的介绍与应用与reshape()方法的区别同时给出示例进行详细解释。 Tensor基础 Tensor(张量)的视图是一个新的Tensor它与原始Tensor共享相同的底层数据但具有不同的形状或大小。view()方法用于在不改变其数据的情况下将张量重塑为新的形状。它返回原始张量的新视图。这意味着修改新的张量会影响原来的张量反之亦然。 语法: Tensor.view(*shape) - Tensorself想要重塑的输入Tensor。*shape一个torch.Size对象或指定输出张量所需形状的整数序列。还可以使用-1从其他维度推断一个维度的大小。 然而Tensor.view()仅适用于连续张量即存储在连续内存中的张量。如果输入张量不是连续的则需要在调用tensor .view()之前调用tensor.consecuous()。你可以通过调用tensor.is_consecuous()来检查张量是否是连续的。 代码示例 下面演示如何在实践中使用tensor.view()方法 import torchtorch.manual_seed(2023)# Create a tensor with the shape of 4x4x torch.randn(4, 4)print(x) tensor([[ 0.4305, -0.3499, 0.4749, 0.9041],[-0.7021, 1.5963, 0.4228, -0.6940],[ 0.9672, 1.5569, -2.3860, 0.6994],[-1.0325, -2.6043, 0.9337, -0.1050]])y x.view(16)print(y) tensor([ 0.4305, -0.3499, 0.4749, 0.9041, -0.7021, 1.5963, 0.4228, -0.6940,0.9672, 1.5569, -2.3860, 0.6994, -1.0325, -2.6043, 0.9337, -0.1050])zx.view(2,8)print(z) tensor([[ 0.4305, -0.3499, 0.4749, 0.9041, -0.7021, 1.5963, 0.4228, -0.6940],[ 0.9672, 1.5569, -2.3860, 0.6994, -1.0325, -2.6043, 0.9337, -0.1050]])wx.view(-1,2)print(w) tensor([[ 0.4305, -0.3499],[ 0.4749, 0.9041],[-0.7021, 1.5963],[ 0.4228, -0.6940],[ 0.9672, 1.5569],[-2.3860, 0.6994],[-1.0325, -2.6043],[ 0.9337, -0.1050]])你可以看到y和x有相同的数据但形状不同是16x1。Z和x有相同的数据但形状不同是2x8。W和x有相同的数据但形状不同是8x2。w的最后一个维度是从其他维度和x中的元素数量推断出来的。 Torch.view()和torch.reshape()的区别 torch.reshape()函数和tensor .view()方法之间的区别在于torch.reshape()可以返回原始张量的视图或副本具体取决于新形状是否与原始形状和步幅兼容而tensor .view()总是返回原始张量的视图但仅适用于连续张量。 当你想重塑一个张量而不担心它的连续性或复制行为时你应该使用torch.reshape()当你想重塑一个连续张量并确保它与原始张量共享相同的数据时你应该使用tensor. view()。 示例对比 场景 1数据连续时两者行为一致 import torch# 创建一个连续存储的张量 (2x3) x torch.tensor([[1, 2, 3], [4, 5, 6]]) print(原始形状:, x.shape) # (2, 3) print(是否连续:, x.is_contiguous()) # True# 使用 view 改变形状 (3x2) y x.view(3, 2) print(view 结果:, y) # [[1, 2], [3, 4], [5, 6]]# 使用 reshape 改变形状 (3x2) z x.reshape(3, 2) print(reshape 结果:, z) # [[1, 2], [3, 4], [5, 6]]结果一致且未复制数据is_contiguous() 返回 True。 场景 2数据不连续时view 失败reshape 成功 # 转置后数据不再连续原按行存储转置后按列逻辑访问 x_transposed x.t() print(转置后形状:, x_transposed.shape) # (3, 2) print(是否连续:, x_transposed.is_contiguous()) # False# 尝试用 view 改变形状 → 报错 try:y x_transposed.view(2, 3) except RuntimeError as e:print(view 错误:, str(e)) # invalid argument: cannot view a non-contiguous tensor as ...# 使用 reshape 成功自动复制数据 z x_transposed.reshape(2, 3) print(reshape 结果:, z) # [[1, 4], [2, 5], [3, 6]] print(是否连续:, z.is_contiguous()) # True场景 3reshape 的灵活性使用 -1 # 不确定某一维度的大小时仅用 reshape x_2d torch.randn(4, 6) # 形状 (4, 6) # 将最后一维压缩为总和剩余维度自动推断 y x_2d.reshape(-1, 3) # 结果形状: (8, 3) print(y.shape) # torch.Size([8, 3])因此我们应优先用 view当数据连续且形状明确时view 更高效零复制优先用 reshape需处理非连续数据、动态推断维度或不确定形状时。
http://www.w-s-a.com/news/667770/

相关文章:

  • 网站单页模板怎么安装中世纪变装小说wordpress
  • 手机免费建设网站制作宝安第一网站
  • 如何做x响应式网站asp网站出现乱码
  • 网站备案的幕布是什么来的游戏推广代理
  • 固始城乡建设局的网站怎么打不开了上海建设网站
  • 关于加强网站信息建设的通知3d网站开发成本
  • 网站建设实训过程报告成品网站1688入口的功能介绍
  • 网站定制开发需要什么资质国外设计灵感网站
  • 搜搜网站收录广告设计与制作模板图片
  • 江苏省建设监理协会网站汕头网站建设方案优化
  • 中国风网站配色方案正规少儿编程排名
  • 兼职做网站的软件wordpress赞的代码
  • 销售网站的技巧四博互联做的网站
  • 网站建设 图片问题小程序免费制作平台凡科网页版
  • 猪八戒网做网站怎么样网站建设 客户同程
  • 西安网站建设那家强网站建设方案 报价
  • 销售网站建设考核指标网站建设价格组成
  • 网站302跳转网站建设完成后 下一步做什么
  • 赣州制作网站企业硬件开发用什么语言
  • 新网站如何被网站收录百度排名优化软件
  • html网站简易模板国内买机票的网站建设
  • 百度关键词分析工具百度seo排名软
  • 自己怎样做免费网站ueditor 上传wordpress
  • 深圳高端网站开发网站建设公司销售技巧
  • 网站建设的优势是什么意思可拖动网站
  • 建设什么企业网站网站微信认证
  • 网站开发的平台成都有哪些好玩的
  • 上海金瑞建设集团网站怎么创建免费网页
  • 柳州做网站设计的公司制作网站软件下载
  • 湖南seo网站开发苏州网络营销及网站推广