python - 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
那么提高训练速度的步骤是什么?如果您需要,请随时询问更多信息!
谢谢阅读
解决方案
推荐阅读
- android - 如何使用 react-native-image-crop-picker 上传大文件
- c++ - C++中重新声明的过程是怎样的?
- r - 获取特定日期之前/之后“x”天的平均值
- r - 我部署的应用程序未正确显示地图
- react-native - 当我询问位置时,默认情况下在 react native 上获取 never_ask_again
- excel - 在 Excel 中使用 IncludeVersions=TRUE 打开 .iqy 文件不会返回版本历史记录
- python - 在没有 pytest/unittest/etc 的情况下使用 mock 拦截函数调用
- pine-script - Pinescript 如何显示 strategy.account_currency?
- java - 在 Java 中将 Map 转换为 JSON
- c# - 使用 sql 提高 Web 应用程序中的搜索速度