mirror of
https://github.com/zebrajr/tensorflow.git
synced 2025-12-07 00:20:20 +01:00
Change 109344341 Teach ./configure about Python 3 (and other minor Python 3 issues) ./configure now writes bazel.rc based on a bazel.rc.template, which gives us a place to tell bazel which version of Python we were using. Also fix a few tests whose Python 3 support had degraded. The only thing left before we have Python 3 support is https://github.com/google/protobuf/pull/1023 Change 109343002 Update ops.pbtxt to reflect 109321497. Change 109342838 Do memory deallocation outside the critical section in gpu_event_mgr.cc. Change 109334210 PTB LSTM example: use slicing instead of splitting the inputs. Change 109332238 Cleanup TensorBoard local development environment Change 109331051 Use __all__ in __init__.py to restrict exported modules Specifically, __all__ is now anything that (1) doesn't begin with an underscore and (2) isn't a non-whitelisted module. This fixes one tiny piece of b/25561952. Specifically, the following no longer exist: tf.np, tf.math_ops, and tf.variables. tf.ops and tf.tensor_util still exist but shouldn't; that will have to wait for a later CL. Change 109327154 tf.tuple allow Tensors to be passed in as control_inputs like tf.control_dependencies. Change 109324239 Make tf.control_dependencies(None) clear the control dependencies. Use that to prevent ops created for Variables to inherit the current control dependencies. This fixes issues when using ExponentialMovingAverages with control dependencies. Change 109323719 Added support for boolean tf.scatter_update. Base CL: 109348398
106 lines
3.5 KiB
Bash
Executable File
106 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright 2015 Google Inc. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
# ==============================================================================
|
|
|
|
set -e -o errexit
|
|
|
|
EXPECTED_PATHS="util/python/python_include util/python/python_lib third_party/py/numpy/numpy_include"
|
|
|
|
function main {
|
|
argument="$1"
|
|
shift
|
|
case $argument in
|
|
--check)
|
|
check_python
|
|
exit 0
|
|
;;
|
|
--setup)
|
|
setup_python "$1"
|
|
exit 0
|
|
;;
|
|
esac
|
|
}
|
|
|
|
function setup_python {
|
|
PYTHON_BIN_PATH="$1";
|
|
|
|
if [ -z "$PYTHON_BIN_PATH" ]; then
|
|
echo "PYTHON_BIN_PATH was not provided. Did you run configure?"
|
|
exit 1
|
|
fi
|
|
if [ ! -x "$PYTHON_BIN_PATH" ] || [ -d "$PYTHON_BIN_PATH" ]; then
|
|
echo "PYTHON_BIN_PATH is not executable. Is it the python binary?"
|
|
exit 1
|
|
fi
|
|
|
|
local python_major_version=$("${PYTHON_BIN_PATH}" -c 'from __future__ import print_function; import sys; print(sys.version_info[0]);')
|
|
if [ "$python_major_version" == "" ]; then
|
|
echo -e "\n\nERROR: Problem getting python version. Is $PYTHON_BIN_PATH the correct python binary?"
|
|
exit 1
|
|
fi
|
|
|
|
local python_include=$("${PYTHON_BIN_PATH}" -c 'from __future__ import print_function; from distutils import sysconfig; print(sysconfig.get_python_inc());')
|
|
if [ "$python_include" == "" ]; then
|
|
echo -e "\n\nERROR: Problem getting python include path. Is distutils installed?"
|
|
exit 1
|
|
fi
|
|
local python_lib=$("${PYTHON_BIN_PATH}" -c 'from __future__ import print_function; from distutils import sysconfig; print(sysconfig.get_python_lib());')
|
|
if [ "$python_lib" == "" ]; then
|
|
echo -e "\n\nERROR: Problem getting python lib path. Is distutils installed?"
|
|
exit 1
|
|
fi
|
|
local numpy_include=$("${PYTHON_BIN_PATH}" -c 'from __future__ import print_function; import numpy; print(numpy.get_include());')
|
|
if [ "$numpy_include" == "" ]; then
|
|
echo -e "\n\nERROR: Problem getting numpy include path. Is numpy installed?"
|
|
exit 1
|
|
fi
|
|
|
|
for x in $EXPECTED_PATHS; do
|
|
if [ -e "$x" ]; then
|
|
rm "$x"
|
|
fi
|
|
done
|
|
|
|
ln -s "${python_include}" util/python/python_include
|
|
ln -s "${python_lib}" util/python/python_lib
|
|
ln -s "${numpy_include}" third_party/py/numpy/numpy_include
|
|
|
|
# Write tools/bazel.rc
|
|
echo "# Autogenerated by configure: DO NOT EDIT" > tools/bazel.rc
|
|
sed -e "s/\$PYTHON_MAJOR_VERSION/$python_major_version/g" \
|
|
-e "s[\$PYTHON_BINARY[$PYTHON_BIN_PATH[g" \
|
|
tools/bazel.rc.template >> tools/bazel.rc
|
|
}
|
|
|
|
function check_python {
|
|
for x in $EXPECTED_PATHS; do
|
|
if [ ! -e "$x" ]; then
|
|
echo -e "\n\nERROR: Cannot find '${x}'. Did you run configure?\n\n" 1>&2
|
|
exit 1
|
|
fi
|
|
if [ ! -L "${x}" ]; then
|
|
echo -e "\n\nERROR: '${x}' is not a symbolic link. Internal error.\n\n" 1>&2
|
|
exit 1
|
|
fi
|
|
true_path=$(readlink "${x}")
|
|
if [ ! -d "${true_path}" ]; then
|
|
echo -e "\n\nERROR: '${x}' does not refer to an existing directory: ${true_path}. Do you need to rerun configure?\n\n" 1>&2
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
main "$@"
|