首页 > 解决方案 > 在 Sagemaker MXNet 中使用自定义模块

问题描述

我一直在尝试使用 Sagemaker 来运行我的自定义 MXNet 训练作业。在我见过的所有示例中,代码示例如下所示

estimator = MXNet(‘train.py’, role=role, other_params)
estimator.fit(inputs)



如果我train.py依赖自定义模块怎么办?给定这样的目录结构

.
├── awesome
│   ├── __init__.py
│   └── lib.py
└── train.py 

随着我的train.py文件从 导入awesome/lib.py,我在 Sagemaker 上部署这项工作的最佳方式是什么,而无需经历创建 Docker 容器的麻烦。

注意:自定义模块中的所有代码只是常规的 mxnet 代码,组织在各种文件和辅助方法中

标签: amazon-sagemakermxnet

解决方案


您可以使用参数source_dir来指向代码位置,并使用requirements.txt文件来添加依赖项。这将完全避免接触 docker。您可以在 SDK 文档(“使用第三方库”)中查看这些参数,它们可用于训练和部署。请参阅此处的 mxnet 部署示例,其中包含附加依赖项requirements.txt

https://github.com/aws-samples/sagemaker-yolov3-detection-server/blob/master/mxnet_detection_serving.ipynb


推荐阅读