在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 回答
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
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则