用法
@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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。