# Cuda out of memory while using Trainer API

**URL:** <https://discuss.huggingface.co/t/cuda-out-of-memory-while-using-trainer-api/7138>\
**Category:** Beginners\
**Created:** [June 23, 2021, 4:26pm UTC](https://discuss.huggingface.co/t/cuda-out-of-memory-while-using-trainer-api/7138 "2021-06-23T16:26:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam2021](https://avatars.discourse-cdn.com/v4/letter/s/a8b319/32.png) [@Sam2021](https://discuss.huggingface.co/u/Sam2021)\
**Post date:** [June 23, 2021, 4:26pm UTC](https://discuss.huggingface.co/t/cuda-out-of-memory-while-using-trainer-api/7138/1 "2021-06-23T16:26:56Z")

</div>

Hi

I am trying to test the trainer API of huggingface through this small code snippet on a toy small data. Unfortunately I am getting cuda memory error although I have 32gb cuda memory which seems sufficient for this small data. Any help will be greatly appreciated

```
from datasets import load_dataset,load_metric

import datasets as dtset

import transformers

import torch

from transformers import Trainer,TrainingArguments,set_seed
from transformers import BertTokenizer, BertForSequenceClassification, BertConfig
config = BertConfig.from_pretrained("bert-base-uncased",num_labels=6)
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
model = BertForSequenceClassification.from_pretrained("bert-base-uncased",config=config)
data_files = {'train':'F1000_train.csv','validation':'F1000_valid.csv','test':'F1000_test.csv'}
datasets = load_dataset("csv",data_files=data_files)

num_labels = len(datasets['train'].unique('label'))

def preprocess(examples):

     args = ((examples['sentence1'],))
     result = tokenizer(*args,padding='max_length',max_length=32,truncation=True)
     result['label'] = [l for l in examples['label']]
     return result
metric = load_metric('f1') 

```

training\_args=TrainingArguments(output\_dir=“Out”,prediction\_loss\_only=True,gradient\_accumulation\_steps=1,learning\_rate=2e-5,weight\_decay=1e-4,local\_rank=-1,fp16=True)

```
trainer = Trainer(model = model,
    args = training_args,
    train_dataset=datasets["train"],
    eval_dataset= datasets["validation"],
    compute_metrics = metric,
)

train_result= trainer.train(resume_from_checkpoint=None)
```

---

<div class="post-metadata">

**Author:** ![Emanuel](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/emanuel/32/20406_2.png) [@Emanuel](https://discuss.huggingface.co/u/Emanuel)\
**Post date:** [October 20, 2021, 1:29pm UTC](https://discuss.huggingface.co/t/cuda-out-of-memory-while-using-trainer-api/7138/2 "2021-10-20T13:29:11Z")

</div>

Could this be related to this [issue](https://discuss.huggingface.co/t/run-mlm-py-cuda-error-memory-after-resuming-a-training/5549/3)?
