def _train_model(self, train_X, train_Y=None, val_X=None, val_Y=None): """Train the model. Parameters ---------- train_X : array_like Training data, shape (num_samples, num_features). train_Y : array_like, optional (default = None) Reference training data, shape (num_samples, num_features). val_X : array_like, optional, default None Validation data, shape (num_val_samples, num_features). val_Y : array_like, optional, default None Reference validation data, shape (num_val_samples, num_features). Returns ------- self : trained model instance """ pbar = tqdm(range(self.num_epochs)) for i in pbar: self._run_train_step(train_X) if val_X is not None: feed = {self.input_data_orig: val_X, self.input_data: val_X} err = tf_utils.run_summaries( self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.cost) pbar.set_description("Reconstruction loss: %s" % (err)) return self
def _train_model(self, train_set, train_ref, validation_set, validation_ref): """Train the model. :param train_set: training set :param train_ref: training reference data :param validation_set: validation set :param validation_ref: validation reference data :return: self """ shuff = list(zip(train_set, train_ref)) pbar = tqdm(range(self.num_epochs)) for i in pbar: np.random.shuffle(shuff) batches = [_ for _ in utilities.gen_batches( shuff, self.batch_size)] for batch in batches: x_batch, y_batch = zip(*batch) self.tf_session.run( self.train_step, feed_dict={self.input_data: x_batch, self.input_labels: y_batch, self.keep_prob: self.dropout}) if validation_set is not None: feed = {self.input_data: validation_set, self.input_labels: validation_ref, self.keep_prob: 1} err = tf_utils.run_summaries( self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.cost) pbar.set_description("Reconstruction loss: %s" % (err))
def _train_model(self, train_set, train_labels, validation_set, validation_labels): """Train the model. :param train_set: training set :param train_labels: training labels :param validation_set: validation set :param validation_labels: validation labels :return: self """ shuff = list(zip(train_set, train_labels)) pbar = tqdm(range(self.num_epochs)) for i in pbar: np.random.shuffle(shuff) batches = [_ for _ in utilities.gen_batches( shuff, self.batch_size)] for batch in batches: x_batch, y_batch = zip(*batch) self.tf_session.run( self.train_step, feed_dict={ self.input_data: x_batch, self.input_labels: y_batch, self.keep_prob: self.dropout}) if validation_set is not None: feed = {self.input_data: validation_set, self.input_labels: validation_labels, self.keep_prob: 1} acc = tf_utils.run_summaries( self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.accuracy) pbar.set_description("Accuracy: %s" % (acc))
def _train_model(self, train_set, train_labels, validation_set, validation_labels): """Train the model. :param train_set: training set :param train_labels: training labels :param validation_set: validation set :param validation_labels: validation labels :return: self """ pbar = tqdm(range(self.num_epochs)) for i in pbar: shuff = list(zip(train_set, train_labels)) np.random.shuffle(shuff) batches = [_ for _ in utilities.gen_batches(shuff, self.batch_size)] for batch in batches: x_batch, y_batch = zip(*batch) self.tf_session.run( self.train_step, feed_dict={self.input_data: x_batch, self.input_labels: y_batch}) if validation_set is not None: feed = {self.input_data: validation_set, self.input_labels: validation_labels} acc = tf_utils.run_summaries( self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.accuracy) pbar.set_description("Accuracy: %s" % (acc))
def _train_model(self, train_set, train_ref=None, validation_set=None, Validation_ref=None): """Train the model. :param train_set: training set :param validation_set: validation set. optional, default None :return: self """ pbar = tqdm(range(self.num_epochs)) for i in pbar: self._run_train_step(train_set, train_ref) if validation_set is not None: feed = self._create_feed_dict(validation_set) err = tf_utils.run_summaries( self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.cost) pbar.set_description("Reconstruction loss: %s" % (err))
def _train_model(self, train_set, train_ref, validation_set, validation_ref): """Train the model. :param train_set: training set :param train_ref: training reference data :param validation_set: validation set :param validation_ref: validation reference data :return: self """ shuff = list(zip(train_set, train_ref)) pbar = tqdm(list(range(self.num_epochs))) for i in pbar: np.random.shuffle(shuff) batches = [ _ for _ in utilities.gen_batches(shuff, self.batch_size) ] for batch in batches: x_batch, y_batch = list(zip(*batch)) self.tf_session.run(self.train_step, feed_dict={ self.input_data: x_batch, self.input_labels: y_batch, self.keep_prob: self.dropout }) if validation_set is not None: feed = { self.input_data: validation_set, self.input_labels: validation_ref, self.keep_prob: 1 } err = tf_utils.run_summaries(self.tf_session, self.tf_merged_summaries, self.tf_summary_writer, i, feed, self.cost) pbar.set_description("Reconstruction loss: %s" % (err))