用法
@tf_contextlib.contextmanager
device(
device_name_or_function
)
参数
-
device_name_or_function
在上下文中使用的设备名称或函数。
生成(Yield)
- 一个上下文管理器,它指定用于新创建的操作的默认设备。
抛出
-
RuntimeError
如果设备范围没有正确嵌套。
返回指定要使用的默认设备的上下文管理器。
device_name_or_function
参数可以是设备名称字符串、设备函数或无:
- 如果它是设备名称字符串,则在此上下文中构造的所有操作都将分配给具有该名称的设备,除非被嵌套的
device()
上下文覆盖。 - 如果是函数,则将其视为从 Operation 对象到设备名称字符串的函数,并在每次创建新 Operation 时调用。操作将分配给具有返回名称的设备。
- 如果它是 None,则所有来自封闭上下文的
device()
调用都将被忽略。
有关设备名称字符串的有效语法的信息,请参阅 DeviceNameUtils
中的文档。
例如:
with g.device('/device:GPU:0'):
# All operations constructed in this context will be placed
# on GPU 0.
with g.device(None):
# All operations constructed in this context will have no
# assigned device.
# Defines a function from `Operation` to device string.
def matmul_on_gpu(n):
if n.type == "MatMul":
return "/device:GPU:0"
else:
return "/cpu:0"
with g.device(matmul_on_gpu):
# All operations of type "MatMul" constructed in this context
# will be placed on GPU 0; all other operations will be placed
# on CPU 0.
注意:设备范围可能会被操作包装器或其他库代码覆盖。例如,变量赋值操作 v.assign()
必须与 tf.Variable
v
位于同一位置,并且将忽略不兼容的设备范围。
相关用法
- Python tf.Graph.control_dependencies用法及代码示例
- Python tf.Graph.container用法及代码示例
- Python tf.Graph.as_default用法及代码示例
- Python tf.Graph.get_name_scope用法及代码示例
- Python tf.Graph.gradient_override_map用法及代码示例
- Python tf.Graph.name_scope用法及代码示例
- Python tf.Graph.colocate_with用法及代码示例
- Python tf.Graph用法及代码示例
- Python tf.GradientTape用法及代码示例
- Python tf.GradientTape.jacobian用法及代码示例
- Python tf.GradientTape.reset用法及代码示例
- Python tf.GradientTape.batch_jacobian用法及代码示例
- Python tf.GradientTape.stop_recording用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代码示例
- Python tf.summary.scalar用法及代码示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代码示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代码示例
- Python tf.raw_ops.TPUReplicatedInput用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.Graph.device。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。