Home › Forums › AWS › AWS Certified Machine Learning – Specialty › Docker containers on SageMaker
-
Docker containers on SageMaker
Carlo-TutorialsDojo updated 3 years, 7 months ago 2 Members · 2 Posts -
The question is:
A Machine Learning Specialist wishes to train a model on an Amazon SageMaker notebook instance. The Specialist will build a custom training container using a python training script that he developed on his local machine.
Which method will enable the Specialist to use the training script?
(view) 1 0 1 00:02:00
Store the training script inside the /opt/ml/code directory and define it as the script entry point in the SAGEMAKER_PROGRAM environment variable.
Place the training script in the /opt/ml/model directory and define it as the script entry point in the SAGEMAKER_PROGRAM environment variable.
Store the training script inside the /opt/ml/code directory and define it as the script entry point in the SAGEMAKER_TRAIN environment variable.
Place the training script in the /opt/ml/model directory and define it as the script entry point in the SAGEMAKER_TRAIN environment variable.
now in the answers they refer to: https://docs.aws.amazon.com/sagemaker/latest/dg/adapt-training-container.html
However if you dig a bit deeper in the documentation https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers-create.html
” If none of the existing SageMaker containers meet your needs and you don’t have an existing container of your own, you may need to create a new Docker container. The following sections show how to create Docker containers with your training and inference algorithms for use with SageMaker.”
https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-dockerfile.html
“/opt/ml and all sub-directories are reserved by SageMaker training. When building your algorithm’s Docker image, please ensure you don’t place any data required by your algorithm under them as the data may no longer be visible during training.“
Which is correct?
-
Hello goking,
Thanks for raising this.
SageMaker requires a specific folder structure inside the /opt/ml directory where it stores its artifacts when you’re building a custom algorithm.
The excerpt “/opt/ml and all sub-directories are reserved by SageMaker training. When building your algorithm’s Docker image, please ensure you don’t place any data required by your algorithm under them as the data may no longer be visible during training.“ from the documentation is quite confusing because it did not specify what kind of data it is referring to.
I’ve already sent an inquiry to AWS about this matter and I’ll update you as soon as I get a reply.
But as far as the question goes, The /opt/ml/code/ directory is where the training code must be stored. AWS has detailed steps in creating custom SageMaker containers that you can check. The usage of the /opt/ml/code is shown here https://github.com/aws/sagemaker-containers.
Let me know if you have other queries.
Regards,
Carlo @ Tutorials Dojo
Log in to reply.