Ejemplo n.º 1
0
    def _save(self, results: Dict[str, Any], activation_name: ActivationName) -> None:
        l, name = activation_name

        preds_path = os.path.join(self.save_dir, f"{name}_l{l}_results.pickle")
        model_path = os.path.join(self.save_dir, f"{name}_l{l}.joblib")

        dump_pickle(results, preds_path)
        joblib.dump(self.classifier, model_path)
Ejemplo n.º 2
0
    def _save_results(
        self, results_dict: Dict[str, Any], activation_name: ActivationName
    ) -> None:
        if self.dc_config.verbose > 0:
            for k, v in results_dict.items():
                print(k, v, "", sep="\n")
            print("Label vocab:", self.data_loader.label_vocab)

        if self.save_dir is not None:
            l, name = activation_name
            results_path = os.path.join(self.save_dir, f"{name}_l{l}_results.pickle")
            dump_pickle(results_dict, results_path)
Ejemplo n.º 3
0
    def concat_pickle_dumps(self, overwrite: bool = True) -> None:
        """ Concatenates a sequential pickle dump and pickles to file .

        Note that this overwrites the sequential pickle dump by default.

        Parameters
        ----------
        overwrite : bool, optional
            Set to True to overwrite the file containing the sequential
            pickle dump, otherwise creates a new file. Defaults to True.
        """
        activation_reader = ActivationReader(self.activations_dir)

        for (layer, name) in self.activation_names:
            activations = activation_reader.read_activations((layer, name))
            filename = os.path.join(self.activations_dir,
                                    f"{name}_l{layer}.pickle")
            if not overwrite:
                filename = filename.replace(".pickle", "_concat.pickle")
            dump_pickle(activations, filename)
            del activations