class_docstr: A class that can be used to switch from one backend to another.
  
  Usage:
  
  ```python
  backend = DynamicBackend("tensorflow")
  y = backend.square(tf.constant(...))
  backend.set_backend("jax")
  y = backend.square(jax.numpy.array(...))
  ```
  
  Args:
      backend: Initial backend to use (string).
class_docstr_tok: ["A","class","that","can","be","used","to","switch","from","one","backend","to","another",".","Usage",":","``","`","python","backend","=","DynamicBackend","(","``","tensorflow","''",")","y","=","backend.square","(","tf.constant","(","...",")",")","backend.set_backend","(","``","jax","''",")","y","=","backend.square","(","jax.numpy.array","(","...",")",")","``","`","Args",":","backend",":","Initial","backend","to","use","(","string",")","."]
code: def __getattr__(self, name):
      if self._backend == "tensorflow":
          from keras.backend import tensorflow as tf_backend
  
          return getattr(tf_backend, name)
      if self._backend == "jax":
          from keras.backend import jax as jax_backend
  
          return getattr(jax_backend, name)
      if self._backend == "torch":
          from keras.backend import torch as torch_backend
  
          return getattr(torch_backend, name)
      if self._backend == "numpy":
          # TODO (ariG23498):
          # The import `from keras.backend import numpy as numpy_backend`
          # is not working. This is a temporary fix.
          # The import is redirected to `keras.backend.numpy.numpy.py`
          from keras import backend as numpy_backend
  
          return getattr(numpy_backend, name)
  
file_path: keras/keras/utils/backend_utils.py
imports: import sys
  from keras import backend
  from keras.backend.common import global_state
label_desc: Use image node_id 4 for calling the DynamicBackend obj's underlying member method code with example usage: obj.__getattr__(name) and returns: getattr, getattr, getattr, getattr