code: def reshape_like(a, b):
    
    ret = tf.reshape(a, tf.concat([tf.shape(b)[:-1], tf.shape(a)[-1:]], 0))
    if not tf.executing_eagerly():
      ret.set_shape(b.get_shape().as_list()[:-1] + a.get_shape().as_list()[-1:])
    return ret
docs: Reshapes a to match the shape of b in all but the last dimension.