TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now


TensorFlow 1 version View source on GitHub

Specifies the device for ops created/executed in this context.


  • tf.compat.v2.device

Used in the guide:

Used in the tutorials:

device_name can be fully specified, as in "/job:worker/task:1/device:cpu:0", or partially specified, containing only a subset of the "/"-separated fields. Any fields which are specified override device annotations from outer scopes. For example:

with tf.device('/job:foo'):
  # ops created here have devices with /job:foo
  with tf.device('/job:bar/task:0/device:gpu:2'):
    # ops created here have the fully specified device above
  with tf.device('/device:gpu:1'):
    # ops created here have the device '/job:foo/device:gpu:1'


  • device_name: The device name to use in the context.


A context manager that specifies the default device to use for newly created ops.


  • RuntimeError: If a function is passed in.