Configuração de estratégia de cluster e distribuição

Por padrão, a API run se encarrega de agrupar o código do modelo em uma estratégia de distribuição do TensorFlow com base na configuração de cluster que você forneceu.

Sem distribuição

Configuração principal da CPU e sem trabalhadores adicionais

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

OneDeviceStrategy

1 GPU no chefe (o padrão é AcceleratorType.NVIDIA_TESLA_T4 ) e nenhum trabalhador adicional.

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

MirroredStrategy

Configuração principal com múltiplas GPUs ( AcceleratorType.NVIDIA_TESLA_V100 ).

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

MultiWorkerMirroredStrategy

Configuração principal com 1 GPU e 2 trabalhadores cada um com 8 GPUs ( 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

Configuração principal com 1 CPU e 1 trabalhador com TPU.

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

Observe que TPUStrategy com TensorFlow Cloud funciona apenas com TF versão 2.1, pois esta é a versão mais recente compatível com AI Platform Cloud TPU

Estratégia de distribuição personalizada

Se você quiser especificar uma estratégia de distribuição em seu código de modelo e não quiser run a API para criar uma estratégia, defina distribution_stategy como None . Isso será necessário, por exemplo, quando você estiver usando strategy.experimental_distribute_dataset .

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