Thetf.device()can also be passed a function name instead of a device string. In such case, the function must return the device string. This feature allows complex algorithms for placing the variables on different devices. For example, TensorFlow provides a round robin device setter intf.train.replica_device_setter()that we will discuss later in next section.