在Sagemaker Studio项目中使用transformers模块报错:ModuleNotFoundError: No module named 'transformers'。

0

【以下的问题经过翻译处理】 我正在尝试修改sagemaker示例abalone xgboost模板以使用tensorflow。 目前的问题是,在运行流水线时,遇到了一个错误,在日志中我看到: ModuleNotFoundError: No module named 'transformers'注意:我是在preprocess.py中导入的“transformers”,而不是在“pipeline.py”中导入的。 现在我将'transformers'作为依赖项列在以下文件,包括: * setup.py -required_packages = ["sagemaker==2.93.0", "sklearn", "transformers", "openpyxl"]* pipelines.egg-info/requires.txt - transformers(会从setup.py中自动生成吗?) 因此我很想了解如何确保流水线中有可用的附加依赖项?非常感谢

1 Antwort
0

【以下的回答经过翻译处理】 有两个地方需要安装依赖:

  1. 在执行 "pipeline.start()" 的环境下 - 可以是 Amazon SageMaker Studio、本地机器或 CI/CD pipeline executor,例如 AWS CodeBuild。这些依赖项会在 "setup.py" 中安装。
  2. 在 SageMaker 处理和训练作业以及推理终端节点中。这通常是通过 "source_dir" 路径下的 "requirements.txt" 文件来完成的。

在您的示例中,我建议您使用 "TensorFlowProcessor"。如何将依赖项安装到其中的方法在文档的相应部分中:

SageMaker 会在容器中为您安装 "requirements.txt" 中列出的依赖项。

这种方法同样适用于您使用"TensorFlow Estimator"进行模型训练的过程。请参阅 SageMaker Python SDK 中 TensorFlow 文档使用第三方库部分,尤其是:

如果您想在脚本中使用其他包,可以使用 "requirements.txt" 在运行时安装其他依赖项。

profile picture
EXPERTE
beantwortet vor 9 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen