TensorFlow автоматически заботится об оптимизации распределения ресурсов GPU через CUDA и cuDNN, при условии, что последний установлен правильно. Статистика использования, которую вы видите, это в основном статистика активности / памяти, не обязательно полезности (выполнения);см. этот ответ . То, что ваша утилита «всего лишь» 25%, - это хорошо, в противном случае, если вы существенно увеличили размер модели (который не является большим как есть), вы бы получили OOM.
Чтобы увеличить использование, увеличьтеразмер партии, размер модели или что-либо еще увеличило бы параллелизм вычислений;обратите внимание, что углубление модели увеличит полезность памяти графического процессора, но намного меньше, чем его вычислительную утилиту.
Кроме того, рассмотрите возможность использования CuDNNLSTM
вместо LSTM
, который может работать 10x быстрее и использовать меньше памяти графического процессора (благодаря алгоритмическому мастерству), но больше вычислительной полезности. Наконец, вставка Conv1D
в качестве первого слоя с strides > 1
значительно увеличит скорость поезда за счет уменьшения входного размера, не нанося ущерба производительности (это может фактически улучшить ее).
Обновление: разгон графического процессора возможен, но я бы посоветовал против этого, поскольку он может изнашивать графический процессор в долгосрочной перспективе (и все DL - "долгосрочные"). Есть также «перенапряжение» и другие аппаратные настройки, но все они должны использоваться для некоторых коротких приложений. Что будет иметь наибольшее значение, так это ваш конвейер входных данных .