为什么深度学习库如此庞大?

时间:2020-01-13 17:13:44

标签: python tensorflow mxnet cntk .so

我最近从PyPI下载了所有软件包。一个有趣的发现是,在前15名最大的软件包中,除一个是深度学习软件包外,其他所有软件包都如此:

我看着mxnet-cu90。它只有一个大文件:libmxnet.so(936.7MB)。该文件包含什么?有什么办法可以缩小尺寸?

考虑到那些库通常在CUDA + cuDNN之上使用它们,我感到特别惊讶,我认为这样做会很繁重。

作为比较,我查看了相关的库,您还可以使用它们建立深度学习库:

  • numpy:6MB
  • 符号:6MB
  • pycuda:3.6MB
  • tensorflow-cpu:116MB(因​​此GPU版本需要多241 MB或大约三倍的大小!)

1 个答案:

答案 0 :(得分:2)

深度学习框架之所以庞大,是因为它们将NVIDIA的CuDNN打包到了自己的轮子上。这样做是为了方便下游用户。

CuDNN是框架调用以执行高度优化的神经网络操作(例如LSTM)的原语

用于Windows 10的CuDNN的未压缩版本为435MB。