Настройка оценок Tensorflow на основе размера пакета, размера хеш-памяти, памяти и т. Д. На процессоре? - PullRequest
0 голосов
/ 16 марта 2019

Мы тестируем различные оценщики, такие как LinearEstimator, DNNClassifier и т. Д. Сейчас мы ограничены в использовании только CPU для обучения, и мы тестируем параметры и рычаги, такие как

  • Процессор: 8 ~ 32 процессора
  • Память: 16 ~ 48 ГБ
  • Размер партии / буфера (набор данных (партия) (n)): n = 128 ~ 512
  • Размер хеша: 10000 ~ 500000
  • Количество потоков: значение по умолчанию для Tensorflow, которое должно быть числом логических ядер
  • Оптимизатор: GradientDescent, FtrlOptimizer

Результат: глобальные шаги в секунду * Размер пакета составляет около 20 ~ 50

Таким образом, мы получаем глобальные шаги Tensorboard в секунду * bucket_size, равный примерно 20 ~ 50, и увеличение ЦП и памяти имеет свои пределы.

Мы видим аналогичные результаты в отношении оптимизатора и его конфигураций.

Мы делаем что-то не так, и есть ли другие рычаги, которые мы можем использовать? Есть ли предел в отношении того, насколько вы можете оптимизировать свои методы обучения модели, и должны ли мы перейти к графическим процессорам и воспользоваться преимуществами эффективности их умножения матриц?

1 Ответ

0 голосов
/ 16 марта 2019

Вы можете попробовать оптимизировать ваш входной конвейер с помощью Dataset API.Рассмотрите возможность преобразования ваших данных в tfrecords, это может дать существенные улучшения.Если у вас несколько процессоров, вы можете настроить кластер.Но все зависит от того, какие данные у вас есть.И посмотрите

https://www.tensorflow.org/guide/performance/datasets

https://www.tensorflow.org/guide/performance/overview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...