Python 如何使用amazon sagemaker pytorch estimator处理文件夹中嵌套的入口点?

Python 如何使用amazon sagemaker pytorch estimator处理文件夹中嵌套的入口点?,python,pytorch,amazon-sagemaker,Python,Pytorch,Amazon Sagemaker,我正在尝试使用python sagemaker sdk estimator类在amazon sagemaker上运行一个培训作业 我有以下几点 estimator = PyTorch(entry_point='training_scripts/train_MSCOCO.py', source_dir='./', role=#dummy_role,

我正在尝试使用python sagemaker sdk estimator类在amazon sagemaker上运行一个培训作业

我有以下几点

estimator = PyTorch(entry_point='training_scripts/train_MSCOCO.py',
                            source_dir='./',
                            role=#dummy_role,
                            train_instance_type='ml.p3.2xlarge',
                            train_instance_count=1,
                            framework_version='1.0.0',
                            output_path=#dummy_output_path,
                            hyperparameters={'lr': 0.001,
                                             'batch_size': 32,
                                             'num_workers': 4,
                                             'description': description})
角色和输出路径为隐私而隐藏

我得到以下错误,“没有名为training\u scripts\train\u MSCOCO的模块”

当我运行python-m training\u scripts.train\u MSCOCO时,脚本运行良好。但是,当我通过
entry\u point='training\u script.train\u MSCOCO.py
时,它将不会运行,因为在目录“/”中找不到名为“training\u scripts.train\u MSCOCO.py”的文件


我对如何在AWS sagemaker中从我的存储库的顶层运行嵌套的培训脚本感到困惑,因为它们似乎有冲突的路径需求,一个是python模块点表示法,另一个是标准文件路径斜杠表示法。

其中一个可以工作:

estimator = PyTorch(entry_point='training_scripts/train_MSCOCO.py',
                    role=#dummy_role,
                    ...

estimator = PyTorch(entry_point='train_MSCOCO.py',
                    source_dir='training_scripts',
                    role=#dummy_role,
                    ...

其中任何一项都将起作用:

estimator = PyTorch(entry_point='training_scripts/train_MSCOCO.py',
                    role=#dummy_role,
                    ...

estimator = PyTorch(entry_point='train_MSCOCO.py',
                    source_dir='training_scripts',
                    role=#dummy_role,
                    ...

您好,澄清一下,在source_dir“./”中还有其他源代码。这两种解决方案都无法正确导入源目录。sagemaker sdk目前存在一个问题,即当您同时提供源目录值时,无法在培训容器中正确处理包含路径的输入点值。Julien的解决方案会起作用,但您可能需要重新编写源代码。您好,澄清一下,在source_dir“./”中还有其他源代码。这两种解决方案都无法正确导入源目录。sagemaker sdk目前存在一个问题,即当您同时提供源目录值时,无法在培训容器中正确处理包含路径的输入点值。Julien的解决方案会起作用,但您可能需要重新编写源代码。