繁体   English   中英

将配置文件传递给 Sagemaker 训练程序

[英]Pass a config file to Sagemaker training program

设置:

我已经为 AWS Sagemaker Training 选择了自带容器选项。 在 Dockerfile 中,我指定SAGEMAKER_PROGRAM变量指向tools/train.py ,因为我正在使用 mmaction2 存储库。

所以用户正在执行

estimator = PyTorch(
    role='sagemaker_role',
    image_uri="path_in_ecr",
    instance_count=1,
    instance_type="ml.g4dn.xlarge",
    volume_size=40,
    output_path=f"s3://{bucket}/{prefix_output}/",
    sagemaker_session=sagemaker_session,
    max_run=3600 * 2,
)

estimator.fit()

在 ec2 机器上说他们在/home/ubuntu/train_config_mmaction2.py中有一个配置

问题:由于 mmaction2 需要一个配置文件作为指定训练配置的输入,我如何将文件传递给 Sagemaker Training,以便将其从调用 ec2 实例复制到训练实例,并用作定义的SAGEMAKER_PROGRAM的命令行参数在 Dockerfile 中?

我尝试使用 pytorch class 中提供的entrypoint点和source_code代码参数,其中入口点和配置位于源代码目录中,以便复制配置。 但是,这会产生对每次运行都在本地存在入口点的依赖性。 我想知道是否有办法在没有这种依赖的情况下做到这一点

嘿,你可以做很多事情:

  1. source_dir中包含配置文件以及入口点。 这不一定是本地的,它也可以来自 git 存储库,如下所示: 博客演示
  2. 或者您可以使用 SageMaker 输入或检查点通道 ( doc ) 通过 S3 引入配置文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM