def predict(self, data_csv_path: str, model_state_file):
        torch.cuda.empty_cache()
        saved_params = torch.load(model_state_file)

        model = EncoderDecoderVisualTransformer(
            sequence_length=self.sequence_length, vocab=self.vocab).to(device)

        model.load_state_dict(saved_params['state_dict'])
        model.eval()
        dataframe = pd.read_csv(data_csv_path)

        results_file_name = data_csv_path.replace(".csv", "_results.csv")
        TrainingUtils.predict_on_dataset(model, dataframe, self.batch_size,
                                         self.vocab, results_file_name)
Beispiel #2
0
    def predict(self, data_csv_path: str, model_state_file):
        torch.cuda.empty_cache()
        saved_params = torch.load(model_state_file)
        self.embed_size = saved_params['embed_size']
        self.attention_dim = saved_params['attention_dim']
        self.encoder_dim = saved_params['encoder_dim']
        self.decoder_dim = saved_params['decoder_dim']

        model = EncoderDecoder(embed_size=self.embed_size,
                               vocab_size=len(self.vocab),
                               attention_dim=self.attention_dim,
                               encoder_dim=self.encoder_dim,
                               decoder_dim=self.decoder_dim,
                               sequence_length=self.sequence_length,
                               vocab=self.vocab).to(device)
        model.load_state_dict(saved_params['state_dict'])
        model.eval()

        dataframe = pd.read_csv(data_csv_path)
        results_file_name = data_csv_path.replace(".csv", "_results.csv")
        TrainingUtils.predict_on_dataset(model, dataframe, self.batch_size,
                                         self.vocab, results_file_name)