from transformers import Pipeline import torch import torch.nn.functional as F import numpy as np import torch import torch.nn.functional as F import re class SmilesDiffusionPipe(Pipeline): def __init__(self, model, voc, **kwargs): super().__init__(model=model, **kwargs) self.voc = voc def restore_halogen(self, smiles): smiles = re.sub(r'(? and decoded_tokens = [t for t in sequences[0].tolist() if t not in (voc.vocab.get(''), voc.vocab.get(''))] if len(decoded_tokens) > 2: decoded_tokens = decoded_tokens[1:-1] decoded = self.decode(decoded_tokens).replace(" ", "") return decoded