from transformers import Pipeline import torch import torch.nn.functional as F import numpy as np from transformers import Pipeline 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'(?"), voc.vocab.get("")) ] if len(decoded) > 2: decoded = decoded[1:-1] return self.decode(decoded).replace(" ", "")