class_docstr: A one-machine strategy that puts all variables on a single device.
  
  Variables are assigned to local CPU or the only GPU. If there is more
  than one GPU, compute operations (other than variable update operations)
  will be replicated across all GPUs.
  
  For Example:
  ```
  strategy = tf.distribute.experimental.CentralStorageStrategy()
  # Create a dataset
  ds = tf.data.Dataset.range(5).batch(2)
  # Distribute that dataset
  dist_dataset = strategy.experimental_distribute_dataset(ds)
  
  with strategy.scope():
    @tf.function
    def train_step(val):
      return val + 1
  
    # Iterate over the distributed dataset
    for x in dist_dataset:
      # process dataset elements
      strategy.run(train_step, args=(x,))
  ```
class_docstr_tok: ["A","one-machine","strategy","that","puts","all","variables","on","a","single","device",".","Variables","are","assigned","to","local","CPU","or","the","only","GPU",".","If","there","is","more","than","one","GPU",",","compute","operations","(","other","than","variable","update","operations",")","will","be","replicated","across","all","GPUs",".","For","Example",":","``","`","strategy","=","tf.distribute.experimental.CentralStorageStrategy","(",")","#","Create","a","dataset","ds","=","tf.data.Dataset.range","(","5",")",".batch","(","2",")","#","Distribute","that","dataset","dist_dataset","=","strategy.experimental_distribute_dataset","(","ds",")","with","strategy.scope","(",")",":","@","tf.function","def","train_step","(","val",")",":","return","val","+","1","#","Iterate","over","the","distributed","dataset","for","x","in","dist_dataset",":","#","process","dataset","elements","strategy.run","(","train_step",",","args=","(","x",",",")",")","``","`"]
docstr: Run `fn` on each replica, with the given arguments.
  
  In `CentralStorageStrategy`, `fn` is  called on each of the compute
  replicas, with the provided "per replica" arguments specific to that device.
  
  Args:
    fn: The function to run. The output must be a `tf.nest` of `Tensor`s.
    args: (Optional) Positional arguments to `fn`.
    kwargs: (Optional) Keyword arguments to `fn`.
    options: (Optional) An instance of `tf.distribute.RunOptions` specifying
      the options to run `fn`.
  
  Returns:
    Return value from running `fn`.
docstr_tok: ["Run","`","fn","`","on","each","replica",",","with","the","given","arguments",".","In","`","CentralStorageStrategy","`",",","`","fn","`","is","called","on","each","of","the","compute","replicas",",","with","the","provided","``","per","replica","''","arguments","specific","to","that","device",".","Args",":","fn",":","The","function","to","run",".","The","output","must","be","a","`","tf.nest","`","of","`","Tensor","`","s",".","args",":","(","Optional",")","Positional","arguments","to","`","fn","`",".","kwargs",":","(","Optional",")","Keyword","arguments","to","`","fn","`",".","options",":","(","Optional",")","An","instance","of","`","tf.distribute.RunOptions","`","specifying","the","options","to","run","`","fn","`",".","Returns",":","Return","value","from","running","`","fn","`","."]
code: def run(
      self, fn, args=(), kwargs=None, options=None
  ):  # pylint: disable=useless-super-delegation
      """Run `fn` on each replica, with the given arguments.
  
      In `CentralStorageStrategy`, `fn` is  called on each of the compute
      replicas, with the provided "per replica" arguments specific to that device.
  
      Args:
        fn: The function to run. The output must be a `tf.nest` of `Tensor`s.
        args: (Optional) Positional arguments to `fn`.
        kwargs: (Optional) Keyword arguments to `fn`.
        options: (Optional) An instance of `tf.distribute.RunOptions` specifying
          the options to run `fn`.
  
      Returns:
        Return value from running `fn`.
      """
      return super(CentralStorageStrategy, self).run(
          fn, args, kwargs, options
      )
  
file_path: tensorflow/tensorflow/python/distribute/central_storage_strategy.py
imports: from tensorflow.python.distribute import device_util
  from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import parameter_server_strategy
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 5 for calling the CentralStorageStrategy obj's underlying member method code with example usage: obj.run(fn, args, kwargs, options) and returns: super