'Get value estimates given input.'

def get_values(self, all_obs, all_actions, internal_policy_states, policy_logits):

    batch_size = tf.shape(all_obs[0])[1]
    time_length = tf.shape(all_obs[0])[0]
    (time_step, reshaped_obs, reshaped_prev_act, reshaped_internal_policy_states, reshaped_policy_logits) = self.reshape_batched_inputs(all_obs, all_actions, internal_policy_states, policy_logits)
    (input_dim, inputs) = self.get_inputs(time_step, reshaped_obs, reshaped_prev_act, reshaped_internal_policy_states)
    for depth in xrange(self.n_hidden_layers):
        with tf.variable_scope(('value_layer%d' % depth)):
            w = tf.get_variable('w', [input_dim, self.hidden_dim])
            inputs = tf.nn.tanh(tf.matmul(inputs, w))
            input_dim = self.hidden_dim
    w_v = tf.get_variable('w_v', [input_dim, 1], initializer=self.matrix_init)
    values = tf.matmul(inputs, w_v)
    values = tf.reshape(values, [time_length, batch_size])
    inputs = inputs[:(- batch_size)]
    return (values, inputs, w_v)
