Example #1
0
    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))
Example #3
0
    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))
Example #5
0
    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))