# TRL importation error on Kaggle

**URL:** <https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817>\
**Category:** Beginners\
**Created:** [December 23, 2023, 1:49pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817 "2023-12-23T13:49:04Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![DrPalmiere](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DrPalmiere](https://discuss.huggingface.co/u/DrPalmiere)\
**Post date:** [December 23, 2023, 1:49pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/1 "2023-12-23T13:49:04Z")

</div>

Hello. Please does anyone know if there is an issue with TRL library or a way to fix it? I am trying to fine tune Mistral 7B inside Kaggle, I already did it once with the same notebook, but since yesterday I am receiving an error while importing TRL. I already restarted the kernel and did factory reset, but the error still happens.

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig,HfArgumentParser,TrainingArguments,pipeline, logging  
from peft import LoraConfig, PeftModel, prepare\_model\_for\_kbit\_training, get\_peft\_model  
import os,torch, wandb  
from datasets import load\_dataset  
from trl import SFTTrainer

This is the error:  
File /opt/conda/lib/python3.10/site-packages/trl/trainer/ **init**.py:44  
42 from .ppo\_trainer import PPOTrainer  
43 from .reward\_trainer import RewardTrainer, compute\_accuracy  
—\> 44 from .sft\_trainer import SFTTrainer  
45 from .training\_configs import RewardConfig

File /opt/conda/lib/python3.10/site-packages/trl/trainer/sft\_trainer.py:23  
21 import torch.nn as nn  
22 from datasets import Dataset  
—\> 23 from datasets.arrow\_writer import SchemaInferenceError  
24 from datasets.builder import DatasetGenerationError  
25 from transformers import (  
26 AutoModelForCausalLM,  
27 AutoTokenizer,  
(…)  
33 TrainingArguments,  
34 )

ImportError: cannot import name ‘SchemaInferenceError’ from ‘datasets.arrow\_writer’ (/opt/conda/lib/python3.10/site-packages/datasets/arrow\_writer.py)

---

<div class="post-metadata">

**Author:** ![alexgpetrov](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@alexgpetrov](https://discuss.huggingface.co/u/alexgpetrov)\
**Post date:** [December 24, 2023, 1:53pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/2 "2023-12-24T13:53:31Z")

</div>

+1 have the sane issue in Kaggle for Mistral-7B fine tuning

---

<div class="post-metadata">

**Author:** ![alexgpetrov](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@alexgpetrov](https://discuss.huggingface.co/u/alexgpetrov)\
**Post date:** [December 25, 2023, 12:12pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/3 "2023-12-25T12:12:58Z")

</div>

@DrPalmiere I fixed it in Kaggle notebook installing latest version of datasets package. Seems, that by default older version of datasets package is used without SchemaInferenceError definition. Use following

%pip install datasets==2.16.0

---

<div class="post-metadata">

**Author:** ![DrPalmiere](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DrPalmiere](https://discuss.huggingface.co/u/DrPalmiere)\
**Post date:** [December 26, 2023, 9:26pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/4 "2023-12-26T21:26:40Z")

</div>

Thanks, I am using this notebook too (Mistral-7B fine tuning).

I tried to update the datasets library but I got the same error. I fix the problem by creating a fresh notebook and copying all the code from the old notebook to the new one, and worked.

---

<div class="post-metadata">

**Author:** ![mar-yam1497](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@mar-yam1497](https://discuss.huggingface.co/u/mar-yam1497)\
**Post date:** [December 30, 2023, 7:46pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/5 "2023-12-30T19:46:51Z")

</div>

I tried that but I’m still getting the same error:  
ImportError: cannot import name ‘SchemaInferenceError’ from ‘datasets.arrow\_writer’ (/opt/conda/lib/python3.10/site-packages/datasets/arrow\_writer.py)

---

<div class="post-metadata">

**Author:** ![DrPalmiere](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DrPalmiere](https://discuss.huggingface.co/u/DrPalmiere)\
**Post date:** [December 30, 2023, 11:56pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/6 "2023-12-30T23:56:58Z")

</div>

Did you try to create an empty notebook and copy cell by cell from the seed notebook? I did it and it is working now?

---

<div class="post-metadata">

**Author:** ![kaamraan](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kaamraan](https://discuss.huggingface.co/u/kaamraan)\
**Post date:** [January 2, 2024, 10:35pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/7 "2024-01-02T22:35:52Z")

</div>

I have done that, I also upgraded the datasets to 2.16.1, But the problem remained.

---

<div class="post-metadata">

**Author:** ![vuluu](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@vuluu](https://discuss.huggingface.co/u/vuluu)\
**Post date:** [January 10, 2024, 3:32pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/8 "2024-01-10T15:32:12Z")

</div>

You guys should try this, it works for me

The tip is from:

> <https://github.com/huggingface/datasets/issues/6538#issuecomment-1874922883>
>
> \### Describe the bug
> 
> While importing from packages getting the error
> Code:
> …
> \`\`\`
> import os
> import torch
> from datasets import load\_dataset, Dataset
> from transformers import (
> AutoModelForCausalLM,
> AutoTokenizer,
> BitsAndBytesConfig,
> HfArgumentParser,
> TrainingArguments,
> pipeline,
> logging
> )
> from peft import LoraConfig, PeftModel
> from trl import SFTTrainer
> from huggingface\_hub import login
> import pandas as pd
> \`\`\`
> 
> Error:
> \`\`\`\`
> \---------------------------------------------------------------------------
> ImportError Traceback (most recent call last)
> Cell In\[5\], line 14
> 4 from transformers import (
> 5 AutoModelForCausalLM,
> 6 AutoTokenizer,
> (...)
> 11 logging
> 12 )
> 13 from peft import LoraConfig, PeftModel
> \---\> 14 from trl import SFTTrainer
> 15 from huggingface\_hub import login
> 16 import pandas as pd
> 
> File /opt/conda/lib/python3.10/site-packages/trl/\_\_init\_\_.py:21
> 8 from .import\_utils import (
> 9 is\_diffusers\_available,
> 10 is\_npu\_available,
> (...)
> 13 is\_xpu\_available,
> 14 )
> 15 from .models import (
> 16 AutoModelForCausalLMWithValueHead,
> 17 AutoModelForSeq2SeqLMWithValueHead,
> 18 PreTrainedModelWrapper,
> 19 create\_reference\_model,
> 20 )
> \---\> 21 from .trainer import (
> 22 DataCollatorForCompletionOnlyLM,
> 23 DPOTrainer,
> 24 IterativeSFTTrainer,
> 25 PPOConfig,
> 26 PPOTrainer,
> 27 RewardConfig,
> 28 RewardTrainer,
> 29 SFTTrainer,
> 30 )
> 33 if is\_diffusers\_available():
> 34 from .models import (
> 35 DDPOPipelineOutput,
> 36 DDPOSchedulerOutput,
> 37 DDPOStableDiffusionPipeline,
> 38 DefaultDDPOStableDiffusionPipeline,
> 39 )
> 
> File /opt/conda/lib/python3.10/site-packages/trl/trainer/\_\_init\_\_.py:44
> 42 from .ppo\_trainer import PPOTrainer
> 43 from .reward\_trainer import RewardTrainer, compute\_accuracy
> \---\> 44 from .sft\_trainer import SFTTrainer
> 45 from .training\_configs import RewardConfig
> 
> File /opt/conda/lib/python3.10/site-packages/trl/trainer/sft\_trainer.py:23
> 21 import torch.nn as nn
> 22 from datasets import Dataset
> \---\> 23 from datasets.arrow\_writer import SchemaInferenceError
> 24 from datasets.builder import DatasetGenerationError
> 25 from transformers import (
> 26 AutoModelForCausalLM,
> 27 AutoTokenizer,
> (...)
> 33 TrainingArguments,
> 34 )
> 
> ImportError: cannot import name 'SchemaInferenceError' from 'datasets.arrow\_writer' (/opt/conda/lib/python3.10/site-packages/datasets/arrow\_writer.py
> 
> \`\`\`\`
> 
> transformers version: 4.36.2
> python version: 3.10.12
> datasets version: 2.16.1
> 
> \### Steps to reproduce the bug
> 
> 1. Install packages
> \`\`\`
> !pip install -U datasets trl accelerate peft bitsandbytes transformers trl huggingface\_hub
> \`\`\`
> 
> 2. import packages
> \`\`\`
> import os
> import torch
> from datasets import load\_dataset, Dataset
> from transformers import (
> AutoModelForCausalLM,
> AutoTokenizer,
> BitsAndBytesConfig,
> HfArgumentParser,
> TrainingArguments,
> pipeline,
> logging
> )
> from peft import LoraConfig, PeftModel
> from trl import SFTTrainer
> from huggingface\_hub import login
> import pandas as pd
> \`\`\`
> 
> \### Expected behavior
> 
> No error while importing
> 
> \### Environment info
> 
> \- \`datasets\` version: 2.16.0
> \- Platform: Linux-5.15.133+-x86\_64-with-glibc2.35
> \- Python version: 3.10.12
> \- \`huggingface\_hub\` version: 0.20.1
> \- PyArrow version: 11.0.0
> \- Pandas version: 2.1.4
> \- \`fsspec\` version: 2023.10.0

"In kaggle I used:

- `%pip install -U datasets`  
and then restarted runtime and then everything works fine."

---

<div class="post-metadata">

**Author:** ![DrPalmiere](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DrPalmiere](https://discuss.huggingface.co/u/DrPalmiere)\
**Post date:** [January 10, 2024, 9:17pm UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/9 "2024-01-10T21:17:07Z")

</div>

I tried it, but didn’ t work. I only fixed it by starting a fresh notebook and doing copy and paste from old notebook to the new one.

---

<div class="post-metadata">

**Author:** ![RadioactiveSquirrel](https://avatars.discourse-cdn.com/v4/letter/r/f07891/32.png) [@RadioactiveSquirrel](https://discuss.huggingface.co/u/RadioactiveSquirrel)\
**Post date:** [January 16, 2024, 10:56am UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/10 "2024-01-16T10:56:22Z")

</div>

This worked for me 🙂

---

<div class="post-metadata">

**Author:** ![MH0386](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/mh0386/32/52392_2.png) [@MH0386](https://discuss.huggingface.co/u/MH0386)\
**Post date:** [March 25, 2024, 2:21am UTC](https://discuss.huggingface.co/t/trl-importation-error-on-kaggle/66817/11 "2024-03-25T02:21:22Z")

</div>

`!pip install datasets==2.16.0 -q` worked for me
