124 lines
3.6 KiB
Bash
124 lines
3.6 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
# Copyright 2017 The TensorFlow Authors. 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 -u # Check for undefined variables
|
||
|
|
||
|
die() {
|
||
|
# Print a message and exit with code 1.
|
||
|
#
|
||
|
# Usage: die <error_message>
|
||
|
# e.g., die "Something bad happened."
|
||
|
|
||
|
echo $@
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
echo "Collecting system information..."
|
||
|
|
||
|
OUTPUT_FILE=tf_env.txt
|
||
|
python_bin_path=$(which python || which python3 || die "Cannot find Python binary")
|
||
|
|
||
|
{
|
||
|
echo
|
||
|
echo "== cat /etc/issue ==============================================="
|
||
|
uname -a
|
||
|
uname=`uname -s`
|
||
|
if [ "$(uname)" == "Darwin" ]; then
|
||
|
echo Mac OS X `sw_vers -productVersion`
|
||
|
elif [ "$(uname)" == "Linux" ]; then
|
||
|
cat /etc/*release | grep VERSION
|
||
|
fi
|
||
|
|
||
|
echo
|
||
|
echo '== are we in docker ============================================='
|
||
|
num=`cat /proc/1/cgroup | grep docker | wc -l`;
|
||
|
if [ $num -ge 1 ]; then
|
||
|
echo "Yes"
|
||
|
else
|
||
|
echo "No"
|
||
|
fi
|
||
|
|
||
|
echo
|
||
|
echo '== compiler ====================================================='
|
||
|
c++ --version 2>&1
|
||
|
|
||
|
echo
|
||
|
echo '== uname -a ====================================================='
|
||
|
uname -a
|
||
|
|
||
|
echo
|
||
|
echo '== check pips ==================================================='
|
||
|
pip list 2>&1 | grep "proto\|numpy\|tensorflow"
|
||
|
|
||
|
|
||
|
echo
|
||
|
echo '== check for virtualenv ========================================='
|
||
|
${python_bin_path} -c "import sys;print(hasattr(sys, \"real_prefix\"))"
|
||
|
|
||
|
echo
|
||
|
echo '== tensorflow import ============================================'
|
||
|
} >> ${OUTPUT_FILE}
|
||
|
|
||
|
cat <<EOF > /tmp/check_tf.py
|
||
|
import tensorflow as tf;
|
||
|
print("tf.VERSION = %s" % tf.VERSION)
|
||
|
print("tf.GIT_VERSION = %s" % tf.GIT_VERSION)
|
||
|
print("tf.COMPILER_VERSION = %s" % tf.GIT_VERSION)
|
||
|
with tf.Session() as sess:
|
||
|
print("Sanity check: %r" % sess.run(tf.constant([1,2,3])[:1]))
|
||
|
EOF
|
||
|
${python_bin_path} /tmp/check_tf.py 2>&1 >> ${OUTPUT_FILE}
|
||
|
|
||
|
DEBUG_LD=libs ${python_bin_path} -c "import tensorflow" 2>>${OUTPUT_FILE} > /tmp/loadedlibs
|
||
|
|
||
|
{
|
||
|
grep libcudnn.so /tmp/loadedlibs
|
||
|
echo
|
||
|
echo '== env =========================================================='
|
||
|
if [ -z ${LD_LIBRARY_PATH+x} ]; then
|
||
|
echo "LD_LIBRARY_PATH is unset";
|
||
|
else
|
||
|
echo LD_LIBRARY_PATH ${LD_LIBRARY_PATH} ;
|
||
|
fi
|
||
|
if [ -z ${DYLD_LIBRARY_PATH+x} ]; then
|
||
|
echo "DYLD_LIBRARY_PATH is unset";
|
||
|
else
|
||
|
echo DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH} ;
|
||
|
fi
|
||
|
|
||
|
|
||
|
echo
|
||
|
echo '== nvidia-smi ==================================================='
|
||
|
nvidia-smi 2>&1
|
||
|
|
||
|
echo
|
||
|
echo '== cuda libs ==================================================='
|
||
|
} >> ${OUTPUT_FILE}
|
||
|
|
||
|
find /usr/local -type f -name 'libcudart*' 2>/dev/null | grep cuda | grep -v "\\.cache" >> ${OUTPUT_FILE}
|
||
|
find /usr/local -type f -name 'libudnn*' 2>/dev/null | grep cuda | grep -v "\\.cache" >> ${OUTPUT_FILE}
|
||
|
|
||
|
# Remove any words with google.
|
||
|
mv $OUTPUT_FILE old-$OUTPUT_FILE
|
||
|
grep -v -i google old-${OUTPUT_FILE} > $OUTPUT_FILE
|
||
|
|
||
|
echo "Wrote environment to ${OUTPUT_FILE}. You can review the contents of that file."
|
||
|
echo "and use it to populate the fields in the github issue template."
|
||
|
echo
|
||
|
echo "cat ${OUTPUT_FILE}"
|
||
|
echo
|
||
|
|