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

[Pytorch]:PyTorch中张量乘法大全

在 PyTorch 中,有多种方法可以执行张量之间的乘法。这里列出了一些常见的乘法操作:

总结:

  • 逐元素乘法:*ortorch.mul()
  • 矩阵乘法@ortorch.mm()ortorch.matmul()
  • 点积torch.Tensor.dot()
  • 批量矩阵乘法torch.bmm()torch.matmul()
  • 矩阵与向量相乘torch.mv(X, w0)
  1. 逐元素乘法(Element-wise multiplication):*ortorch.mul()()`对应位置的元素相乘,输入张量形状必须相同或可广播

    import torchA = torch.tensor([[1, 2], [3, 4]])
    B = torch.tensor([[2, 3], [4, 5]])result = A * B
    print(result)
    

    输出:

    tensor([[ 2,  6],[12, 20]])
    
  2. 矩阵乘法@ortorch.mm()ortorch.matmul()两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数。

    import torchA = torch.tensor([[1, 2], [3, 4]])
    B = torch.tensor([[2, 3], [4, 5]])result = torch.matmul(A, B)
    print(result)
    

    输出:

    tensor([[10, 13],[22, 29]])
    

    或者使用 @ 运算符执行矩阵乘法:

    result = A @ B
    print(result)
    
  3. 点积(Dot product):torch.Tensor.dot()两个一维张量的点积。

    import torchA = torch.tensor([1, 2, 3])
    B = torch.tensor([4, 5, 6])result = torch.dot(A, B)
    print(result)
    

    输出:

    tensor(32)
    
  4. 批量矩阵乘法:对于具有更高维度的张量(点积),可以使用 torch.bmm()torch.matmul() 进行批量矩阵乘法。

    import torchA = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    B = torch.tensor([[[2, 3], [4, 5]], [[6, 7], [8, 9]]])result = torch.bmm(A, B)
    print(result)
    

    输出:

    tensor([[[ 10,  13],[ 22,  29]],[[ 76,  91],[112, 133]]])
    

​ 两个输入张量的 batch_size 必须相同。此外,第一个输入张量的 num_columns 必须与第二个输入张量的 num_rows 相同。换句话说,输入张量的形状应为 (batch_size, num_rows_A, num_columns_A)(batch_size, num_columns_A, num_columns_B)

  1. 矩阵与向量相乘torch.mv(X, w0)第一个参数是矩阵,第二个参数只能是一维向量,等价于X乘以w0的转置
http://www.lryc.cn/news/331160.html

相关文章:

  • 【软考】防火墙技术
  • OpenHarmony实战:Makefile方式组织编译的库移植
  • 嵌入式C语言--GPT通用定时器
  • 『Apisix系列』破局传统架构:探索新一代微服务体系下的API管理新范式与最佳实践
  • 如何在极狐GitLab 自定义 Pages 域名、SSL/TLS 证书
  • React Native 应用打包
  • 单链表就地逆置
  • MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID
  • Spring Boot的基础知识和应用
  • 【Linux】详解动静态库的制作和使用动静态库在系统中的配置步骤
  • 开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)
  • 【现代企业管理】企业组织结构和组织文化的理论与实践——以华为为例
  • 【Kotlin】Sequence简介
  • 【Java】Thread详解
  • QT TCP和UDP网络编程
  • Maven入门指南:构建与管理Java项目的利器
  • EXCEL-VB编程实现自动抓取多工作簿多工作表中的单元格数据
  • 用Vue仿了一个类似抖音的App
  • HarmonyOS 应用开发之非线性容器
  • Golang Context是什么
  • 算法基础--递推
  • 超市销售数据-python数据分析项目
  • java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类
  • java中的Arrays类的常用操作
  • 回溯算法|78.子集
  • VC++、GCC、CLANG,INT128有符号整数编译器关键字
  • 用于HUD平视显示器的控制芯片:S2D13V40
  • JSP使用模板字符串数据不能渲染的问题
  • AI音乐GPT时刻来临:Suno 快速入门手册!
  • 数字乡村发展蓝图:科技赋能农村实现全面振兴