如何修复 aws 区域错误“ValueError:必须使用 SageMaker 支持的区域设置本地 AWS 配置”

Posted

技术标签:

【中文标题】如何修复 aws 区域错误“ValueError:必须使用 SageMaker 支持的区域设置本地 AWS 配置”【英文标题】:How to fix aws region error "ValueError: Must setup local AWS configuration with a region supported by SageMaker" 【发布时间】:2019-04-26 14:24:20 【问题描述】:

我第一次在笔记本电脑上运行 sagemaker。当我尝试启动会话时出现此错误 ValueError:必须使用 SageMaker 支持的区域设置本地 AWS 配置

本地配置设置为 Sagemaker 支持的 eu-west-1。

我将区域更改为 us-west-2 并返回,但没有任何变化。当然,每次更改后我都会重新启动笔记本内核以防万一。

import boto3

import re

import os

import numpy as np

import pandas as pd

import sagemaker as sage

boto_session = boto3.Session(profile_name="bennu")

session = sage.Session(boto_session=boto_session) #this is where the error appears

我希望会议开始并进入下一步。完整的笔记本在这里https://github.com/PacktPublishing/Hands-On-Machine-Learning-Using-Amazon-SageMaker-v-/blob/master/section_1/train_and_deploy_your_first_model_on_sagemaker.ipynb

【问题讨论】:

从笔记本电脑运行 SageMaker 是什么意思?您是在运行应在 SageMaker 上启动训练作业的笔记本,还是在 SageMaker 笔记本实例上运行? 感谢您使用 Amazon SageMaker!您是从本地笔记本电脑还是从 SageMaker 笔记本实例中运行上述代码? 【参考方案1】:

您需要按照 AWS 文档的要求在配置文件中设置区域。您可以在这里找到位置:

~/.aws/config on Linux, macOS, or Unix

C:\Users\USERNAME\.aws\config on Windows

此文件应包含以下格式的行:

[default]
region = your_aws_region

例如,在我的情况下,它需要是region = ap-southeast-2

【讨论】:

为什么它下面使用boto3客户端,而boto3可以使用环境变量AWS_DEFAULT_REGION?我有同样的问题,环境变量设置正确【参考方案2】:

在我的情况下,我通过这样做创建 sagemaker 会话来解决它:

import boto3
import sagemaker

sagemaker.Session(boto3.session.Session())

并将AWS_DEFAULT_REGION 环境变量设置为us-east-1

【讨论】:

【参考方案3】:

继续@Avi 的回答。 在 MacOS 中。 应该在~/.aws/credentials中修改 与

[default]
region = <your_aws_region>

【讨论】:

以上是关于如何修复 aws 区域错误“ValueError:必须使用 SageMaker 支持的区域设置本地 AWS 配置”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 tensorflow 中的“ValueError:空训练数据”错误

如何修复:ValueError:long() 以 10 为底的无效文字

如何修复'ValueError:shapes(1,3)和(1,1)未对齐:3(dim 1)!= 1(dim 0)'numpy中的错误

如何在迭代 pandas 分组 df 时修复 ValueError?

如何修复“ValueError:零大小数组到没有标识的归约操作 fmin”

在 Python 中建立引擎连接时出现 AWS Wrangler 错误,必须指定区域吗?