You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.1 KiB
107 lines
3.1 KiB
#!/bin/bash
|
|
|
|
function usage(){
|
|
echo "usage: paddle [--help] [<args>]"
|
|
echo "These are common paddle commands used in various situations:"
|
|
echo " train Start a paddle_trainer"
|
|
echo " merge_model Start a paddle_merge_model"
|
|
echo " pserver Start a paddle_pserver_main"
|
|
echo " version Print paddle version"
|
|
echo " dump_config Dump the trainer config as proto string"
|
|
echo " make_diagram Make Diagram using Graphviz"
|
|
echo ""
|
|
echo "'paddle train --help' 'paddle merge_model --help', 'paddle pserver --help', list more detailed usage of each command"
|
|
}
|
|
|
|
|
|
function version(){
|
|
echo "PaddlePaddle @PADDLE_VERSION@, compiled with"
|
|
echo " with_avx: @WITH_AVX@"
|
|
echo " with_gpu: @WITH_GPU@"
|
|
echo " with_double: @WITH_DOUBLE@"
|
|
echo " with_python: @WITH_PYTHON@"
|
|
echo " with_rdma: @WITH_RDMA@"
|
|
echo " with_glog: @WITH_GLOG@"
|
|
echo " with_gflags: @WITH_GFLAGS@"
|
|
echo " with_metric_learning: @WITH_METRIC@"
|
|
echo " with_timer: @WITH_TIMER@"
|
|
echo " with_predict_sdk: @WITH_PREDICT_SDK@"
|
|
}
|
|
|
|
|
|
MYDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
if [ ! -z "${DEBUGGER}" ]; then
|
|
echo "Using debug command ${DEBUGGER}"
|
|
fi
|
|
|
|
CUDNN_LIB_PATH="@CUDNN_LIB_PATH@"
|
|
|
|
if [ ! -z "${CUDNN_LIB_PATH}" ]; then
|
|
export LD_LIBRARY_PATH=${CUDNN_LIB_PATH}:${LD_LIBRARY_PATH}
|
|
fi
|
|
|
|
export PYTHONPATH=${PWD}:${PYTHONPATH}
|
|
|
|
|
|
# Check python lib installed or not.
|
|
pip --help > /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo "pip should be installed to run paddle."
|
|
exit 1
|
|
fi
|
|
|
|
INSTALLED_VERSION=`pip freeze 2>/dev/null | grep '^paddle' | sed 's/.*==//g'`
|
|
|
|
if [ -z ${INSTALLED_VERSION} ]; then
|
|
INSTALLED_VERSION="0.0.0" # not installed
|
|
fi
|
|
cat <<EOF | python -
|
|
from distutils.version import LooseVersion
|
|
import sys
|
|
if LooseVersion("${INSTALLED_VERSION}") < LooseVersion("@PADDLE_VERSION@"):
|
|
sys.exit(1)
|
|
else:
|
|
sys.exit(0)
|
|
EOF
|
|
|
|
if [ $? -eq 1 ]; then # Older version installed, or not installed at all
|
|
echo "First time run paddle, need to install some python dependencies."
|
|
BASEDIR=$(dirname "$0")
|
|
pip install ${BASEDIR}/../opt/paddle/share/wheels/*-@PADDLE_VERSION@-*.whl
|
|
if [ $? -ne 0 ]; then
|
|
echo "pip install wheels failed. "
|
|
echo "Please use 'sudo paddle' at the first time you use PaddlePaddle"
|
|
echo "PaddlePaddle will install some python dependencies automatically."
|
|
exit 1
|
|
fi
|
|
echo "Python dependencies are installed."
|
|
fi
|
|
|
|
case "$1" in
|
|
"train")
|
|
${DEBUGGER} $MYDIR/../opt/paddle/bin/paddle_trainer ${@:2}
|
|
;;
|
|
"merge_model")
|
|
${DEBUGGER} $MYDIR/../opt/paddle/bin/paddle_merge_model ${@:2}
|
|
;;
|
|
"pserver")
|
|
${DEBUGGER} $MYDIR/../opt/paddle/bin/paddle_pserver_main ${@:2}
|
|
;;
|
|
"dump_config")
|
|
python -m paddle.utils.dump_config ${@:2}
|
|
;;
|
|
"make_diagram")
|
|
python -m paddle.utils.make_model_diagram ${@:2}
|
|
;;
|
|
"version")
|
|
version
|
|
;;
|
|
"--help")
|
|
usage
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|