
    BVh                         d Z ddlmZ dadadaej                  d        Zd Zd Z	d	 Z
ej                  d
        Zd Zy)zKeras backend config API.    )dispatchfloat32gHz>channels_lastc                      t         S )zReturns the value of the fuzz factor used in numeric expressions.

  Returns:
      A float.

  Example:
  >>> tf.keras.backend.epsilon()
  1e-07
  _EPSILON     V/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/keras/backend_config.pyepsilonr      s	     
/r
   c                     | a y)a%  Sets the value of the fuzz factor used in numeric expressions.

  Args:
      value: float. New value of epsilon.

  Example:
  >>> tf.keras.backend.epsilon()
  1e-07
  >>> tf.keras.backend.set_epsilon(1e-5)
  >>> tf.keras.backend.epsilon()
  1e-05
   >>> tf.keras.backend.set_epsilon(1e-7)
  Nr   values    r   set_epsilonr   +   s	     (r
   c                      t         S )zReturns the default float type, as a string.

  E.g. `'float16'`, `'float32'`, `'float64'`.

  Returns:
      String, the current default float type.

  Example:
  >>> tf.keras.backend.floatx()
  'float32'
  )_FLOATXr	   r
   r   floatxr   =   s	     
.r
   c                 P    | dvrt        dt        |       z         t        |       ay)a  Sets the default float type.

  Note: It is not recommended to set this to float16 for training, as this will
  likely cause numeric stability issues. Instead, mixed precision, which is
  using a mix of float16 and float32, can be used by calling
  `tf.keras.mixed_precision.set_global_policy('mixed_float16')`. See the
  [mixed precision guide](
    https://www.tensorflow.org/guide/keras/mixed_precision) for details.

  Args:
      value: String; `'float16'`, `'float32'`, or `'float64'`.

  Example:
  >>> tf.keras.backend.floatx()
  'float32'
  >>> tf.keras.backend.set_floatx('float64')
  >>> tf.keras.backend.floatx()
  'float64'
  >>> tf.keras.backend.set_floatx('float32')

  Raises:
      ValueError: In case of invalid value.
  >   float16r   float64zUnknown floatx type: N)
ValueErrorstrr   r   s    r   
set_floatxr   L   s+    2 33
,s5z9
::J'r
   c                      t         S )zReturns the default image data format convention.

  Returns:
      A string, either `'channels_first'` or `'channels_last'`

  Example:
  >>> tf.keras.backend.image_data_format()
  'channels_last'
  )_IMAGE_DATA_FORMATr	   r
   r   image_data_formatr   j   s
     
r
   c                 P    | dvrt        dt        |       z         t        |       ay)a  Sets the value of the image data format convention.

  Args:
      data_format: string. `'channels_first'` or `'channels_last'`.

  Example:
  >>> tf.keras.backend.image_data_format()
  'channels_last'
  >>> tf.keras.backend.set_image_data_format('channels_first')
  >>> tf.keras.backend.image_data_format()
  'channels_first'
  >>> tf.keras.backend.set_image_data_format('channels_last')

  Raises:
      ValueError: In case of invalid `data_format` value.
  >   r   channels_firstzUnknown data_format: N)r   r   r   )data_formats    r   set_image_data_formatr    x   s.    $ ;;
,s;/??
@@;'r
   N)__doc__tensorflow.python.utilr   r   r   r   add_dispatch_supportr   r   r   r   r   r    r	   r
   r   <module>r$      sk      +   %  

 
$< 

 
(r
   