code: def make_basket_put_payoff(strike_price, dtype=None, name=None):
      """Produces a callable from samples to payoff of a simple basket put option.
  
      Args:
        strike_price: A `Tensor` of `dtype` consistent with `samples` and shape
          `[num_samples, num_strikes]`.
        dtype: Optional `dtype`. Either `tf.float32` or `tf.float64`. The `dtype`
          If supplied, represents the `dtype` for the 'strike_price' as well as
          for the input argument of the output payoff callable.
          Default value: `None`, which means that the `dtype` inferred by TensorFlow
          is used.
        name: Python `str` name prefixed to Ops created by the callable created
          by this function.
          Default value: `None` which is mapped to the default name 'put_valuer'
  
      Returns:
        A callable from `Tensor` of shape `[num_samples, num_exercise_times, dim]`
        and a scalar `Tensor` representing current time to a `Tensor` of shape
        `[num_samples, num_strikes]`.
      """
      strike_price = tf.convert_to_tensor(
          strike_price, dtype=dtype, name="strike_price"
      )
      put_valuer = functools.partial(
          _put_valuer, strike_price=strike_price, dtype=dtype, name=name
      )
  
      return put_valuer
  
imports: import functools
  import tensorflow.compat.v2
label_desc: Use image node_id 1 for calling a global function with example usage: make_basket_put_payoff(strike_price, dtype, name) and returns: put_valuer