自从2019年以来,我最近将我的机器学习培训过程推向了云端,对吗? 我使用google collab作为标题建议。
现在,我已经看到我的本地运行时与预期的云运行时之间的性能差异,但这很奇怪:
在colab中,我的本地CPU @ 1.1 GHZ优于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使用的是intel cpus(lscpu表示intel)和gpus(?),所以intel 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
openBLAS:
!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
那有什么步骤可以提高我的培训速度? 如果您需要,请随时询问更多信息!
感谢阅读