pytorch tensorboard t5 text2text-generation en transformers generated_from_trainer tex2log log2tex foc license:apache-2.0 model-index autotrain_compatible
---
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
