Skip to content

Commit

Permalink
Add an option TF_BUILD_BOTH_GPU_PACKAGES to pip_new.sh to build both …
Browse files Browse the repository at this point in the history
…GPU pip packages.

Update 1.x release script to properly build tensorflow and tensorflow-gpu pip packages.
Fix pip wheel hash mismatch issue for 1.x release.
Fix #33569

PiperOrigin-RevId: 278488549
Change-Id: I96bc089ad0ce65c0da16b4fe5bffa7a7ae3bc8ef
  • Loading branch information
yifeif authored and tensorflower-gardener committed Nov 5, 2019
1 parent 12ed778 commit 28e70ee
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 21 deletions.
30 changes: 29 additions & 1 deletion tensorflow/tools/ci_build/builds/pip_new.sh
Expand Up @@ -55,6 +55,12 @@
# e.g. TF_PROJECT_NAME="tf_nightly_gpu"
# TF_PIP_TEST_ROOT: Root directory for building and testing pip pkgs.
# e.g. TF_PIP_TEST_ROOT="pip_test"
# TF_BUILD_BOTH_GPU_PACKAGES: (1 | 0)
# 1 will build both tensorflow (w/ gpu support)
# and tensorflow-gpu pip package. Will
# automatically handle adding/removing of _gpu
# suffix depending on what project name was
# passed.
#
# To-be-deprecated variable(s).
# GIT_TAG_OVERRIDE: Values for `--git_tag_override`. This flag gets passed
Expand Down Expand Up @@ -234,10 +240,12 @@ fi
DEFAULT_PIP_TESTS="" # Do not run any tests by default
DEFAULT_PROJECT_NAME="tensorflow"
DEFAULT_PIP_TEST_ROOT="pip_test"
DEFAULT_BUILD_BOTH_GPU_PACKAGES=0
# Take in optional global variables
PIP_TESTS=${TF_PIP_TESTS:-$DEFAULT_PIP_TESTS}
PROJECT_NAME=${TF_PROJECT_NAME:-$DEFAULT_PROJECT_NAME}
PIP_TEST_ROOT=${TF_PIP_TEST_ROOT:-$DEFAULT_PIP_TEST_ROOT}
BUILD_BOTH_GPU_PACKAGES=${TF_BUILD_BOTH_GPU_PACKAGES:-$DEFAULT_BUILD_BOTH_GPU_PACKAGES}

# Local variables
PIP_WHL_DIR="${KOKORO_ARTIFACTS_DIR}/tensorflow/${PIP_TEST_ROOT}/whl"
Expand Down Expand Up @@ -636,7 +644,27 @@ echo "Size of the PIP wheel file built: $(ls -l ${WHL_PATH} | awk '{print $5}')"
# Run tests (if any is specified).
run_all_tests

for WHL_PATH in $(ls ${PIP_WHL_DIR}/${PROJECT_NAME}*.whl); do
# Build the other GPU package.
if [ "$BUILD_BOTH_GPU_PACKAGES" -eq "1" ]; then
echo "====================================="\
"Building the other GPU pip package."
# Check container type
if ! [[ ${CONTAINER_TYPE} == "gpu" ]]; then
die "Error: CONTAINER_TYPE needs to be `GPU` to build GPU packages. Got "\
"\"${CONTAINER_TYPE}\" instead."
fi
if [[ "$PROJECT_NAME" == *_gpu ]]; then
NEW_PROJECT_NAME=${PROJECT_NAME%"_gpu"}
else
NEW_PROJECT_NAME="${PROJECT_NAME}_gpu"
fi
echo "The given gpu \$PROJECT_NAME is ${PROJECT_NAME}. The additional GPU "\
"pip package will have project name ${NEW_PROJECT_NAME}."

./bazel-bin/tensorflow/tools/pip_package/build_pip_package ${PIP_WHL_DIR} ${GPU_FLAG} ${NIGHTLY_FLAG} "--project_name" ${NEW_PROJECT_NAME} || die "build_pip_package FAILED"
fi

for WHL_PATH in $(ls ${PIP_WHL_DIR}/*.whl); do
if [[ ${OS_TYPE} == "ubuntu" ]]; then
# Avoid Python3.6 abnormality by installing auditwheel here.
set +e
Expand Down
Expand Up @@ -58,9 +58,7 @@ export IS_NIGHTLY=0 # Not nightly
export TF_PROJECT_NAME=${PROJECT_NAME}
export TF_PIP_TEST_ROOT="pip_test"

./tensorflow/tools/ci_build/builds/pip_new.sh
# To build both tensorflow and tensorflow-gpu pip packages
export TF_BUILD_BOTH_GPU_PACKAGES=1

# Copy and rename to tensorflow
for WHL_PATH in $(ls "${KOKORO_ARTIFACTS_DIR}"/tensorflow/${TF_PIP_TEST_ROOT}/whl/tensorflow_gpu*.whl); do
copy_to_new_project_name "${WHL_PATH}" tensorflow
done
./tensorflow/tools/ci_build/builds/pip_new.sh
Expand Up @@ -58,9 +58,7 @@ export IS_NIGHTLY=0 # Not nightly
export TF_PROJECT_NAME=${PROJECT_NAME}
export TF_PIP_TEST_ROOT="pip_test"

./tensorflow/tools/ci_build/builds/pip_new.sh
# To build both tensorflow and tensorflow-gpu pip packages
export TF_BUILD_BOTH_GPU_PACKAGES=1

# Copy and rename to tensorflow
for WHL_PATH in $(ls "${KOKORO_ARTIFACTS_DIR}"/tensorflow/${TF_PIP_TEST_ROOT}/whl/tensorflow_gpu*.whl); do
copy_to_new_project_name "${WHL_PATH}" tensorflow
done
./tensorflow/tools/ci_build/builds/pip_new.sh
Expand Up @@ -58,9 +58,7 @@ export IS_NIGHTLY=0 # Not nightly
export TF_PROJECT_NAME=${PROJECT_NAME}
export TF_PIP_TEST_ROOT="pip_test"

./tensorflow/tools/ci_build/builds/pip_new.sh
# To build both tensorflow and tensorflow-gpu pip packages
export TF_BUILD_BOTH_GPU_PACKAGES=1

# Copy and rename to tensorflow
for WHL_PATH in $(ls "${KOKORO_ARTIFACTS_DIR}"/tensorflow/${TF_PIP_TEST_ROOT}/whl/tensorflow_gpu*.whl); do
copy_to_new_project_name "${WHL_PATH}" tensorflow
done
./tensorflow/tools/ci_build/builds/pip_new.sh
Expand Up @@ -58,9 +58,7 @@ export IS_NIGHTLY=0 # Not nightly
export TF_PROJECT_NAME=${PROJECT_NAME}
export TF_PIP_TEST_ROOT="pip_test"

./tensorflow/tools/ci_build/builds/pip_new.sh
# To build both tensorflow and tensorflow-gpu pip packages
export TF_BUILD_BOTH_GPU_PACKAGES=1

# Copy and rename to tensorflow
for WHL_PATH in $(ls "${KOKORO_ARTIFACTS_DIR}"/tensorflow/${TF_PIP_TEST_ROOT}/whl/tensorflow_gpu*.whl); do
copy_to_new_project_name "${WHL_PATH}" tensorflow
done
./tensorflow/tools/ci_build/builds/pip_new.sh

0 comments on commit 28e70ee

Please sign in to comment.