Skip to content

Commit

Permalink
Merge branch 'aws:main' into ruinon-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
TRNWWZ authored Jun 27, 2024
2 parents 1487761 + 28f2c5d commit 3f3a6e2
Show file tree
Hide file tree
Showing 13 changed files with 116 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Amazon SageMaker Distribution

Amazon SageMaker Distribution is a set of Docker images that include popular frameworks for machine learning, data
science and visualization.
science and visualization. For the list of supported SageMaker Distributions images, see [SageMaker Distributions Images](supported_images.md#supported-image-versions).

These images come in two variants, CPU and GPU, and include deep learning frameworks like PyTorch, TensorFlow and
Keras; popular Python packages like numpy, scikit-learn and pandas; and IDEs like Jupyter Lab. The distribution contains
Expand Down
2 changes: 2 additions & 0 deletions build_artifacts/v1/v1.9/v1.9.0/cpu.additional_packages_env.in
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
conda-forge::langchain-aws[version='>=0.1.1,<0.2.0']
conda-forge::amazon-sagemaker-jupyter-ai-q-developer[version='>=1.0.3,<2.0']
conda-forge::amazon-q-developer-jupyterlab-ext[version='>=3.1.0,<4.0']
2 changes: 2 additions & 0 deletions build_artifacts/v1/v1.9/v1.9.0/gpu.additional_packages_env.in
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
conda-forge::langchain-aws[version='>=0.1.1,<0.2.0']
conda-forge::amazon-sagemaker-jupyter-ai-q-developer[version='>=1.0.3,<2.0']
conda-forge::amazon-q-developer-jupyterlab-ext[version='>=3.1.0,<4.0']
3 changes: 3 additions & 0 deletions build_artifacts/v2/v2.0/v2.0.0/cpu.additional_packages_env.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Add any additional packages here
conda-forge::mlflow[version='>=2.13.2,<3.0']
conda-forge::sagemaker-mlflow[version='>=0.1.0,<1.0']
3 changes: 3 additions & 0 deletions build_artifacts/v2/v2.0/v2.0.0/gpu.additional_packages_env.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Add any additional packages here
conda-forge::mlflow[version='>=2.13.2,<3.0']
conda-forge::sagemaker-mlflow[version='>=0.1.0,<1.0']
25 changes: 25 additions & 0 deletions supported_images.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Supported Image Versions

The tables below list the supported SageMaker Distribution image versions. SageMaker will only release functionality and security fixes for images versions present in the tables. When you are building images or pulling images from the ECR repository, it is highly recommended for you to choose the supported image versions from the tables below.

### CPU Images

| Image Major Version | Image Minor Version | ECR Image URI |
|---------------------|---------------------|-----------------------|
|1 |1.8 |public.ecr.aws/sagemaker/sagemaker-distribution:1.8-cpu |
|1 |1.7 |public.ecr.aws/sagemaker/sagemaker-distribution:1.7-cpu |
|1 |1.6 |public.ecr.aws/sagemaker/sagemaker-distribution:1.6-cpu |
|1 |1.5 |public.ecr.aws/sagemaker/sagemaker-distribution:1.5-cpu |
|1 |1.4 |public.ecr.aws/sagemaker/sagemaker-distribution:1.4-cpu |
|0 |0.12 |public.ecr.aws/sagemaker/sagemaker-distribution:0.12-cpu |

### GPU Images

| Image Major Version | Image Minor Version | ECR Image URI |
|---------------------|---------------------|-----------------------|
|1 |1.8 |public.ecr.aws/sagemaker/sagemaker-distribution:1.8-gpu |
|1 |1.7 |public.ecr.aws/sagemaker/sagemaker-distribution:1.7-gpu |
|1 |1.6 |public.ecr.aws/sagemaker/sagemaker-distribution:1.6-gpu |
|1 |1.5 |public.ecr.aws/sagemaker/sagemaker-distribution:1.5-gpu |
|1 |1.4 |public.ecr.aws/sagemaker/sagemaker-distribution:1.4-gpu |
|0 |0.12 |public.ecr.aws/sagemaker/sagemaker-distribution:0.12-gpu |
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ FROM $SAGEMAKER_DISTRIBUTION_IMAGE

ARG MAMBA_DOCKERFILE_ACTIVATE=1

CMD ["python", "-c", "import amazon_codewhisperer_jupyterlab_ext"]
CMD ["python", "-c", "import amazon_q_developer_jupyterlab_ext"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ARG SAGEMAKER_DISTRIBUTION_IMAGE
FROM $SAGEMAKER_DISTRIBUTION_IMAGE

ARG MAMBA_DOCKERFILE_ACTIVATE=1

CMD ["python", "-c", "import amazon_sagemaker_jupyter_ai_q_developer"]
16 changes: 16 additions & 0 deletions test/test_artifacts/v2/mlflow.test.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ARG SAGEMAKER_DISTRIBUTION_IMAGE
FROM $SAGEMAKER_DISTRIBUTION_IMAGE

ARG MAMBA_DOCKERFILE_ACTIVATE=1

RUN python -c "import mlflow"

RUN sudo apt-get update && sudo apt-get install -y git && \
git clone --recursive https://github.com/mlflow/mlflow.git && \
:

WORKDIR "mlflow/"
COPY --chown=$MAMBA_USER:$MAMBA_USER scripts/run_mlflow_tests.sh .
RUN chmod +x run_mlflow_tests.sh
# Run tests in run_matplotlib_tests.sh
CMD ["./run_mlflow_tests.sh"]
19 changes: 19 additions & 0 deletions test/test_artifacts/v2/sagemaker-mlflow.test.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ARG SAGEMAKER_DISTRIBUTION_IMAGE
FROM $SAGEMAKER_DISTRIBUTION_IMAGE

ARG MAMBA_DOCKERFILE_ACTIVATE=1

RUN python -c "import sagemaker_mlflow"

RUN sudo apt-get update && sudo apt-get install -y git && \
git clone --recursive https://github.com/aws/sagemaker-mlflow.git && \
:

# For running sagemaker-mlflow tests, we need pytest
RUN micromamba install -y --freeze-installed -c conda-forge pytest

WORKDIR "sagemaker-mlflow/"
COPY --chown=$MAMBA_USER:$MAMBA_USER scripts/run_sagemaker_mlflow_tests.sh .
RUN chmod +x run_sagemaker_mlflow_tests.sh
# Run tests in run_matplotlib_tests.sh
CMD ["./run_sagemaker_mlflow_tests.sh"]
30 changes: 30 additions & 0 deletions test/test_artifacts/v2/scripts/run_mlflow_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

set -e

# Run examples for keras, pytorch, sklearn, tensorflow
cd examples

# keras
cd keras/
python train.py
cd -

# pytorch
cd pytorch/
python mnist_tensorboard_artifact.py
cd -

# sklearn
for folder in "sklearn_autolog/" "sklearn_elasticnet_diabetes/linux/" "sklearn_elasticnet_wine/" "sklearn_logistic_regression/"; do
cd ${folder}
for file in *.py; do
python "$file" || exit $?
done
cd -
done

# tensorflow
cd tensorflow/
python train.py
cd -
5 changes: 5 additions & 0 deletions test/test_artifacts/v2/scripts/run_sagemaker_mlflow_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

set -e

pytest -s -rA -vv test/unit
3 changes: 3 additions & 0 deletions test/test_dockerfile_based_harness.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
("amazon_sagemaker_sql_editor.test.Dockerfile", ["amazon_sagemaker_sql_editor"]),
("serve.test.Dockerfile", ["serve-langchain"]),
("langchain-aws.test.Dockerfile", ["langchain-aws"]),
("mlflow.test.Dockerfile", ["mlflow"]),
],
)
def test_dockerfiles_for_cpu(
Expand Down Expand Up @@ -83,6 +84,8 @@ def test_dockerfiles_for_cpu(
("amazon_sagemaker_sql_editor.test.Dockerfile", ["amazon_sagemaker_sql_editor"]),
("serve.test.Dockerfile", ["serve-langchain"]),
("langchain-aws.test.Dockerfile", ["langchain-aws"]),
("mlflow.test.Dockerfile", ["mlflow"]),
("sagemaker-mlflow.test.Dockerfile", ["sagemaker-mlflow"]),
],
)
def test_dockerfiles_for_gpu(
Expand Down

0 comments on commit 3f3a6e2

Please sign in to comment.