Может быть много причин. Прежде всего, если вы используете tennsflow.keras, обратите внимание, что multi_gpu_model
является устаревшим и будет / будет удалено, и вместо этого лучше использовать tf.distributed.MirroredStrategy
. Данная ссылка показывает примеры того, как правильно использовать multi_gpu_model
.
Другая причина может заключаться в том, что размер вашей партии настолько мал, что он не в полной мере использует преимущества нескольких графических процессоров. Каждый раз, когда вы вызываете nvidia-smi
для проверки использования графического процессора, даже если он выделил максимальный объем памяти, в данный момент он не выполняет никаких вычислений.
Чтобы убедиться, что выделена только необходимая память графического процессора, попробуйте динамически увеличить объем графического процессора. память как обсуждено здесь
Я надеюсь, что это поможет