code: def get_variable_ddi(name, shape, initial_value, dtype=tf.float32, init=False,
                       trainable=True):
    
    # If init is a tf bool: w is assigned dynamically at runtime.
    # If init is a python bool: then w is determined during graph construction.
    w = tf.get_variable(name, shape, dtype, None, trainable=trainable)
    if isinstance(init, bool):
      if init:
        return assign(w, initial_value)
      return w
    else:
      return tf.cond(init, lambda: assign(w, initial_value), lambda: w)
docs: Wrapper for data-dependent initialization.