tf.config.set_logical_device_configuration
Установите конфигурацию логического устройства для tf.config.PhysicalDevice.
tf.config.set_logical_device_configuration(
device, logical_devices
)
Видимое tf.config.PhysicalDevice по умолчанию будет иметь одно tf.config.LogicalDevice, связанное с ним после инициализации среды выполнения. Указание списка объектов tf.config.LogicalDeviceConfiguration позволяет создавать несколько устройств на одном tf.config.PhysicalDevice.
Конфигурации логических устройств можно изменять, вызывая эту функцию, пока среда выполнения не инициализирована. После инициализации среды выполнения вызов этой функции вызывает исключение RuntimeError.
Следующий пример разбивает ЦП на 2 логических устройства:
physical_devices = tf.config.list_physical_devices('CPU')
assert len(physical_devices) == 1, "No CPUs found"
# Specify 2 virtual CPUs. Note currently memory limit is not supported.
try:
tf.config.set_logical_device_configuration(
physical_devices[0],
[tf.config.LogicalDeviceConfiguration(),
tf.config.LogicalDeviceConfiguration()])
logical_devices = tf.config.list_logical_devices('CPU')
assert len(logical_devices) == 2
tf.config.set_logical_device_configuration(
physical_devices[0],
[tf.config.LogicalDeviceConfiguration(),
tf.config.LogicalDeviceConfiguration(),
tf.config.LogicalDeviceConfiguration(),
tf.config.LogicalDeviceConfiguration()])
except:
# Cannot modify logical devices once initialized.
pass
Следующий пример разбивает графический процессор на 2 логических устройства по 100 МБ каждое:
physical_devices = tf.config.list_physical_devices('GPU')
try:
tf.config.set_logical_device_configuration(
physical_devices[0],
[tf.config.LogicalDeviceConfiguration(memory_limit=100),
tf.config.LogicalDeviceConfiguration(memory_limit=100)])
logical_devices = tf.config.list_logical_devices('GPU')
assert len(logical_devices) == len(physical_devices) + 1
tf.config.set_logical_device_configuration(
physical_devices[0],
[tf.config.LogicalDeviceConfiguration(memory_limit=10),
tf.config.LogicalDeviceConfiguration(memory_limit=10)])
except:
# Invalid device or cannot modify logical devices once initialized.
pass
| Аргументы | |
|---|---|
device | PhysicalDevice для настройки. |
logical_devices | (необязательно) Список объектов tf.config.LogicalDeviceConfiguration для выделения для указанного PhysicalDevice. Если None, будет использоваться конфигурация по умолчанию. |
| Исключения | |
|---|---|
ValueError | Если проверка аргументов завершается ошибкой. |
RuntimeError | Среда выполнения уже инициализирована. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/config/set_logical_device_configuration