Why are deep learning libraries so huge?

Mar*_*oma 11 python .so tensorflow mxnet cntk

I've recently downloaded all packages from PyPI. One interesting observation was that of the Top-15 of the biggest packages, all execept one are deep learning packages:

我看了mxnet-cu90。它只有一个巨大的文件:libmxnet.so(936.7MB)。该文件包含什么内容?有什么办法可以让它变小吗?

我特别惊讶的是,这些库是如此之大,考虑到人们通常在 CUDA + cuDNN 之上使用它们,我认为这会完成繁重的工作。

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

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

sno*_*ake 6

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

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

适用于 Windows 10 的 CuDNN 解压版本为 435MB。