Я хотел увеличить размер своей партии, чтобы улучшить обобщение моей модели (она очень чувствительна к размеру партии). Решением для этого является go multi-GPU, чтобы использовать больше памяти. Я использую tenorflow.keras (с tenorflow 2.1 на Windows 10) в моем скрипте и следую инструкциям по настройке зеркальной стратегии для моей модели. Проблема в том, что мой учебный скрипт работает отлично без кода зеркальной стратегии, но с зеркальной стратегией я получаю сообщение об ошибке NCCL. Это выглядит точно так же, как:
https://github.com/tensorflow/tensorflow/issues/21470
К сожалению, решение, обсуждаемое по этой ссылке:
cross_tower_ops = tf.contrib.distribute.AllReduceCrossDeviceOps(
'hierarchical_copy', num_packs=num_gpus))
strategy = tf.contrib.distribute.MirroredStrategy(cross_tower_ops=cross_tower_ops)
не работает с tf 2.1, так как часть 'contrib' в tf, кажется, была удалена. Кто-нибудь знает, что исправление замены для NCCL на Windows, или замена части «contrib» tf, который ушел?