به طور پیشفرض، run
API وظیفه دارد کد مدل شما را در یک استراتژی توزیع TensorFlow بر اساس پیکربندی خوشهای که ارائه کردهاید بپیچد.
بدون توزیع
پیکربندی رئیس CPU و بدون کارگر اضافی
tfc.run(entry_point='mnist_example.py',
chief_config=tfc.COMMON_MACHINE_CONFIGS['CPU'])
OneDeviceStrategy
1 پردازنده گرافیکی روی chief (پیشفرض 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 GPU و 2 کارگر هر کدام با 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
Chief config با 1 CPU و 1 Worker با 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"])
لطفاً توجه داشته باشید که TPUStrategy با TensorFlow Cloud فقط با TF نسخه 2.1 کار می کند زیرا این آخرین نسخه پشتیبانی شده توسط AI Platform Cloud TPU است.
استراتژی توزیع سفارشی
اگر میخواهید در کد مدل خود یک استراتژی توزیع را مشخص کنید و نمیخواهید API را برای ایجاد استراتژی run
کنید، distribution_stategy
را روی None
تنظیم کنید. برای مثال، زمانی که از strategy.experimental_distribute_dataset
استفاده میکنید، این مورد ضروری است.
tfc.run(entry_point='mnist_example.py',
distribution_strategy=None,
worker_count=2)