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)
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)
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