使用 Transformers 中的 Trainer 时 Python Accelerate 包抛出错误

问题描述 投票:0回答:1

我正在尝试这个拥抱脸教程

我正在尝试使用训练器来训练我的模式。此时代码出错:

from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForSequenceClassification, DataCollatorWithPadding, TrainingArguments, Trainer

checkpoint = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
raw_datasets = load_dataset("glue", "mrpc")

def tokenize_function(example):
    return tokenizer(example["sentence1"], example["sentence2"], truncation=True)

tokenized_datasets = raw_datasets.map(tokenize_function, batched=True)

data_collator = DataCollatorWithPadding(tokenizer=tokenizer)

training_args = TrainingArguments("test-trainer")

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)

#The above code works upto here
#The following line fails
trainer = Trainer(
    model,
    training_args,
    train_dataset=tokenized_datasets["train"],
    eval_dataset=tokenized_datasets["validation"], 
    tokenizer=tokenizer,
)

错误显示为:

File "tutorial.py", line 21, in <module>
    trainer = Trainer(
              ^^^^^^^^
  File "/opt/miniconda3/envs/py3env/lib/python3.12/site-packages/transformers/trainer.py", line 388, in __init__
    self.create_accelerator_and_postprocess()
  File "/opt/miniconda3/envs/py3env/lib/python3.12/site-packages/transformers/trainer.py", line 4364, in create_accelerator_and_postprocess
    self.accelerator = Accelerator(**args)
                       ^^^^^^^^^^^^^^^^^^^
TypeError: Accelerator.__init__() got an unexpected keyword argument 'use_seedable_sampler'

版本:

Python: 3.12.3
Transformer: 4.40.2
Datasets: 2.19.1
Accelerate: 0.21.0

--------- 丢弃此线以下 ------------
“Lorem ipsum dolor sat amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua。Ut enim ad minim veniam,quis nostrud exeritation ullamco labouris nisi ut aliquip ex ea commodo consequat。Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Exceteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est labourum."

python huggingface-transformers
1个回答
0
投票

看起来即使 Accelerate: 0.21.0 被列为最新,

$ conda search accelerate
# Name                       Version           Build  Channel             
huggingface_accelerate          0.20.3 py310hca03da5_0  pkgs/main           
huggingface_accelerate          0.20.3 py311hca03da5_0  pkgs/main           
huggingface_accelerate          0.20.3  py38hca03da5_0  pkgs/main           
huggingface_accelerate          0.20.3  py39hca03da5_0  pkgs/main           
huggingface_accelerate          0.21.0 py310hca03da5_0  pkgs/main           
huggingface_accelerate          0.21.0 py311hca03da5_0  pkgs/main           
huggingface_accelerate          0.21.0 py312hca03da5_0  pkgs/main           
huggingface_accelerate          0.21.0  py38hca03da5_0  pkgs/main           
huggingface_accelerate          0.21.0  py39hca03da5_0  pkgs/main           
pyopengl-accelerate            3.1.5  py38heec5a64_0  pkgs/main           
pyopengl-accelerate            3.1.5  py39heec5a64_0  pkgs/main  

您必须强制更新到0.30.0

$ conda install accelerate=0.30.0
© www.soinside.com 2019 - 2024. All rights reserved.