Skip to content

[TensorFlow][Training][Sagemaker] TensorFlow 2.19.0 Currency Release #4789

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 32 commits into
base: master
Choose a base branch
from

Conversation

bhanutejagk
Copy link
Contributor

@bhanutejagk bhanutejagk commented May 8, 2025

GitHub Issue #, if available:

Note:

  • If merging this PR should also close the associated Issue, please also add that Issue # to the Linked Issues section on the right.

  • All PR's are checked weekly for staleness. This PR will be closed if not updated in 30 days.

Description

Tests run

NOTE: By default, docker builds are disabled. In order to build your container, please update dlc_developer_config.toml and specify the framework to build in "build_frameworks"

  • I have run builds/tests on commit for my changes.
Confused on how to run tests? Try using the helper utility...

Assuming your remote is called origin (you can find out more with git remote -v)...

  • Run default builds and tests for a particular buildspec - also commits and pushes changes to remote; Example:

python src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -cp origin

  • Enable specific tests for a buildspec or set of buildspecs - also commits and pushes changes to remote; Example:

python src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -t sanity_tests -cp origin

  • Restore TOML file when ready to merge

python src/prepare_dlc_dev_environment.py -rcp origin

NOTE: If you are creating a PR for a new framework version, please ensure success of the standard, rc, and efa sagemaker remote tests by updating the dlc_developer_config.toml file:

Expand
  • sagemaker_remote_tests = true
  • sagemaker_efa_tests = true
  • sagemaker_rc_tests = true

Additionally, please run the sagemaker local tests in at least one revision:

  • sagemaker_local_tests = true

Formatting

DLC image/dockerfile

Builds to Execute

Expand

Fill out the template and click the checkbox of the builds you'd like to execute

Note: Replace with <X.Y> with the major.minor framework version (i.e. 2.2) you would like to start.

  • build_pytorch_training_<X.Y>_sm

  • build_pytorch_training_<X.Y>_ec2

  • build_pytorch_inference_<X.Y>_sm

  • build_pytorch_inference_<X.Y>_ec2

  • build_pytorch_inference_<X.Y>_graviton

  • build_tensorflow_training_<X.Y>_sm

  • build_tensorflow_training_<X.Y>_ec2

  • build_tensorflow_inference_<X.Y>_sm

  • build_tensorflow_inference_<X.Y>_ec2

  • build_tensorflow_inference_<X.Y>_graviton

Additional context

PR Checklist

Expand
  • I've prepended PR tag with frameworks/job this applies to : [mxnet, tensorflow, pytorch] | [ei/neuron/graviton] | [build] | [test] | [benchmark] | [ec2, ecs, eks, sagemaker]
  • If the PR changes affects SM test, I've modified dlc_developer_config.toml in my PR branch by setting sagemaker_tests = true and efa_tests = true
  • If this PR changes existing code, the change fully backward compatible with pre-existing code. (Non backward-compatible changes need special approval.)
  • (If applicable) I've documented below the DLC image/dockerfile this relates to
  • (If applicable) I've documented below the tests I've run on the DLC image
  • (If applicable) I've reviewed the licenses of updated and new binaries and their dependencies to make sure all licenses are on the Apache Software Foundation Third Party License Policy Category A or Category B license list. See https://www.apache.org/legal/resolved.html.
  • (If applicable) I've scanned the updated and new binaries to make sure they do not have vulnerabilities associated with them.

NEURON/GRAVITON Testing Checklist

  • When creating a PR:
  • I've modified dlc_developer_config.toml in my PR branch by setting neuron_mode = true or graviton_mode = true

Benchmark Testing Checklist

  • When creating a PR:
  • I've modified dlc_developer_config.toml in my PR branch by setting ec2_benchmark_tests = true or sagemaker_benchmark_tests = true

Pytest Marker Checklist

Expand
  • (If applicable) I have added the marker @pytest.mark.model("<model-type>") to the new tests which I have added, to specify the Deep Learning model that is used in the test (use "N/A" if the test doesn't use a model)
  • (If applicable) I have added the marker @pytest.mark.integration("<feature-being-tested>") to the new tests which I have added, to specify the feature that will be tested
  • (If applicable) I have added the marker @pytest.mark.multinode(<integer-num-nodes>) to the new tests which I have added, to specify the number of nodes used on a multi-node test
  • (If applicable) I have added the marker @pytest.mark.processor(<"cpu"/"gpu"/"eia"/"neuron">) to the new tests which I have added, if a test is specifically applicable to only one processor type

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@bhanutejagk bhanutejagk requested a review from a team as a code owner May 8, 2025 00:57
@aws-deep-learning-containers-ci aws-deep-learning-containers-ci bot added authorized build Reflects file change in build folder Size:S Determines the size of the PR tensorflow Reflects file change in tensorflow folder labels May 8, 2025
@bhanutejagk bhanutejagk changed the title Building for training TF 2.19 EC2 [TensorFlow][Training][EC2] TensorFlow 2.19.0 Currency Release May 8, 2025
@bhanutejagk bhanutejagk closed this May 8, 2025
@bhanutejagk bhanutejagk reopened this May 8, 2025
@@ -346,7 +346,7 @@ RUN pip install wheel \
# tf-models does not respect existing installations of TF and always installs open source TF
RUN ${PIP} install --no-cache-dir -U \
tf-models-official==2.18.0 \
tensorflow-text==2.18.1 \
tensorflow-text==2.19.1 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is TF2.18, it shouldn't be modified

@@ -0,0 +1,300 @@
ARG TF_URL=https://storage.googleapis.com/tensorflow/versions/2.19.0/tensorflow_cpu-2.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Copy link
Contributor

@Yadan-Wei Yadan-Wei May 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The path of this file is incorrect, refer to TF2.18 to see the file structure. It should be located inside py3 folder.



# By default we build both training and inference containers. Set true/false values to determine which to build.
build_training = true
build_inference = true
build_inference = false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't add comments on line 108, but it needs a value like dlc-pr-tensorflow-2-training = "tensorflow/training/buildspec-2-19-ec2.yml" to let the system know which image it gonna build.


ARG OPEN_MPI_PATH=/opt/amazon/openmpi
ARG EFA_PATH=/opt/amazon/efa
ARG EFA_VERSION=1.37.0
Copy link
Contributor

@Yadan-Wei Yadan-Wei May 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

latest EFA version is 1.40.0

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But i see 1.37 in TF 2.18

Copy link
Contributor

@Yadan-Wei Yadan-Wei May 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's because at that time latest is 1.37, now EFA installer launched new version.
Refer to bottom of this page https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-verify.html

ARG EFA_PATH=/opt/amazon/efa
ARG EFA_VERSION=1.37.0
ARG OMPI_VERSION=4.1.7
ARG BRANCH_OFI=1.13.2-aws
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OFI now is embedded with EFA installer, so no need to install this.

urllib3 \
"protobuf<4"

# Install AWS OFI NCCL plug-in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to install ofi-nccl since it's embedded in EFA installer

# https://github.com/tensorflow/models/issues/9267
# tf-models does not respect existing installations of TF and always installs open source TF
RUN ${PIP} install --no-cache-dir -U \
tf-models-official==2.19.0 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the latest version of this is 2.19.1 https://pypi.org/project/tf-models-official/#history

# tf-models does not respect existing installations of TF and always installs open source TF
RUN ${PIP} install --no-cache-dir -U \
tf-models-official==2.19.0 \
tensorflow-text==2.19.1 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latest version of this is 2.19.0 https://pypi.org/project/tensorflow-text/#history

# https://github.com/tensorflow/models/issues/9267
# tf-models does not respect existing installations of TF and always installs open source TF
RUN ${PIP} install --no-cache-dir -U \
tf-models-official==2.19.0 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update these versions too.

FROM common AS sagemaker

# Install SageMaker Profiler binary
ARG SMP_URL=https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.332-cp310-cp310-linux_x86_64.whl
Copy link
Contributor

@Yadan-Wei Yadan-Wei May 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am asking SMPPY team about this file, you can leave it here or comment out for now.

@bhanutejagk bhanutejagk requested a review from a team as a code owner May 13, 2025 18:28
@aws-deep-learning-containers-ci aws-deep-learning-containers-ci bot added ec2 Reflects file change in dlc_tests/ec2 folder sagemaker_tests sanity Reflects file change in dlc_tests/sanity folder test Reflects file change in test folder labels May 13, 2025
@bhanutejagk bhanutejagk changed the title [TensorFlow][Training][EC2] TensorFlow 2.19.0 Currency Release [TensorFlow][Training][Sagemaker] TensorFlow 2.19.0 Currency Release May 15, 2025
FROM common AS sagemaker

# Install SageMaker Profiler binary
#ARG SMP_URL=https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.332-cp310-cp310-linux_x86_64.whl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can remove SMP as they won't give us a new version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
authorized build Reflects file change in build folder ec2 Reflects file change in dlc_tests/ec2 folder sagemaker_tests sanity Reflects file change in dlc_tests/sanity folder Size:S Determines the size of the PR tensorflow Reflects file change in tensorflow folder test Reflects file change in test folder
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants