-
Notifications
You must be signed in to change notification settings - Fork 376
/
run
executable file
·64 lines (56 loc) · 1.6 KB
/
run
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
set -e
if [[ -n "${RASTER_VISION_DEBUG}" ]]; then
set -x
fi
RASTER_VISION_DATA_DIR="${RASTER_VISION_DATA_DIR:-/tmp}"
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
SCRIPTS_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
PROJECT_ROOT="$( cd -P "$( dirname "$SCRIPTS_DIR" )" && pwd )"
SRC="${PROJECT_ROOT}/src"
function usage() {
echo -n \
"Usage: $(basename "$0")
Run raster-vision image locally.
--aws forwards AWS credentials.
--tensorboard maps port 6006
--gpu use the NVIDIA runtime and GPU image
All arguments after above options are passed to 'docker run'.
"
}
IMAGE="raster-vision-cpu"
# Parse options using scheme in
# https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
--aws)
AWS="-e AWS_PROFILE=${AWS_PROFILE:-default} -v ${HOME}/.aws:/root/.aws:ro"
shift # past argument
;;
--tensorboard)
TENSORBOARD="-p 6006:6006"
shift # past argument
;;
--gpu)
IMAGE="raster-vision-gpu"
RUNTIME="--runtime=nvidia"
shift # past argument
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [ "${BASH_SOURCE[0]}" = "${0}" ]
then
docker run ${RUNTIME} --rm -it ${TENSORBOARD} ${AWS} \
-v "$SRC":/opt/src \
-v ${RASTER_VISION_DATA_DIR}:/opt/data \
${IMAGE} "${@:1}"
fi