pytorch中torch.einsum函数的详细计算过程图解

这篇具有很好参考价值的文章主要介绍了pytorch中torch.einsum函数的详细计算过程图解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一次见到 rel_h = torch.einsum(“bhwc,hkc->bhwk”, r_q, Rh)这行代码时,属实是懵了,网上找了很多博主的介绍,但都没有详细的说明函数内部的计算过程,看得我是一头雾水,只知道计算结果的维度是如何变化的,却不明白函数内部是如何计算的。话不多说,直接上示例代码

示例代码

import torch
r_q = torch.tensor([[[[1, 2, 3, 4, 5],
                      [6, 7, 8, 9, 10],
                      [11, 12, 13, 14, 15],
                      [16, 17, 18, 19, 20]],
                     [[21, 22, 23, 24, 25],
                      [26, 27, 28, 29, 30],
                      [31, 32, 33, 34, 35],
                      [36, 37, 38, 39, 40]],
                     [[41, 42, 43, 44, 45],
                      [46, 47, 48, 49, 50],
                      [51, 52, 53, 54, 55],
                      [56, 57, 58, 59, 60]]]])

Rh = torch.tensor([[[1, 2, 3, 4, 5,],
                      [7, 8, 9, 10, 11, ],
                      [13, 14, 15, 16, 17, ],
                      [19, 20, 21, 22, 23, ],
                        [1, 2, 3, 4, 5,],
                    [1, 2, 3, 4, 5,],],
                     [[25, 26, 27, 28, 29, ],
                      [31, 32, 33, 34, 35, ],
                      [37, 38, 39, 40, 41, ],
                      [43, 44, 45, 46, 47, ],
                      [1, 2, 3, 4, 5,],
                      [1, 2, 3, 4, 5,],],
                     [[49, 50, 51, 52, 53, ],
                      [55, 56, 57, 58, 59, ],
                      [61, 62, 63, 64, 65, ],
                      [67, 68, 69, 70, 71, ],
                      [1, 2, 3, 4, 5,],
                      [1, 2, 3, 4, 5,],]])

rel_h = torch.einsum("bhwc,hkc->bhwk", r_q, Rh)
print(rel_h)

输出结果:
pytorch中torch.einsum函数的详细计算过程图解,深度学习,pytorch,人工智能,python,深度学习,算法

结果解释

文字很难解释清楚,直接上图。r_q的维度为(1, 3, 4, 5), Rh的维度为(3, 6, 5),函数torch.einsum(“bhwc,hkc->bhwk”, r_q, Rh)中b=1, h=3, w=4, c=5。所以最终结果Rel_h的维度为bhwk,即(1, 3, 4, 5)。具体计算过程如下图。
这回看懂了吧。还不理解的或者讲的不对的地方,欢迎在评论区留言。创作不易,喜欢的话点个关注吧

pytorch中torch.einsum函数的详细计算过程图解,深度学习,pytorch,人工智能,python,深度学习,算法文章来源地址https://www.toymoban.com/news/detail-628588.html

到了这里,关于pytorch中torch.einsum函数的详细计算过程图解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • torch.einsum() 用法说明

    关联网站: einops官网 torch.einsum( equation , * operands ) → Tensor 对输入元素 operands 沿指定的维度、使用爱因斯坦求和符号的乘积求和。 参数: equation ( string ) – 爱因斯坦求和的下标。 operands ( List [ Tensor ] )——计算爱因斯坦求和的张量。 ​ Einsum允许计算许多常见的 多维线性

    2024年02月15日
    浏览(37)
  • 【pytorch】torch.gather()函数

    2024年02月06日
    浏览(37)
  • 深度学习之pytorch 中 torch.nn介绍

    pytorch 中必用的包就是 torch.nn,torch.nn 中按照功能分,主要如下有几类: 1. Layers(层):包括全连接层、卷积层、池化层等。 2. Activation Functions(激活函数):包括ReLU、Sigmoid、Tanh等。 3. Loss Functions(损失函数):包括交叉熵损失、均方误差等。 4. Optimizers(优化器):包括

    2024年02月22日
    浏览(42)
  • Pytorch函数——torch.gather详解

    在学习强化学习时,顺便复习复习pytorch的基本内容,遇到了 torch.gather() 函数,参考图解PyTorch中的torch.gather函数 - 知乎 (zhihu.com)进行解释。 pytorch官网对函数给出的解释: 即input是一个矩阵,根据dim的值,将index的值替换到不同的维度的 索引 ,当dim为0时,index替代i的值,成为

    2024年01月18日
    浏览(41)
  • 【Pytorch】torch.max() 函数详解

    参数: input (Tensor) – 输入张量 返回输入张量所有元素中的最大值。 输出结果: 返回张量 input 在压缩指定维度 dim 时的最大值及其下标。 输出结果: 返回两张量 input 和 other_input 在对应位置上的最大值形成的新张量。 输出结果: 详解 torch.max 函数

    2024年01月23日
    浏览(48)
  • 深入浅出PyTorch函数torch.rand与torch.randn

    torch.rand 和 torch.randn 都是PyTorch中用于生成随机张量的函数,但它们生成随机数的方式有所不同。 torch.rand 生成在区间 [0, 1) 内均匀分布的随机数。 size 参数是一个表示所需张量形状的元组或整数。可以生成任何形状的随机张量。 torch.randn 生成从标准正态分布(均值为0,标准

    2024年02月09日
    浏览(46)
  • 举例说明PyTorch函数torch.cat与torch.stack的区别

    torch.cat 用于在 给定的维度 上连接多个张量,它将这些张量沿着指定维度堆叠在一起。 torch.stack 用于在 新的维度 上堆叠多个张量,它会创建一个新的维度,并将这些张量沿着这个新维度堆叠在一起。 Example1: Example1: Example2:

    2024年02月09日
    浏览(41)
  • 深入浅出Pytorch函数——torch.max

    分类目录:《深入浅出Pytorch函数》总目录 相关文章: · 深入浅出Pytorch函数——torch.max · 深入浅出Pytorch函数——torch.maximum torch.max 有三种输入形式,根据其输入形式及参数的不同有下列三种返回形式: torch.max(input) :返回输入张量所有元素的最大值。 torch.max(input, dim, keep

    2024年02月15日
    浏览(52)
  • 深入浅出Pytorch函数——torch.tensor

    分类目录:《深入浅出Pytorch函数》总目录 相关文章: · 深入浅出TensorFlow2函数——tf.constant · 深入浅出Pytorch函数——torch.tensor · 深入浅出Pytorch函数——torch.as_tensor · 深入浅出Pytorch函数——torch.Tensor · 深入浅出PaddlePaddle函数——paddle.to_tensor 基于 data 构建一个没有梯度历史

    2024年02月04日
    浏览(106)
  • 深入浅出Pytorch函数——torch.exp

    分类目录:《深入浅出Pytorch函数》总目录 相关文章: · 深入浅出TensorFlow2函数——tf.exp · 深入浅出TensorFlow2函数——tf.math.exp · 深入浅出Pytorch函数——torch.exp · 深入浅出PaddlePaddle函数——paddle.exp 对输入 input 逐元素进行以自然数 e e e 为底指数运算。 语法 参数 input :[ Te

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包