Лучший способ импортировать данные в гугл-коллаборацию для быстрых вычислений и обучения? - PullRequest
0 голосов
/ 21 января 2019

Я использую простую модель глубокого обучения в Google Colab, но она работает медленнее, чем мой MacBook Air без графического процессора.

Я прочитал этот вопрос и обнаружил, что это проблема из-за импорта набора данных через Интернет, но я не могу понять, как ускорить этот процесс.

Моя модель может быть найдена здесь . Есть идеи, как я могу сделать эпоху быстрее?

Мой локальный компьютер занимает 0,5-0,6 секунды за эпоху, а google-colabs - 3-4 секунды

1 Ответ

0 голосов
/ 31 января 2019

GPU всегда быстрее, чем CPU? Нет почему? поскольку оптимизация скорости графическим процессором зависит от нескольких факторов,

  1. Какая часть вашего кода выполняется / выполняется параллельно, т. Е. Какая часть вашего кода создает потоки, которые работают параллельно, Keras автоматически заботится об этом и не должно быть проблемой в вашем сценарии.

  2. Время, затрачиваемое на передачу данных между процессором и графическим процессором, когда люди часто колеблются, предполагается, что графический процессор всегда будет превосходить процессор, но если передаваемые данные слишком малы, требуется время для выполнения Вычисления (не требуются никакие шаги вычислений) меньше, чем разбивать данные / процессы на потоки, выполнять их в графическом процессоре и затем снова объединять их снова в ЦП.

Второй сценарий выглядит вероятным в вашем случае, поскольку вы использовали batch_size из 5. classifier=KerasClassifier(build_fn=build_classifier,epochs=100,batch_size=5), Если ваш набор данных достаточно большой, увеличение batch_size увеличит производительность GPU по сравнению с CPU.

Кроме того, вы использовали довольно простую модель, и, как указал @igrinis, данные загружаются с диска в память только один раз, поэтому проблема во всей теории не должна заключаться в времени загрузки, поскольку данные находятся на диске.

...