Как: Настроить зависимость от NumPy на Google Colab? - PullRequest
0 голосов
/ 12 марта 2019

Я недавно перенес свой тренировочный процесс по ML в облако с 2019 года, верно? Я использую Google Collab, как следует из названия.

Теперь я видел грубые различия в производительности между локальным временем выполнения и временем в облаке, которое можно было ожидать, но это было странно:

Мой локальный процессор @ 1.1 ГГц опережал процессор @ 2.3 ГГц в colab. Некоторое дальнейшее исследование позже я обнаружил в некоторых ресурсах, обсуждающих зависимости от numpy и scipy, таких как BLAS и ATLAS:

и, конечно, у меня были разные версии локально, чем в облаке.

Теперь возникает вопрос, как выбрать правильную / самую быструю конфигурацию для моего проекта?

Я начал бенчмаркинг на одной конфигурации, которую я запустил, и снова удивился! Colab предлагает 2 аппаратных ускорителя GPU и TPU

НЕТ (чч: мм: сс.мс): 0: 03: 54.237129

GPU (чч: мм: сс.мс): 0: 03: 47,573604

ТПУ (чч: мм: сс.мс): 0: 03: 52.045764

Я бы подумал, что TPU будет лучше, чем GPU, и в этот момент я понял, что действительно недостаточно знаю и мне нужна помощь ^^

Некоторые дальнейшие мысли:

-Я полагаю, поскольку colab использует intel cpus (lscpu сказал intel) и gpus (?) Intel MKL, возможно, стоит посмотреть, но я не запустился, и это был бы еще один пост

numpy.__config__.show()

дает некоторое представление о том, какие зависимости в настоящее время используются numpy: pastebin

Я собрал libgpuarray из исходного кода со следующим набором команд для ext4:

!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

Так, каковы шаги, чтобы улучшить скорость моего обучения? Пожалуйста, не стесняйтесь спрашивать дополнительную информацию, если вам это нужно!

Спасибо за чтение

...