import tensorflow as tf

        self.config = config
        self._activation_fn = tf.nn.relu
        self._embedding_initializers = {
            'embeddings': tf.truncated_normal_initializer(stddev=0.01),
        }

        self._embedding_regularizers = {}

        self._initializers = {
            "w": tf.contrib.layers.xavier_initializer(),
        }

        self._regularizers = {
            'w': tf.contrib.layers.l2_regularizer(config.l2)
        }

        self._construct_placeholders()
        self._construct_weights()
        self._construct()
        tf.summary.scalar('Model/Loss', tf.get_collection(GraphKeys.LOSSES)[0])
        self.summary = tf.summary.merge_all()

    def _construct(self):
        """
        Construct the model; main part of it goes here
        """
