'Evaluate the FeedForwardExpert on the given input.
Args:
x: a `Tensor` of shape `[batch_size, hp.input_size]`
Returns:
a `Tensor` of shape `[batch_size, hp.output_size]`'

def Eval(self, x):

    hp = self._hp
    num_layers = len(self._w)
    for i in xrange(num_layers):
        x = tf.matmul(x, self._w[i])
        if (hp.autoscale and (self._layer_sizes[i] != hp.input_size)):
            x *= ((self._layer_sizes[i] / hp.input_size) ** (-0.5))
        if (((i + 1) < num_layers) and hp.hidden_activation):
            x = hp.hidden_activation(x)
    return x
