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

网站建设吕凡科技广州网站设计开发招聘

网站建设吕凡科技,广州网站设计开发招聘,官网源码下载,代理记账公司利润大吗笔者一篇博客PyTorch 的 torch.unbind 函数详解与进阶应用#xff1a;中英双语中有一个例子如下#xff1a; # 创建一个 3x2x2 的三维张量 x torch.tensor([[[1, 2], [3, 4]],[[5, 6], [7, 8]],[[9, 10], [11, 12]]])# 第一步#xff1a;沿第 0 维分解为 3 个 2x2 张量 un…笔者一篇博客PyTorch 的 torch.unbind 函数详解与进阶应用中英双语中有一个例子如下 # 创建一个 3x2x2 的三维张量 x torch.tensor([[[1, 2], [3, 4]],[[5, 6], [7, 8]],[[9, 10], [11, 12]]])# 第一步沿第 0 维分解为 3 个 2x2 张量 unbind_result torch.unbind(x, dim0)# 第二步沿第 2 维重新堆叠 stack_result torch.stack(unbind_result, dim2) print(最终结果, stack_result) 结果 最终结果 tensor([[[ 1, 5, 9],[ 3, 7, 11]],[[ 2, 6, 10],[ 4, 8, 12]]]) 使用 torch.unbind 沿第 0 维分解。使用 torch.stack 沿第 2 维重新组合从而完成了维度转换。 张量的形状在每一步的变化如下 原始张量形状为 [3, 2, 2]。分解后得到 3 个形状为 [2, 2] 的张量。堆叠时将这些张量沿新的维度 dim2 组合最终形状变为 [2, 2, 3]。 通过这种分解和堆叠方式我们可以灵活地操作张量的维度和数据布局。 具体是怎么变的这里记录一下。 这个例子展示了如何通过 torch.unbind 和 torch.stack 动态调整张量的维度顺序。以下是对这个例子的详细解释包括每一步的操作和张量形状变化 1. 初始张量 我们先创建一个形状为 [3, 2, 2] 的张量 x x torch.tensor([[[1, 2], [3, 4]],[[5, 6], [7, 8]],[[9, 10], [11, 12]]])张量的内容 x [[[1, 2], [3, 4]], # 第一个“平面”[[5, 6], [7, 8]], # 第二个“平面”[[9, 10], [11, 12]] # 第三个“平面”]形状[3, 2, 2] 这里的含义 第一维度dim0大小为3有3个“平面”或者块。第二维度dim1大小为2每个“平面”有两行。第三维度dim2大小为2每行有两个元素。 2. 使用 torch.unbind 沿 dim0 分解 unbind_result torch.unbind(x, dim0)torch.unbind 的作用是沿着指定的维度这里是 dim0移除这一维度并返回一个元组元组中的每个元素都是输入张量在该维度上的切片。 对于我们的例子 x 沿着 dim0 分解相当于把张量按“平面”切开。原始的 3×2×2 张量被分成了 3 个形状为 [2, 2] 的子张量。 unbind_result 的内容 unbind_result (tensor([[1, 2], [3, 4]]), # 第一个平面tensor([[5, 6], [7, 8]]), # 第二个平面tensor([[9, 10], [11, 12]]) # 第三个平面 )每个切片都是一个形状为 [2, 2] 的二维张量。 这里的维度变化 原始张量形状 [3, 2, 2] → 切片形状 [2, 2]。 3. 使用 torch.stack 沿 dim2 重新组合 stack_result torch.stack(unbind_result, dim2)torch.stack 的作用是把一组张量沿着新的维度拼接起来。这里 unbind_result 是一个包含 3 个 [2, 2] 张量的元组。我们指定 dim2意思是在原始张量的最后一维第三维增加一个新的维度来进行拼接。 拼接过程 第一个子张量的每个位置与第二个、第三个子张量的对应位置对齐按列方向拼接。拼接后原来 [2, 2] 的子张量变成了 [2, 3] 的子张量。 举例说明 原始三个 [2, 2] 的张量tensor([[1, 2], [3, 4]]) tensor([[5, 6], [7, 8]]) tensor([[9, 10], [11, 12]])沿 dim2 进行拼接后[[[1, 5, 9], [3, 7, 11]], # 第一行拼接[[2, 6, 10], [4, 8, 12]] # 第二行拼接 ]最终结果 stack_result tensor([[[ 1, 5, 9], [ 3, 7, 11]],[[ 2, 6, 10], [ 4, 8, 12]] ])形状变化 原始张量 [3, 2, 2] → 分解后的切片 [2, 2] → 拼接后的结果 [2, 2, 3]。 4. 形状变化总结 操作张量内容张量形状初始张量x[3, 2, 2]使用 torch.unbind(dim0)3 个 [2, 2] 的子张量[2, 2]使用 torch.stack(dim2)拼接为一个新的张量[2, 2, 3] 5. 为什么维度顺序调整了 通过 torch.unbind 和 torch.stack 的组合实际上我们重新定义了张量的组织方式 torch.unbind 将 dim0 的维度移除分解成多个子张量。torch.stack 指定新的维度这里是 dim2将这些子张量拼接为一个新维度从而实现了维度的重新排列。 最终我们将原来的“平面”维度dim0转移到了列方向dim2实现了动态调整维度顺序的效果。 6. 总结 torch.unbind 用于移除一个维度并分解张量。torch.stack 用于沿指定的新维度拼接张量。两者结合可以灵活调整张量的维度顺序。 这个例子展示了如何从 [3, 2, 2] 变换到 [2, 2, 3]过程中分解和拼接操作相辅相成适用于需要动态调整张量维度的高级场景。 后记 2024年12月12日22点28分于上海基于GPT4o大模型生成。
http://www.hkea.cn/news/14378742/

相关文章:

  • 网站开发公司杭州网站建设有没有什么做热力图的图表网站
  • 互动网站如何做wordpress 重写分页
  • 企业网站建设需求文档修改wordpress数据库链接地址
  • 网页设计网站页面代码重庆阳光投诉平台
  • 甘肃建设厅网站官网想学图文广告哪里有教的
  • 网站建设维护专员岗位说明外贸网站推广优化
  • 网站404错误怎么解决上海seo网站优化公司
  • 做网站简单吗网站开发制作熊掌号
  • 网站推广妙招漂亮的logo设计图片
  • 长沙网站设计工作室南宁网页设计培训学校
  • 网站建设综合实训ppt模板wordpress 装修
  • 推广网站的公司网页开发流程图
  • 组织建设六个方面内容东莞seo建站优化收费
  • 镇江网站搜索优化电子商务网站建设费用
  • 网站项目建设主要内容湖南常德职业技术学校
  • 郑州做系统集成的公司网站html5个人网站源码
  • 做手机网站一般要多少钱中山市网站建设哪家好
  • dede 网站标题wordpress v4.1
  • 徐州网站建设招聘网网络建设图片
  • 网站群建设免费商城小程序源码
  • 专业网站制作公司排名衡水网站建费用
  • 怎么去跟客户谈网站建设wordpress切换 音乐
  • 南宁大型网站建设深圳设计公司最新招聘
  • seo网站是什么找人代做网站费用
  • 网站建设宣传ppt模板微网站建设定制网站建设
  • 保定网站制作网页北京网站优化体验
  • 连云港企业网站建设公司国内网站制作特点
  • 推广计划方案模板海东地区谷歌seo网络优化
  • 大连网站快速排名提升一台云服务器做多个网站
  • 英语翻译网站开发建设网站合同