CoolFace
Modelpublic

sagawa/ReactionT5v2-retrosynthesis

sourceHugging Facemitupdated 1y agoView on Hugging Face
3likes4.1kdownloads
Model Card

Model Card for ReactionT5v2-retrosynthesis

This is a ReactionT5 pre-trained to predict the reactants of reactions. You can use the demo here.

Model Sources

<!-- Provide the basic links for the model. -->

  • Repository: https://github.com/sagawatatsuya/ReactionT5v2
  • Paper: https://jcheminf.biomedcentral.com/articles/10.1186/s13321-025-01075-4
  • Demo: https://huggingface.co/spaces/sagawa/ReactionT5

Uses

<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. --> You can use this model for retrosynthesis prediction or fine-tune this model with your dataset.

How to Get Started with the Model

Use the code below to get started with the model.

python
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tokenizer = AutoTokenizer.from_pretrained("sagawa/ReactionT5v2-retrosynthesis", return_tensors="pt")
model = AutoModelForSeq2SeqLM.from_pretrained("sagawa/ReactionT5v2-retrosynthesis")

inp = tokenizer('CCN(CC)CCNC(=S)NC1CCCc2cc(C)cnc21', return_tensors='pt')
output = model.generate(**inp, num_beams=1, num_return_sequences=1, return_dict_in_generate=True, output_scores=True)
output = tokenizer.decode(output['sequences'][0], skip_special_tokens=True).replace(' ', '').rstrip('.')
output # 'CCN(CC)CCN=C=S.Cc1cnc2c(c1)CCCC2N'

Training Details

Training Procedure

<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. --> We used the Open Reaction Database (ORD) dataset for model training. In addition, we used USPTO_50k dataset's test split to prevent data leakage. The command used for training is the following. For more information about data preprocessing and training, please refer to the paper and GitHub repository.

python
cd task_retrosynthesis
python train.py \
    --output_dir='t5' \
    --epochs=80 \
    --lr=2e-4 \
    --batch_size=32 \
    --input_max_len=100 \
    --target_max_len=150 \
    --weight_decay=0.01 \
    --evaluation_strategy='epoch' \
    --save_strategy='epoch' \
    --logging_strategy='epoch' \
    --train_data_path='../data/preprocessed_ord_train.csv' \
    --valid_data_path='../data/preprocessed_ord_valid.csv' \
    --test_data_path='../data/preprocessed_ord_test.csv' \
    --USPTO_test_data_path='../data/USPTO_50k/test.csv' \
    --pretrained_model_name_or_path='sagawa/CompoundT5'

Results

ModelTraining setTest setTop-1 [% acc.]Top-2 [% acc.]Top-3 [% acc.]Top-5 [% acc.]
Sequence-to-sequenceUSPTO_50kUSPTO_50k37.4-52.457.0
Molecular TransformerUSPTO_50kUSPTO_50k43.5-60.5-
SCROPUSPTO_50kUSPTO_50k43.7-60.065.2
T5ChemUSPTO_50kUSPTO_50k46.5-64.470.5
CompoundT5USPTO_50kUSPTO_50k44,255.261.467.3
ReactionT5 (This model)-USPTO_50k13.818.621.426.2
ReactionT5USPTO_50kUSPTO_50k71.281.484.988.2

Performance comparison of Compound T5, ReactionT5, and other models in product prediction.

Citation

<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->

@article{Sagawa2025,
  title   = {ReactionT5: a pre-trained transformer model for accurate chemical reaction prediction with limited data},
  author  = {Sagawa, Tatsuya and Kojima, Ryosuke},
  journal = {Journal of Cheminformatics},
  year    = {2025},
  volume  = {17},
  number  = {1},
  pages   = {126},
  doi     = {10.1186/s13321-025-01075-4},
  url     = {https://doi.org/10.1186/s13321-025-01075-4}
}