PyTorch:addmm 函数的目的

标签 pytorch

以下 PyTorch 函数 ( doc ) 的目的是什么:

torch.addmm(beta=1, mat, alpha=1, mat1, mat2, out=None)

更具体地说,是否有任何理由更喜欢这个功能而不是仅仅使用
beta * mat + alpha * (mat1 @ mat2)

最佳答案

addmm函数是方程 beta*mat + alpha*(mat1 @ mat2) 的优化版本.我运行了一些测试并为它们的执行计时。

  • beta=1, alpha=1 ,那么无论矩阵大小如何,这两个语句(addmm 和手动)的执行大致相同(addmm 只是快一点)。
  • betaalpha不是 1,则 addmm对于较小的矩阵(总元素数为 105),比手动执行快两倍。但是,如果矩阵很大(按 106 的顺序),则加速似乎可以忽略不计 ( 39ms v/s 41ms )
  • 关于PyTorch:addmm 函数的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49609226/

    相关文章:

    Python:从给定的数据集生成一个唯一的批处理

    pytorch - 为什么 Pytorch Transformer 模块中 MultiheadAttention 的输入大小是 1536?

    python - Huggingface Transformer - GPT2 从保存的检查点恢复训练

    python - 关于 Pytorch 中的奇数图像尺寸

    python - 使用 PyTorch 分布式 NCCL 连接失败

    pytorch - 为什么在 pytorch 的 F.sigmoid 中没有 inplace 标志?

    python - pytorch 中的 reshape 和 view 有什么区别?

    python - Pytorch:在 dataloader.dataset 上使用 torch.utils.random_split() 后,数据中缺少批量大小

    python - reshape 张量是否保留原始张量的特征?

    python - torch-1.1.0-cp37-cp37m-win_amd64.whl 在此平台上不受支持的滚轮