Configurazione di cluster e strategie di distribuzione

Per impostazione predefinita, l'API run si occupa di racchiudere il codice del modello in una strategia di distribuzione TensorFlow basata sulla configurazione del cluster che hai fornito.

Nessuna distribuzione

Configurazione capo della CPU e nessun lavoratore aggiuntivo

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

OneDeviceStrategy

1 GPU in capo (il valore predefinito è AcceleratorType.NVIDIA_TESLA_T4 ) e nessun lavoratore aggiuntivo.

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

MirroredStrategy

Configurazione principale con più GPU ( AcceleratorType.NVIDIA_TESLA_V100 ).

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

MultiWorkerMirroredStrategy

Configurazione capo con 1 GPU e 2 lavoratori ciascuno con 8 GPU ( 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

Configurazione capo con 1 CPU e 1 lavoratore con 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"])

Tieni presente che TPUStrategy con TensorFlow Cloud funziona solo con la versione 2.1 di TF poiché questa è l'ultima versione supportata da AI Platform cloud TPU

Strategia di distribuzione personalizzata

Se desideri occuparti di specificare una strategia di distribuzione nel codice del tuo modello e non vuoi run l'API per creare una strategia, imposta distribution_stategy come None . Ciò sarà richiesto, ad esempio, quando si utilizza strategy.experimental_distribute_dataset .

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