# Compute metrics causes OOM

**URL:** <https://discuss.huggingface.co/t/compute-metrics-causes-oom/71280>\
**Category:** Beginners\
**Created:** [January 31, 2024, 6:30am UTC](https://discuss.huggingface.co/t/compute-metrics-causes-oom/71280 "2024-01-31T06:30:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saugatkafley](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/saugatkafley/32/26738_2.png) [@Saugatkafley](https://discuss.huggingface.co/u/Saugatkafley)\
**Post date:** [January 31, 2024, 6:30am UTC](https://discuss.huggingface.co/t/compute-metrics-causes-oom/71280/1 "2024-01-31T06:30:21Z")

</div>

When finetuning FLAN-T5-small for translation, if I add compute metrics it causes OOM in the CPU,

here is the function I have used:

```python
def compute_metrics(eval_pred):
        preds, labels = eval_pred
        if isinstance(preds, tuple):
            preds = preds[0]

        decoded_preds = tokenizer.decode(preds, skip_special_tokens=True)
        labels = np.where(labels != -100, labels, tokenizer.pad_token_id)
        decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=True)

        # Some simple post-processing
        decoded_preds, decoded_labels = postprocess_text(decoded_preds, decoded_labels)

        result = bleu.compute(preds=decoded_preds, references=decoded_labels)
        result = {"bleu": result["score"]}

```

My Trainer:

```python
trainer = Seq2SeqTrainer(
        model,
        tokenizer=tokenizer,
        data_collator=data_collator,
        train_dataset=tokenized_dataset["train"],
        eval_dataset=tokenized_dataset["test"],
        # BUG: in compute metrics
        # compute_metrics=compute_metrics,
        args=Seq2SeqTrainingArguments(
            # REPO name
            output_dir=output_dir,
            run_name="t5-small-Ne-Ro-translit-test",
            predict_with_generate=True,
            # BATCH size
            per_device_train_batch_size=8,
            per_device_eval_batch_size=8,
            eval_accumulation_steps=2,
            gradient_accumulation_steps=4,
            gradient_checkpointing=True,
            # CHeckpointing
            save_strategy="steps",
            evaluation_strategy="epoch",
            save_steps=2000,
            logging_steps=100,
            # HYPER-PARAMETERS
            learning_rate=1e-3,
            max_steps = 1000,
            # num_train_epochs=1,
            # weight_decay=0.01,
            fp16=False,
            # MODEL PUSHING TO HUB
            report_to="wandb",
            push_to_hub=False,
            hub_private_repo=False,
        ),
    )
    model.config.use_cache = False
    trainer.train()
```

---

<div class="post-metadata">

**Author:** ![Saugatkafley](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/saugatkafley/32/26738_2.png) [@Saugatkafley](https://discuss.huggingface.co/u/Saugatkafley)\
**Post date:** [February 3, 2024, 7:19am UTC](https://discuss.huggingface.co/t/compute-metrics-causes-oom/71280/2 "2024-02-03T07:19:33Z")

</div>

Solved the issue:  
the `compute_metrics` didnot returned any loss , so it was causing OOM.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/hellohellohello/original/2X/d/de4155eb4aa4108ecb32a1389d7cc37ae69f88b7.png) [@system](https://discuss.huggingface.co/u/system)\
**Post date:** [February 3, 2024, 7:20pm UTC](https://discuss.huggingface.co/t/compute-metrics-causes-oom/71280/3 "2024-02-03T19:20:01Z")

</div>

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.
