我正在尝试将我的 s3 存储桶链接到笔记本实例,但是我无法:
以下是我所知道的:
from sagemaker import get_execution_role
role = get_execution_role
bucket = 'atwinebankloadrisk'
datalocation = 'atwinebankloadrisk'
data_location = 's3://{}/'.format(bucket)
output_location = 's3://{}/'.format(bucket)
从桶中调用数据:
df_test = pd.read_csv(data_location/'application_test.csv')
df_train = pd.read_csv('./application_train.csv')
df_bureau = pd.read_csv('./bureau_balance.csv')
但是我不断收到错误并且无法继续。我还没有找到可以提供很大帮助的答案。
PS:我是这个 AWS 的新手
我使用 AWS SageMaker 创建了一个 XGBoost 模型。现在我正在尝试通过 Batch Transform Job 使用它,并且对于小批量来说一切都很好。
但是,在一个约 16MB 的文件中有一批稍大的 600.000 行,我无法一次性运行它。我尝试了两件事:
1.
将转换作业的“最大负载大小”设置为其最大值 (100 MB):
transformer = sagemaker.transformer.Transformer(
    model_name = config.model_name,
    instance_count = config.inference_instance_count,
    instance_type = config.inference_instance_type,
    output_path = "s3://{}/{}".format(config.bucket, config.s3_inference_output_folder),
    sagemaker_session = sagemaker_session,
    base_transform_job_name = config.inference_job_prefix,
    max_payload = 100
    )
但是,我仍然收到错误消息(通过控制台 CloudWatch 日志):
413 Request Entity Too Large
The data value transmitted exceeds the capacity limit.
2.
将 max_payload 设置为 0,根据规范,Amazon SageMaker 应将其解释为对有效负载大小没有限制。
在这种情况下,作业成功完成,但输出文件为空(0 字节)。
任何想法我做错了什么,或者如何运行更大的批次?
我已经训练了一个 Sagemaker XGBoost 模型并将 model.tar.gz 文件从 S3 下载到我的本地机器上。如何加载此模型以使用 Flask 部署它?
我试过使用 pickle 加载解压后的模型文件,但它似乎不起作用。
import sagemaker
import boto3
import os
import pickle
with open('xgboost-model', 'r') as inp:
   cls.model = pkl.load(inp)
回溯(最近一次调用):文件“”,第 2 行,在文件“C:\Anaconda3\lib\encodings\cp1252.py”中,第 23 行,在解码中返回 codecs.charmap_decode(input,self.errors,decoding_table) [0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 969: character maps to
我正在尝试让 AWS SageMaker 调用 AWS Comprehend。我在 SageMaker 中收到此消息:
ClientError:调用 StartTopicsDetectionJob 操作时发生错误 (AccessDeniedException):用户:arn:aws:sts::545176143103:assumed-role/access-aws-services-from-sagemaker/SageMaker 未被授权执行:iam:PassRole on资源:arn:aws:iam::545176143103:role/access-aws-services-from-sagemaker
在创建 Jupyter notebook 时,我使用了这个角色:
arn:aws:sagemaker:us-east-2:545176143103:notebook-instance/access-comprehend-from-sagemaker
...附有以下政策:
我在 SageMaker 中使用相同的 IAM 角色:
 data_access_role_arn = "arn:aws:iam::545176143103:role/access-aws-services-from-sagemaker"
看起来我正在为该角色提供所需的所有访问权限。我该如何纠正这个错误?
amazon-web-services amazon-iam amazon-sagemaker amazon-comprehend
我有一个 python 代码和一个预先训练过的模型,并且在我的代码所在的同一目录中有一个 model.pkl 文件,现在我必须运行或部署它到 aws sagemaker 但没有得到任何解决方案因为 aws sagemaker 仅支持两个命令 train 或 serve 分别用于训练和部署。
目前,我正在使用命令“python filename.py”运行该程序,并且它正在成功运行,我希望它也能在 aws sagemaker 上运行。
任何解决方案?
我尝试了与将模型部署到s3并在部署时调用相同的方法我不知道它是对还是错。
我将在一个相当大的数据集上运行 ml 模型。它大约 15 GB,有 200 列和 430 万行。我想知道 AWS Sagemaker 中此类数据集的最佳 Notebook 实例类型是什么。
我曾经在环境变量 (.bash_profile) 中隐藏连接凭据。最近与 SageMaker 合作,我在 SageMaker 中可用的终端上尝试了类似的过程,但出现以下错误,
NameError: name 'DB_USER' is not defined
是否有任何有效的方法可以在 SageMaker 中隐藏凭据?
我在 S3 存储桶中存储了预训练的模型工件。我想创建一个加载此模型并将其用于推理的服务。
我在 AWS 生态系统中工作,对使用 ECS 还是 Sagemaker 进行模型部署感到困惑?选择一个而不是另一个有哪些优点/缺点?
machine-learning amazon-web-services amazon-ecs amazon-sagemaker
我想使用 Sagemaker 笔记本进行开发,但我想使用 TF 2.0,
有没有办法做到这一点?
我试图有一个生命周期配置,在启动时,将从 github 存储库中提取最新的代码。
我在 git pull 上遇到了这个错误(登录到 CloudWatch)。
fatal: could not read Username for 'https://github.com/toasttab/midgard': No such device or address
但是,只要我在服务器上打开一个终端,我就可以毫无问题地 git pull 。当我在终端中 git pull 时,没有提示输入我的凭据。
这是我的生命周期配置:
#!/bin/bash
set -e
sudo -u ec2-user -i <<'EOF'
# enable conda activate & activate python3 env
source ~/anaconda3/etc/profile.d/conda.sh
conda activate python3
# configure git
git config --global user.name "Foo"
git config --global user.email "Foo@Bar.com"
# install all git repo libraries into current env
cd ~/SageMaker/my-repo
git checkout master
git pull
pip install …amazon-sagemaker ×10
python ×2
xgboost ×2
amazon-ec2 ×1
amazon-ecs ×1
amazon-iam ×1
amazon-s3 ×1
aws-lambda ×1
git ×1