當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.config.set_logical_device_configuration用法及代碼示例


tf.config.PhysicalDevice 設置邏輯設備配置。

用法

tf.config.set_logical_device_configuration(
    device, logical_devices
)

參數

  • device 要配置的PhysicalDevice
  • logical_devices (可選)要為指定的 PhysicalDevice 分配的 tf.config.LogicalDeviceConfiguration 對象列表。如果沒有,將使用默認配置。

拋出

  • ValueError 如果參數驗證失敗。
  • RuntimeError 運行時已經初始化。

一旦初始化運行時,可見的tf.config.PhysicalDevice 默認情況下將有一個與之關聯的tf.config.LogicalDevice。指定 tf.config.LogicalDeviceConfiguration 對象列表允許在同一個 tf.config.PhysicalDevice 上創建多個設備。

隻要運行時未初始化,就可以通過調用此函數來修改邏輯設備配置。運行時初始化後調用此函數會引發 RuntimeError。

以下示例將 CPU 拆分為 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

以下示例將 GPU 拆分為 2 個邏輯設備,每個設備 100 MB:

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

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.config.set_logical_device_configuration。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。