Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些python深度学习库在运行时编译?_Python_Compilation_Runtime_Pytorch_Theano - Fatal编程技术网

哪些python深度学习库在运行时编译?

哪些python深度学习库在运行时编译?,python,compilation,runtime,pytorch,theano,Python,Compilation,Runtime,Pytorch,Theano,我正试图用python编写C优化代码。我已经读过好几遍了,python通过C扩展实现了高速计算。换句话说,每当我使用numpy之类的库时,它基本上调用一个C扩展来计算结果并返回结果 使用numpy的C扩展 假设我想用np添加两个数字。添加(x,y)。如果我理解正确,像numpy这样的库不会编译python代码,而是已经提供了可执行文件,这些可执行文件将只接受值x和y并返回结果。对吗 Theano、Tensorflow和PyTorch 特别是,我想知道这是否也适用于深度学习图书馆。根据Theano

我正试图用python编写C优化代码。我已经读过好几遍了,python通过C扩展实现了高速计算。换句话说,每当我使用numpy之类的库时,它基本上调用一个C扩展来计算结果并返回结果

使用numpy的C扩展 假设我想用
np添加两个数字。添加(x,y)
。如果我理解正确,像numpy这样的库不会编译python代码,而是已经提供了可执行文件,这些可执行文件将只接受值x和y并返回结果。对吗

Theano、Tensorflow和PyTorch 特别是,我想知道这是否也适用于深度学习图书馆。根据Theano的官方文档,它需要g++和gcc(至少强烈推荐)。这是否意味着Theano将在python脚本的运行时编译C(或C++)代码?如果是,PyTorch和Tensorflow是否相同


我希望有人能在这里解决我的困惑!非常感谢

python中的C扩展

numpy
大量使用C扩展。例如,您可以在这里查看sort()函数[1]的C实现[2]

[1]

[2]

深度学习图书馆

深度学习库在其后端的大部分使用C扩展,以及CUDA和CUDNN。可以在运行时编译代码:

[3]

[4]

[5]

为了回答您的问题,
theano
将在python脚本运行时编译C/C++代码。对于
theano
,运行时的图形编译时间非常慢:我建议您关注
pytorch
tensorflow
,而不是
theano

如果你是深度学习新手,你也可以快速浏览一下[6]


[6]

非常酷,非常感谢!这是否意味着PyTorch或Tensorflow根本不在运行时编译代码?或者仅仅是图形编译要快得多?他们都在运行时编译一些代码:参见第60页:关于无图形编译时间,我的答案完全基于我的个人经验。不过,我在网上找不到任何包括theano和其他DL库的最新基准测试。请记住,theano开发自2017年起就停止了:参见第12页:它还说“大型模型的[theano]编译时间可能是一个巨大的痛苦”