'Pretrain a single autoencoder and encode the data for the next layer.
:param layer_obj: layer model
:param set_params_func: function used to set the parameters after
pretraining
:param train_set: training set
:param validation_set: validation set
:param graph: tf object for the rbm
:return: encoded train data, encoded validation data'

def _pretrain_layer_and_gen_feed(self, layer_obj, set_params_func, train_set, validation_set, graph):

    layer_obj.fit(train_set, train_set, validation_set, validation_set, graph=graph)
    with graph.as_default():
        set_params_func(layer_obj, graph)
        next_train = layer_obj.transform(train_set, graph=graph)
        if (validation_set is not None):
            next_valid = layer_obj.transform(validation_set, graph=graph)
        else:
            next_valid = None
    return (next_train, next_valid)
