-
create a cloud9 environment in
east-us-1
with name:sagemaker-container-workshop
and typet2.micro
. -
In cloud9, bash shell exec:
git clone https://github.com/awslabs/amazon-sagemaker-examples.git
-
cp -r amazon-sagemaker-examples/advanced_functionality/scikit_bring_your_own/ /home/ec2-user/environment/.
-
cd scikit_bring_your_own/container/
-
Build the docker image:
./build_and_push.sh <image-name>
. Image name suggest to usescikit-<your-name>
format. -
docker images
: you will seescikit-<your-name>
withlatest
TAG in your cloud9 and ecr respository.
cd local_test
chmod +x *.sh
./train_local.sh scikit-<your-name>
ls test_dir/model/
to check the model output.
mv test_dir/input/config/hyperparameters.json test_dir/input/config/hyperparameters.json.bak
./train_local.sh scikit-<your-name>
You will see error in the consolecat test_dir/output/failure
to see failuremv test_dir/input/config/hyperparameters.json.bak test_dir/input/config/hyperparameters.json
./train_local.sh scikit-<your-name>
./serve_local.sh scikit-<your-name> > output.log
- Open new shell terminal in cloud9
cd scikit_bring_your_own/container/local_test/
./predict.sh payload.csv text/csv
- remember to change the bucket name
sagemaker-iris-dataset-<your-id>-yyyymmdd
cd /home/ec2-user/environment/scikit_bring_your_own/container/local_test/test_dir
aws s3api create-bucket --bucket sagemaker-iris-dataset-beyoung-20200806 --create-bucket-configuration LocationConstraint=us-west-2
aws s3 cp . s3://sagemaker-iris-dataset-beyoung-20200806 --recursive
s3 bucket name as sagemaker-iris-dataset-<your-id>-yyyymmdd/data/training/
- Job name:
scikit-<your-name>-yyyymmdd
- Algorithm:
Custom
- Input mode:
File
- Training image:
<Amazon ECR path>:<tag>
. Can get it fromdocker images
- Hyperparameters:
max_leaf_nodes
value:8
- Training
- Output data configuration: s3 output path:
s3://sagemaker-iris-dataset-<your-id>/models/
- create training job.
- After training job complete, you will see model in
s3://<bucket name>/models/<job name>/output/model.tar.gz
You can get it from trainig jobs detail page.
-
click create endpoint
In cloud9, install pip3:
sudo easy_install-3.6 pip
sudo /usr/local/bin/pip3 install boto3 pandas
Download the test-endpoint-sample.py
in the same github folder.
wget "https://raw.githubusercontent.com/HKT-SSA/bring-your-own-container-on-sm/master/test-endpoint-sample.py" \
-O "/home/ec2-user/environment/test-endpoint-sample.py"
- SageMaker Endpoint
- s3
- cloud9