File size: 4,702 Bytes
3c77cc4 1cb4b4f 3c77cc4 7bcfe52 3c77cc4 7bcfe52 3c77cc4 7bcfe52 3c77cc4 6d2cffb 3c77cc4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
---
language:
- en
license: mit
tags:
- chemistry
- SMILES
- retrosynthesis
datasets:
- ORD
metrics:
- accuracy
---
# Model Card for ReactionT5v2-retrosynthesis
This is a ReactionT5 pre-trained to predict the reactants of reactions. You can use the demo [here](https://huggingface.co/spaces/sagawa/ReactionT5_task_retrosynthesis).
### Model Sources
<!-- Provide the basic links for the model. -->
- **Repository:** https://github.com/sagawatatsuya/ReactionT5v2
- **Paper:** https://arxiv.org/abs/2311.06708
- **Demo:** https://huggingface.co/spaces/sagawa/ReactionT5_task_retrosynthesis
## 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](https://drive.google.com/file/d/1fa2MyLdN1vcA7Rysk8kLQENE92YejS9B/view?usp=drive_link) for model training. In addition, we used [USPTO_50k dataset](https://yzhang.hpc.nyu.edu/T5Chem/index.html)'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
| Model | Training set | Test set | Top-1 [% acc.] | Top-2 [% acc.] | Top-3 [% acc.] | Top-5 [% acc.] |
|----------------------|---------------------------|----------|----------------|----------------|----------------|----------------|
| Sequence-to-sequence | USPTO_50k | USPTO_50k | 37.4 | - | 52.4 | 57.0 |
| Molecular Transformer| USPTO_50k | USPTO_50k | 43.5 | - | 60.5 | - |
| SCROP | USPTO_50k | USPTO_50k | 43.7 | - | 60.0 | 65.2 |
| T5Chem | USPTO_50k | USPTO_50k | 46.5 | - | 64.4 | 70.5 |
| CompoundT5 | USPTO_50k | USPTO_50k | 44,2 | 55.2 | 61.4 | 67.3 |
| [ReactionT5 (This model)](https://huggingface.co/sagawa/ReactionT5v2-retrosynthesis) | - | USPTO_50k | 13.8 | 18.6 | 21.4 | 26.2 |
| [ReactionT5](https://huggingface.co/sagawa/ReactionT5v2-retrosynthesis-USPTO_50k) | USPTO_50k | USPTO_50k | 71.2 | 81.4 | 84.9 | 88.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. -->
arxiv link: https://arxiv.org/abs/2311.06708
```
@misc{sagawa2023reactiont5,
title={ReactionT5: a large-scale pre-trained model towards application of limited reaction data},
author={Tatsuya Sagawa and Ryosuke Kojima},
year={2023},
eprint={2311.06708},
archivePrefix={arXiv},
primaryClass={physics.chem-ph}
}
``` |