首页 > 解决方案 > HowTo:调整对 google colab 的 numpy 依赖项?

问题描述

自 2019 年以来,我最近在云端推动了我的 ML 培训过程,对吗?正如标题所示,我使用 google collab。

现在,我已经看到本地运行时与预期的云中运行时之间存在粗略的性能差异,但这很奇怪:

我的本地 CPU @ 1.1 GHZ 在 colab 中的性能优于 CPU @ 2.3 GHZ。后来进行了一些进一步的研究,我发现了一些讨论 numpy 和 scipy 依赖项的资源,例如 BLAS 和 ATLAS:

果然,我在本地的版本与在云中的不同。

现在问题出现了,我如何为我的项目选择正确/最快的配置?

我开始对我运行的一个配置进行基准测试,并再次感到惊讶!Colab 提供 2 个硬件加速器 GPU 和 TPU

无(hh:mm:ss.ms):0:03:54.237129

GPU(hh:mm:ss.ms):0:03:47.573604

TPU (hh:mm:ss.ms) : 0:03:52.045764

我本来以为 TPU 会比 GPU 更好,那时我意识到我真的不够了解,需要帮助 ^^

一些进一步的想法:

- 我想既然 colab 使用的是英特尔 cpus(lscpu 说英特尔)和 gpus(?)英特尔 MKL 可能值得一看,但我没有开始运行,那将是另一个帖子

numpy.__config__.show()

提供了一些关于 numpy 当前使用哪些依赖项的见解:pastebin

我在 ext4 上使用以下命令集从源代码构建 libgpuarray:

!git clone https://github.com/Theano/libgpuarray.git
%cd libgpuarray
!mkdir Build
%cd Build
!cmake .. -DCMAKE_BUILD_TYPE=Release 
!make
!make install
%cd ..
!python setup.py build
!python setup.py install

打开BLAS:

!sudo apt-get install libopenblas-dev

然后是一些点子的东西:

!pip install pydot
!pip install pygame
!pip install mido
!pip install keras

最后我运行我的项目:

!THEANO_FLAGS=blas.ldflags="-L/usr/lib/x86_64-linux-gnu/openblas" python2.7 train.py

那么提高训练速度的步骤是什么?如果您需要,请随时询问更多信息!

谢谢阅读

标签: pythonnumpytheanogoogle-colaboratoryblas

解决方案


推荐阅读