class_docstr: Clipping layer (specification key: `clipping`).
  
  Args:
      lower (parameter, float): Lower clipping value
          (<span style="color:#00C000"><b>default</b></span>: no lower bound).
      upper (parameter, float): Upper clipping value
          (<span style="color:#00C000"><b>default</b></span>: no upper bound).
      name (string): Layer name
          (<span style="color:#00C000"><b>default</b></span>: internally chosen).
      input_spec (specification): <span style="color:#00C000"><b>internal use</b></span>.
class_docstr_tok: ["Clipping","layer","(","specification","key",":","`","clipping","`",")",".","Args",":","lower","(","parameter",",","float",")",":","Lower","clipping","value","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","no","lower","bound",")",".","upper","(","parameter",",","float",")",":","Upper","clipping","value","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","no","upper","bound",")",".","name","(","string",")",":","Layer","name","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","internally","chosen",")",".","input_spec","(","specification",")",":","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","internal","use","<","\/b",">","<","\/span",">","."]
code: def apply(self, *, x):
      if self.lower is None:
          upper = self.upper.value()
          return tf.math.minimum(x=x, y=upper)
      elif self.upper is None:
          lower = self.lower.value()
          return tf.math.maximum(x=x, y=lower)
      else:
          lower = self.lower.value()
          upper = self.upper.value()
          assertions = list()
          if self.config.create_tf_assertions:
              assertions.append(
                  tf.debugging.assert_greater_equal(
                      x=upper,
                      y=lower,
                      message="Incompatible lower and upper clipping bound.",
                  )
              )
          with tf.control_dependencies(control_inputs=assertions):
              return tf.clip_by_value(
                  t=x, clip_value_min=lower, clip_value_max=upper
              )
  
imports: import tensorflow
  from tensorforce.core import parameter_modules, SignatureDict, TensorSpec, tf_function, tf_util
  from tensorforce.core.layers import Layer
label_desc: Use image node_id 3 for calling the Clipping obj's underlying member method code with example usage: obj.apply() and returns: tf, tf, tf