|
--- |
|
language: |
|
- en |
|
license: apache-2.0 |
|
tags: |
|
- generated_from_trainer |
|
- tex2log |
|
- log2tex |
|
- foc |
|
|
|
widget: |
|
- text: "translate to nl: all x1.(_explanation(x1) -> -_equal(x1))" |
|
- text: "translate to fol: All chains are bad." |
|
|
|
model-index: |
|
- name: t5-small-text2log |
|
results: [] |
|
--- |
|
|
|
<!-- This model card has been generated automatically according to the information the Trainer had access to. You |
|
should probably proofread and complete it, then remove this comment. --> |
|
|
|
# T5 (small) fine-tuned on Text2Log |
|
|
|
This model is a fine-tuned version of [t5-small](https://huggingface.co/t5-small) on an Text2Log dataset. |
|
It achieves the following results on the evaluation set: |
|
- Loss: 0.0313 |
|
|
|
## Model description |
|
|
|
More information needed |
|
|
|
## Intended uses & limitations |
|
|
|
More information needed |
|
|
|
## Training and evaluation data |
|
|
|
More information needed |
|
|
|
## Training procedure |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 5e-05 |
|
- train_batch_size: 8 |
|
- eval_batch_size: 8 |
|
- seed: 42 |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: linear |
|
- num_epochs: 6 |
|
|
|
### Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:-----:|:------:|:---------------:| |
|
| 0.0749 | 1.0 | 21661 | 0.0509 | |
|
| 0.0564 | 2.0 | 43322 | 0.0396 | |
|
| 0.0494 | 3.0 | 64983 | 0.0353 | |
|
| 0.0425 | 4.0 | 86644 | 0.0332 | |
|
| 0.04 | 5.0 | 108305 | 0.0320 | |
|
| 0.0381 | 6.0 | 129966 | 0.0313 | |
|
|
|
### Usage: |
|
```py |
|
from transformers import AutoTokenizer, T5ForConditionalGeneration |
|
|
|
MODEL_CKPT = "mrm8488/t5-small-finetuned-text2log" |
|
|
|
model = T5ForConditionalGeneration.from_pretrained(MODEL_CKPT).to(device) |
|
tokenizer = AutoTokenizer.from_pretrained(MODEL_CKPT) |
|
|
|
def translate(text): |
|
inputs = tokenizer(text, padding="longest", max_length=64, return_tensors="pt") |
|
input_ids = inputs.input_ids.to(device) |
|
attention_mask = inputs.attention_mask.to(device) |
|
|
|
output = model.generate(input_ids, attention_mask=attention_mask, early_stopping=False, max_length=64) |
|
|
|
return tokenizer.decode(output[0], skip_special_tokens=True) |
|
|
|
prompt_nl_to_fol = "translate to fol: " |
|
prompt_fol_to_nl = "translate to nl: " |
|
example_1 = "Every killer leaves something." |
|
example_2 = "all x1.(_woman(x1) -> exists x2.(_emotion(x2) & _experience(x1,x2)))" |
|
|
|
print(translate(prompt_nl_to_fol + example_1)) # all x1.(_killer(x1) -> exists x2._leave(x1,x2)) |
|
print(translate(prompt_fol_to_nl + example_2)) # Every woman experiences emotions. |
|
``` |
|
|
|
### Framework versions |
|
|
|
- Transformers 4.17.0.dev0 |
|
- Pytorch 1.10.0+cu111 |
|
- Datasets 1.18.3 |
|
- Tokenizers 0.11.0 |
|
|