Делитесь кодом на всех этапах конвейера sagemaker безPython

Программы на Python
Anonymous
Делитесь кодом на всех этапах конвейера sagemaker без

Сообщение Anonymous »

Я пытаюсь создать конвейер Sagemaker, состоящий из нескольких шагов. У меня есть код, которым я хотел бы поделиться на разных этапах. Следующий пример не точный, а упрощенная версия для иллюстрации.
У меня есть структура папок, которая выглядит следующим образом:

Код: Выделить всё

source_scripts/
├── utils
│   ├── logger.py
├── models/
│   ├── ground_truth.py
│   ├── document.py
├── processing/
│   ├── processing.py
│   └── main.py
└── training/
├── training.py
└── main.py

Я хотел бы использовать код из моделей и утилит внутри Training.py, поскольку я не знаю, где именно код смонтирован в экземпляре Sagemaker Я использую:

Код: Выделить всё

from ..common.ground_truth import GroundTruthRow
При построении конвейера я создаю этапы обработки и обучения:

Код: Выделить всё

script_processor = FrameworkProcessor()
args = script_processor.get_run_args(
source_dir="source_scripts"
code="processing/main.py"
)
step_process = ProcessingStep(
code=args.code
)

estimator = Estimator(
source_dir="source_scripts"
code="training/main.py"
)
step_train = TrainingStep(
estimator=estimator
)
Но во время выполнения конвейера возникает ошибка:

Код: Выделить всё

ImportError: attempted relative import with no known parent package
Есть предложения, как совместно использовать код для нескольких заданий SageMaker в одном конвейере без создания собственного образа Docker?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ps-without

Вернуться в «Python»