numpy.correlate的底层python代码是什么?我正在尝试理解交叉相关的逻辑。底层的python代码将会很有帮助。
发布于 2018-04-03 07:03:57
所有的代码都在你系统的某个地方,你只需要找到它在哪里。
如果您使用的是ipython
,那么help命令(numpy.correlate?
)将包含文件路径(在倒数第二行)。在我的系统上是"/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py“如果你不使用ipython
,numpy.__file__
会给你一个模块安装目录的路径,你需要查看一下。help(numpy.correlate)
给出的模块名称会给出一些提示。
但是,一旦找到该文件,您将看到numpy.correlate仅执行以下操作:
mode = _mode_from_name(mode)
return multiarray.correlate2(a, v, mode)
这是一个编译过的函数,所以比较难找到。您可以查看文件here,主函数从1353行开始定义,实际的算法从1190行开始。这是经过相当优化的代码,因此它所做的工作比简单关联所需的功能要多得多:处理数据类型、多线程和错误处理。
如果您只想了解一般原则,而不是了解python正在做什么的细节,我建议从更多的basic explanation开始。像关联这样的数值操作都定义得很好,而且numpy
很少做与标准定义不同的事情。
https://stackoverflow.com/questions/49608644
复制相似问题