当前位置: 首页 > 知识库问答 >
问题:

使用aws Sagemaker运行培训作业时出错

奚飞星
2023-03-14

我正在尝试使用我自己的sickit learn ML模型和SageMaker,并使用github示例。

python代码如下所示:

# Define IAM role import boto3 
import re 
import os 
import numpy as np 
import pandas as pd 
from sagemaker import get_execution_role 
import sagemaker as sage from time 
import gmtime, strftime 
role = get_execution_role()

ess =  sage.Session()
account = sess.boto_session.client('sts').get_caller_identity()['Account']
region = sess.boto_session.region_name
image = '{}.dkr.ecr.{}.amazonaws.com/decision-trees-sample:latest'.format(account, region)


output_path="s3://output"

sess

tree = sage.estimator.Estimator(image,
                      role, 1, 'ml.c4.2xlarge',
                     output_path='s3-eu-west-1.amazonaws.com/output',
                    sagemaker_session=sess)

tree.fit("s3://output/iris.csv")

但是我得到了这个错误:

信息:sagemaker:创建培训工作与名称:决策树样本-2018-04-24-13-13-38-281

--------------------------------------------------------------------------- ClientError Traceback(最近的调用最后)in()14sagemaker_session=sess)15---

~/anaconda3/envs/python3/lib/python3。6/现场包/sagemaker/估计员。py in fit(自我、输入、等待、日志、作业名称)161自我。输出路径='s3://{}/'。格式(self.sagemaker\u session.default\u bucket())162--

~/anaconda3/envs/python3/lib/python3。6/现场包/sagemaker/估计员。开始新(cls,估计器,输入)336输入配置=输入配置,角色=角色,作业名称=估计器_当前作业名称,337输出配置=输出配置,资源配置=资源配置--

~/anaconda3/envs/python3/lib/python3。6/站点包/sagemaker/会话。列车中的py(自我、图像、输入模式、输入配置、角色、作业名称、输出配置、资源配置、超参数、停止条件)242记录器。信息('Creating training job with name:{}'。格式(job_name))243记录器。调试('train request:{}'。格式(json.dumps(train_request,indent=4)))--

~/anaconda3/envs/python3/lib/python3.6/site-包/botocore/client.py在_api_call(自我,*args,**kwargs)312"%s()只接受关键字参数。"%py_operation_name)313#此范围中的自我指的是BaseClient。--

~/anaconda3/envs/python3/lib/python3。6/站点包/botocore/客户端。py in_make_api_调用(self,operation_name,api_params)610错误代码=解析的_响应。获取(“错误”,{})。获取(“代码”)611错误\u class=self。例外情况。源代码(错误代码)--

ClientError:调用CreateTrainingJob操作时出错(AccessDeniedException):用户:arn:aws:sts::307504647302:假定角色/默认值/SageMaker无权执行:SageMaker:CreateTrainingJob on resource:arn:aws:SageMaker:eu-west-1:30750464747302:培训作业/决策树-sample-2018-04-24-13-38-281

你能帮我解决这个问题吗?

非常感谢。

共有3个答案

施靖
2023-03-14

当我开始使用SageMaker时,我也遇到了类似的问题,所以我开发了这个开源项目https://github.com/Kenza-AI/sagify(sagify),这是一个CLI工具,可以帮助您以非常简单的方式在SageMaker上训练和部署自己的机器学习/深度学习模型。我设法训练和部署了我所有的ML模型,无论我使用的是什么库(Keras,Tensorflow,Scikit学习,LightFM,spacy等)。本质上,您可以用经典的pythonic方式指定所有依赖项,即在requiments.txt中,sagify将读取它们并将它们安装在Docker映像上。然后,这个Docker映像可以在SageMaker上执行,用于训练和部署

此外,我在sagify文档(https://kenza-ai.github.io/sagify/)中指定了如何设置AWS帐户的一次性过程,以避免权限相关问题。

燕星鹏
2023-03-14

看起来你没有资源

arn:aws:sagemaker:eu-west-1:307504647302:training-job/decision-trees-sample-2018-04-24-13-13-38-281

您是否可以检查资源url是否正确,并且在安全组中设置了正确的权限。

米嘉禧
2023-03-14

也许你正在使用AWS教育帐户。

此时,您不能使用SageMaker服务创建具有AWS Educate Starter帐户的培训或建模作业。

目前,如果您想使用/部署SageMaker服务的培训工作,您可以使用自己的个人AWS帐户。

然而,您可以通过AWS教育帐户通过SageMaker继续使用Jupyter笔记本电脑。

 类似资料:
  • 我有一个优化代码运行在sagemaker。我想每1小时运行一次代码。我怎么能在sagemaker安排跑步?。我不想调用模型endpoint,但我想在每1小时运行整个代码。

  • 我试图运行火花作业,基本上加载数据在卡桑德拉表。但它也产生了以下错误。

  • QA职责 QA起到监督项目执行进度、监控项目质量的重要责任; QA辅助项目经理,推进项目开发; QA向公司的QA部门负责人汇报; QA需了解项目的所有需求; QA人员,同时承担项目上的开发工作,开发与项目保障并进。 对于目前的状况,QA的规划有如下特点: QA不作为公司的一个单独部门,而是由分散到每个项目的指定开发人员临时担任; QA是培养项目经理的重要岗位 QA工作内容 每天的进度反馈(从用户视

  • 我是pytorch的新手,我正在尝试运行我找到的github模型并对其进行测试。因此,作者提供了模型和损失函数。 像这样: 数据加载 假设我想训练这个模型15个时代。这就是我到目前为止所做的:我正在尝试设置优化器和训练,但我不确定如何将自定义丢失和数据加载绑定到模型,并正确设置15个历元训练。 有什么建议吗?

  • 我一直在SageMaker笔记本实例上使用SageMaker Python SDK运行培训作业,并在本地使用IAM凭据。他们工作得很好,但我希望能够通过AWS Lambda Gateway开始培训工作。 Lambda不支持SageMaker SDK(高级SDK),所以我被迫在我的Lambda处理程序中使用来自boto3的SageMaker客户端,例如: 假设这个boto3服务级别SDK会给我100

  • 问题内容: 我想让cron作业使用一个已经存在的名为my_env的anaconda python环境执行python脚本。我唯一想做的是让cron作业运行一个名为的脚本,该脚本又会激活env,然后运行python脚本。 尝试从命令行执行此脚本不起作用: 我需要做什么以确保激活正确的环境。可以像我5岁时向我解释一下。 问题答案: 不要打电话,但是。是bash命令。 要不就 因为您添加了bash sh