PyTorch conv2d源代码在哪里?

21

我应该在哪里找到pytorch函数conv2d的源代码?

它应该在torch.nn.functional中,但如果我搜索conv2d,只会找到_add_docstr行。我在这里看过:

https://github.com/pytorch/pytorch/blob/master/torch/nn/functional.py

更新: 不是我的打字错误,我确实是指函数。 Conv2d类使用nn.functional中的conv2d函数。

在这里:

https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/conv.py

第338行:

return F.conv2d(F.pad(input, expanded_padding, mode='circular')

F是他们导入函数式编程的方式

于是我去了那里,但是我没有找到那段代码。


3
为什么会有负评? - user3435407
1
Con2d是一个类。 - prosti
9
有些人提出关闭该问题,理由是“它正在寻求有关书籍、软件库或其他外部资源的推荐。这个问题可能会导致基于个人观点的答案。” 但是,这个问题并没有在任何方面寻求建议(而是请求有关库的具体信息)。问题非常清晰,肯定不会导致基于观点的答案,所以请停止因此尝试关闭它。 - jodag
1个回答

16

这个功能性代码是用C++实现的。在版本1.13.1中,进入conv2d的C++代码的入口点位于aten/src/ATen/native/Convolution.cpp:804

如果您更普遍地对如何将函数注册到API感兴趣,那么可以查看aten/src/ATen/native/README.md。深入了解将受益于理解PyTorch的一些设计决策,例如分发器机制(请参见此处)。更一般的信息可以在PyTorch开发者wiki中找到,但请记住,这个wiki主要是贡献者使用的工具,并不像Python API文档那样完美。我认为一个好的起点是Core Frontend Onboarding页面,其中包含大多数可以帮助您理解PyTorch源代码的链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接