По умолчанию 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)