Конфигурация кластера и стратегии распределения

По умолчанию API run заботится о переносе кода вашей модели в стратегию распространения TensorFlow на основе предоставленной вами конфигурации кластера.

Нет распространения

Конфигурация главного процессора и никаких дополнительных рабочих

tfc.run(entry_point='mnist_example.py',
        chief_config=tfc.COMMON_MACHINE_CONFIGS['CPU'])

OneDeviceStrategy

1 главный графический процессор (по умолчанию AcceleratorType.NVIDIA_TESLA_T4 ) и никаких дополнительных рабочих процессов.

tfc.run(entry_point='mnist_example.py')

MirroredStrategy

Основная конфигурация с несколькими графическими процессорами ( AcceleratorType.NVIDIA_TESLA_V100 ).

tfc.run(entry_point='mnist_example.py',
        chief_config=tfc.COMMON_MACHINE_CONFIGS['V100_4X'])

MultiWorkerMirroredStrategy

Основная конфигурация с 1 графическим процессором и 2 рабочими по 8 графических процессоров каждый ( AcceleratorType.NVIDIA_TESLA_V100 ).

tfc.run(entry_point='mnist_example.py',
        chief_config=tfc.COMMON_MACHINE_CONFIGS['V100_1X'],
        worker_count=2,
        worker_config=tfc.COMMON_MACHINE_CONFIGS['V100_8X'])

TPUStrategy

Главный конфиг с 1 ЦП и 1 рабочим с ТПУ.

tfc.run(entry_point="mnist_example.py",
        chief_config=tfc.COMMON_MACHINE_CONFIGS["CPU"],
        worker_count=1,
        worker_config=tfc.COMMON_MACHINE_CONFIGS["TPU"])

Обратите внимание, что TPUStrategy с TensorFlow Cloud работает только с TF версии 2.1, поскольку это последняя версия, поддерживаемая облаком AI Platform TPU.

Индивидуальная стратегия распространения

Если вы хотите позаботиться об указании стратегии распространения в коде вашей модели и не хотите run API для создания стратегии, установите distribution_stategy значение None . Это потребуется, например, когда вы используете strategy.experimental_distribute_dataset .

tfc.run(entry_point='mnist_example.py',
        distribution_strategy=None,
        worker_count=2)