gpt4 book ai didi

pytorch - “conv1d” 在哪里实现?

转载 作者:行者123 更新时间:2023-12-04 17:29:59 47 4
gpt4 key购买 nike

我想看看 conv1d 模块是如何实现的
https://pytorch.org/docs/stable/_modules/torch/nn/modules/conv.html#Conv1d .所以我查看了functional.py,但仍然找不到循环和互相关计算。

然后我通过关键字'conv1d'搜索了Github,检查了conv.cpp https://github.com/pytorch/pytorch/blob/eb5d28ecefb9d78d4fff5fac099e70e5eb3fbe2e/torch/csrc/api/src/nn/modules/conv.cpp 1 但仍然无法找到计算发生的位置。

我的问题有两个。

  • “conv1d”实现的源码在哪里?
  • 一般来说,如果我想检查模块是如何实现的,最好的地方是哪里?任何指向文档的指针将不胜感激。谢谢你。
  • 最佳答案

  • 它取决于后端(GPU、CPU、分布式等),但在最有趣的 GPU 案例中,它来自 cuDNN它以二进制格式发布,因此您无法检查其源代码。 CPU MKLDNN 的情况类似。 .我不知道 PyTorch 会在哪里“处理”它自己的卷积核,但我可能错了。编辑:确实,正如下面的答案所指出的那样,我错了。
  • 不知道 PyTorch 的结构是很困难的。许多代码实际上是根据各种标记文件自动生成的,如 here 所述。 .弄清楚这一点需要大量的跳跃。例如,conv.cpp您要链接的文件uses torch::conv1d , 定义为 here并使用 at::convolution 反过来使用 at::_convolution ,它分派(dispatch)到多个变体,例如 at::cudnn_convolution . at::cudnn_convolution是,我相信,创造了here通过标记文件直接插入cuDNN实现(尽管发生这种情况时我无法确定代码中的确切点)。
  • 关于pytorch - “conv1d” 在哪里实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927358/

    47 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com