如何解决 ImportError: 使用 Huggingface 的 TrainArguments 时,将 `Trainer` 与 `PyTorch` 一起使用需要 `accelerate>=0.20.1`?

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

我正在使用 Google colab 中的

transformers
库,并且 当我使用 Transformers 库中的 TrainingArguments 时,我收到此代码的导入错误:

from transformers import TrainingArguments

training_args = TrainingArguments(
    output_dir = "/content/our-model",
    learning_rate=2e-5,
    per_device_train_batch_size= 64,
    per_device_eval_batch_size = 16,
    num_train_epochs = 2,
    weight_decay = 0.01,
    evaluation_strategy = "epoch",
    save_strategy = "epoch",
    load_best_model_at_end = True,
    push_to_hub = False
)

这是我遇到的错误:

<ipython-input-28-0518ea5ff407> in <cell line: 2>()
      1 from transformers import TrainingArguments
----> 2 training_args = TrainingArguments(
      3     output_dir = "/content/our-model",
      4     learning_rate=2e-5,
      5     per_device_train_batch_size= 64,

4 frames
/usr/local/lib/python3.10/dist-packages/transformers/training_args.py in _setup_devices(self)
   1670         if not is_sagemaker_mp_enabled():
   1671             if not is_accelerate_available(min_version="0.20.1"):
-> 1672                 raise ImportError(
   1673                     "Using the `Trainer` with `PyTorch` requires `accelerate>=0.20.1`: Please run `pip install transformers[torch]` or `pip install accelerate -U`"
   1674                 )

ImportError: Using the `Trainer` with `PyTorch` requires `accelerate>=0.20.1`: Please run `pip install transformers[torch]` or `pip install accelerate -U 

我已经尝试过 pip install for 0.20.1 版本的 Accelerator 和 pip install Transformers[torch] 两者都不起作用。

python nlp importerror huggingface-transformers huggingface
3个回答
6
投票

如果您不介意要绑定哪个变压器和加速版本,请执行以下操作以使用 Google Colab 中的最新版本:

! pip install -U accelerate
! pip install -U transformers

那么您遇到的加速问题应该会自行解决。

注:

  • 未指定

    pip install -U transformers
    而不是
    pip install transformers[pytorch]
    可能会更容易,因为这是大多数用户所做的,并且库的开发人员将确保基本 pip 与常见函数和类(如
    TrainingArguments

    )一起使用
  • 而不是指定加速到

    pip install accelerate>=0.20.1
    ,如果您没有特别需要修复版本,自动升级到最新版本可能会让您在使用库时更加稳定,尤其是。拥有(几乎)每天都在不断变化的“热门”/“趋势”库。


如果需要进一步调试,即如果上述方法不起作用。要检查您的变压器和加速版本,请执行以下操作:

import accelerate

accelerate.__version__

如果您在安装

ImportError
时尚未安装加速,很可能第一行会有
transformers

然后,如果第一行有效,而第二行没有输出版本

>=0.20.1
,那么这就是问题的原因。

迄今为止(2023 年 7 月)的当前版本是:

import accelerate
import transformers

transformers.__version__, accelerate.__version__

[出]:

('4.30.1', '0.21.0')

这是一个示例笔记本,其中包含您希望根据问题中的评论使用的模型,https://colab.research.google.com/drive/1D79AjHMeE6HAZC-g2S83baTgsHtDUu5i?usp=sharing


如果在

pip install ...
之后错误仍然存在,请尝试重新启动运行时。

如果您找不到用于重新启动的按钮,请在单元格中尝试此操作在 Google Colab 中重新启动内核,然后重新运行单元格

import ...

import os
os._exit(00)

2
投票

我遇到了同样的问题并按照alvas的指示进行操作。

我仍然遇到问题,我发现重新启动运行时解决了问题。


0
投票

我在 Google COLAB 上遇到了同样的问题,我按照上面的说明(参见评分为 4 的答案)来解决它,即两个库都安装如下:

!pip install -U 加速
!pip install -U 变压器

© www.soinside.com 2019 - 2024. All rights reserved.