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

个人网站做支付接口网站公司用什么软件做网站

个人网站做支付接口,网站公司用什么软件做网站,微信小程序制作个人版,软件制作小程序开发在深度学习中#xff0c;张量的维度变换是很重要的操作。在pytorch中#xff0c;有四个用于维度变换的函数#xff0c;view, reshape, transpose, permute。其中view, reshape都用于改变张量的形状#xff0c;transpose, permute都用于重新排列张量的维度#xff0c;但它们…在深度学习中张量的维度变换是很重要的操作。在pytorch中有四个用于维度变换的函数view, reshape, transpose, permute。其中view, reshape都用于改变张量的形状transpose, permute都用于重新排列张量的维度但它们的功能和使用场景有所不同下面将进行详细介绍并给出测试验证代码经过全面的了解我们才能知道如何正确的使用这四个函数。 这里写目录标题 1. torch.Tensor.view2. torch.reshape3. torch.transpose4. torch.permute5. torch.transpose与torch.permute的性质与原理 1. torch.Tensor.view 文档Doc view 方法返回一个新的张量具有与原始张量相同的数据但改变了形状。所以view返回的是原始数据的一个新尺寸的视图这也就是为什么叫做view。import torch # 创建一个2x6的张量 x torch.tensor([[1, 2, 3, 4, 5, 6],[7, 8, 9, 10, 11, 12]]) # 将其调整为3x4的形状 y x.view(3, 4) print(x shape: , x.shape) print(y shape: , y.shape) # 判断新旧张量是否数据是相同的 print(x.data_ptr() y.data_ptr())输出x shape: torch.Size([2, 6]) y shape: torch.Size([3, 4]) Trueview 要求原始张量是连续的即在内存中是按顺序存储的否则会抛出错误。import torch # 创建一个2x6的张量 x torch.tensor([[1, 2, 3, 4, 5, 6],[7, 8, 9, 10, 11, 12]]) # 将向量转置此时x不再是连续的 x x.T # 在不连续的张量上进行view将会报错 y x.view(3, 4)报错输出RuntimeError: view size is not compatible with input tensors size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.如果张量不是连续的可以使用 contiguous 方法先将其转换为连续的。 2. torch.reshape 文档Doc reshape不要求原始张量是连续的如果原始张量是连续的那么实现的功能和view一样如果原始张量不是连续的那么reshape就是tensor.contigous().view()也就是会重新开辟一块内存空间拷贝原始张量使其连续在连续张量上view 和 reshape 性能相同。在非连续张量上reshape 可能会稍慢一些因为它可能需要创建新的连续张量。import torch # 创建一个2x6的张量 x torch.tensor([[1, 2, 3, 4, 5, 6],[7, 8, 9, 10, 11, 12]]) # 将向量转置此时x不再是连续的 x x.T # 在不连续的张量上可以进行reshape y x.reshape(3, 4) print(x shape: , x.shape) print(y shape: , y.shape) # 但reshape返回的是新的内存中的张量 print(x.data_ptr() y.data_ptr())输出x shape: torch.Size([6, 2]) y shape: torch.Size([3, 4]) False3. torch.transpose Doc 功能仅用于交换两个维度。它接受两个维度参数分别表示要交换的维度。不改变数据不会改变数据本身只是改变数据的视图即不复制数据。生成的新张量也通常不是连续的。它只是交换两个维度的顺序不改变数据在内存中的实际存储顺序。对原始张量是不是连续的没有要求import torch # 创建一个3x4的张量 x torch.tensor([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]) print(x.is_contiguous()) # 交换第一个和第二个维度 y torch.transpose(x, 0, 1) print(y.is_contiguous()) print(x shape: , x.shape) print(y shape: , y.shape) print(x.data_ptr() y.data_ptr())输出True False x shape: torch.Size([3, 4]) y shape: torch.Size([4, 3]) True4. torch.permute Doc 可以重新排列任意数量的维度适用于复杂的维度变换。接受一个shape元组作为参数不改变数据不会改变数据本身只是改变数据的视图即不复制数据生成的新张量通常不是连续的。因为它仅改变维度顺序不改变数据在内存中的实际顺序。对原始张量是不是连续的没有要求 import torch# 创建一个3x4x5的张量x torch.randn(3, 4, 5)# 将其第一个和第二个维度交换y torch.permute(x, (1, 0, 2))print(y.is_contiguous())print(x.data_ptr() y.data_ptr())print(y.size()) # 输出torch.Size([4, 3, 5])输出False True torch.Size([4, 3, 5])5. torch.transpose与torch.permute的性质与原理 这两者的功能和各方面的性质基本是相同的只是一个只能交换两个维度一个能进行更复杂的维度排列。他们的原理是transpose 和 permute 通过改变张量的 strides步幅来重新排列维度。strides 定义了在内存中沿着每个维度移动的步长。它们不改变张量的数据只是改变了访问数据的方式。因此这些操作可以应用于任何张量无论它们是否连续。
http://www.tj-hxxt.cn/news/225927.html

相关文章:

  • 怎么给网站制作二维码聊城市住房和城乡建设局网站
  • 网站建设属于什么行业分类郑州网站建设企业名录
  • 网站建设菜鸟教程如何做新网站保留域名
  • 长沙网站优化诊断特效网站
  • 湖州医院网站建设方案青海省电话黄页
  • 北京的电商平台网站有哪些平台网站
  • 团购网站怎么做推广dw做网站链接数据库
  • 做网页代码的素材网站培训机构网站制作
  • 怎么把网站做10万ipwordpress主题制作主题选项
  • 网站建设添加视频小红书推广方法
  • 安庆哪里做网站微信表情开放平台官网
  • 重庆建筑信息工程官网深圳网站seo外包公司哪家好
  • 没有空间可以做网站吗怎么建设回收网站
  • 全屏响应式网站模板长沙网站建站
  • 外贸网站优化方案企业网站管理系统用哪个好
  • 雄安网站建设机构室内设计公司办公室图片
  • 做百度竞价什么网站好互联网门户网站模板
  • 网站源码大全免费的营销网站的优势是什么意思
  • 屏山县建设局网站做网站ui去哪儿接私活
  • 阿里云服务器怎么建网站wordpress图片多链接
  • 河北省香河县建设局网站163企业邮箱收费标准一年多少钱
  • 做网站宁波大点的网络公司中国政务服务网
  • 专业开发网站公司本溪市住房和城乡建设局网站
  • 网站建设策划书ppt为中国移动做网站的公司叫什么
  • 网站应该怎么做运维群晖 删除 wordpress
  • 北京市规划网站贵阳网站建设980包年秒搜科技Sa50
  • 还有哪些网站做产品众筹杭州网站设计公司电话
  • 我看别人做系统就直接网站下载凡科网站建站后 怎么编辑自己的代码源
  • 织梦 xml 网站地图做网站犯法了 程序员有责任吗
  • 云网站系统免费com域名申请注册