import tensorflow as tf


    @staticmethod
    def _relu(name, x):
        with tf.variable_scope(name):
            return tf.nn.relu(x)

    @staticmethod
    def _fc(name, x, output_dim=128,
            initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0):

        with tf.variable_scope(name):
            n_in = x.get_shape()[-1].value

            w = variable_with_weight_decay([n_in, output_dim], initializer, l2_strength)

            variable_summaries(w)

            if isinstance(bias, float):
                bias = tf.get_variable("biases", [output_dim], tf.float32, tf.constant_initializer(bias))

