import tensorflow as tf

            step_callback: (optional) A function that will be called before each 
                optimization step, step_callback(iteration, feed_dict)
        '''
        if self.sess is not None:
            self.sess.close()
        self.sess = tf.Session(graph=self.graph)
        with self.graph.as_default():
            self._create_model(train_triples)
            self.sess.run(tf.initialize_all_variables())
        batch_provider = self._create_batch_provider(train_triples)
