File size: 1,278 Bytes
00c55c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env bash
set -Eeuo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

if [ -n "${OPENPI_PYTHON:-}" ]; then
    PY="$OPENPI_PYTHON"
elif [ -x "$ROOT/.venv/bin/python" ]; then
    PY="$ROOT/.venv/bin/python"
else
    PY="$(command -v python3 || true)"
fi

if [ -z "$PY" ] || [ ! -x "$PY" ]; then
    echo "ERROR: no usable Python interpreter found"
    exit 1
fi

CHECKPOINT="${POLICY_CHECKPOINT:-$ROOT/checkpoints/29999}"
HOST="${POLICY_HOST:-0.0.0.0}"
PORT="${POLICY_PORT:-8000}"
DEFAULT_PROMPT="${POLICY_DEFAULT_PROMPT:-}"

export PYTHONDONTWRITEBYTECODE=1
export PYTHONPATH="$ROOT:$ROOT/src:$ROOT/packages/openpi-client/src"
export OPENPI_REAL_PIPER_X_ASSETS="$CHECKPOINT/assets"
export XLA_PYTHON_CLIENT_PREALLOCATE="${XLA_PYTHON_CLIENT_PREALLOCATE:-false}"

if [ -n "${POLICY_GPU:-}" ]; then
    export CUDA_VISIBLE_DEVICES="$POLICY_GPU"
fi

ARGS=(
    --checkpoint "$CHECKPOINT"
    --host "$HOST"
    --port "$PORT"
)

if [ -n "$DEFAULT_PROMPT" ]; then
    ARGS+=(--default-prompt "$DEFAULT_PROMPT")
fi

echo "Repository: $ROOT"
echo "Python: $PY"
echo "Checkpoint: $CHECKPOINT"
echo "Server: ws://$HOST:$PORT"
echo "CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES:-unchanged}"

cd "$ROOT"
exec "$PY" -u deployment/serve_piperx.py "${ARGS[@]}" "$@"