当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。