我尝试创建一个custom SageMaker image并从它启动内核,因为我想看看是否可以通过自定义SageMaker映像在SageMaker Studio中使用black(python代码格式化程序)。
到目前为止,我已经能够将映像附加到SageMaker域,并开始从自定义映像启动内核,遵循these steps。但是,笔记本一打开,就会在笔记本中显示以下错误:
无法启动应用程序[black-conda-ml-t3-medium-7123fdb901f81ab5]。资源未找到错误:SageMaker无法使用映像[123456789012.dkr.ecr.us-east-1.amazonaws.com/conda-sample@sha256:12345]启动应用。请确保AppImageConfig中提供的UID/GID与映像中定义的默认UID/GID匹配。(上下文:请求ID:21234b0f568,时间戳:1677767016.2990377,日期:2023年3月2日星期四14:23:36)
下面是相关的代码片段:停靠文件:
FROM continuumio/miniconda3:4.9.2
COPY environment.yml .
RUN conda env update -f environment.yml --prune
environment.yml:
name: base
channels:
- conda-forge
dependencies:
- python=3.9
- numpy
- awscli
- boto3
- ipykernel
- black
和应用程序图像配置:
{
"AppImageConfigName": "conda-env-kernel-config",
"KernelGatewayImageConfig": {
"KernelSpecs": [
{
"Name": "python3",
"DisplayName": "Python [conda env: myenv]"
}
],
"FileSystemConfig": {
"MountPath": "/root",
"DefaultUid": 0,
"DefaultGid": 0
}
}
}
我尝试跟踪this troubleshooting guide,但似乎没有解决我的问题,因为所有的诊断都正常工作。例如,当我在本地容器中运行id -u
和id -g
时,结果0
和0
与"DefaultUid": 0, "DefaultGid": 0
的AppImageConfig设置对齐。
1条答案
按热度按时间ru9i0ody1#
在本地 * 拥有 * AppImageConfig并仅将构建的映像推送到ECR是不够的--您还需要使用以下命令推送AppImageConfig:
然后在将自定义图像附加到SageMaker域时使用它。
如果您在控制台中执行此操作,则实际上并不使用AppImageConfig文件本身--您只需将其中的信息输入到创建映像对话框中: