mirror of
https://github.com/vale981/ray
synced 2025-03-09 04:46:38 -04:00
64 lines
1.6 KiB
Bash
64 lines
1.6 KiB
Bash
![]() |
#!/bin/bash
|
||
|
|
||
|
rm -f last_checkpoint.out
|
||
|
|
||
|
if [ "$1" == "local" ]; then
|
||
|
inference_mode=local
|
||
|
else
|
||
|
inference_mode=remote
|
||
|
fi
|
||
|
|
||
|
if [ "$2" == "cartpole" ]; then
|
||
|
server_script=cartpole_server.py
|
||
|
client_script=cartpole_client.py
|
||
|
stop_criterion="--stop-reward=150.0"
|
||
|
else
|
||
|
server_script=unity3d_server.py
|
||
|
client_script=unity3d_dummy_client.py
|
||
|
stop_criterion="--num-episodes=10"
|
||
|
fi
|
||
|
|
||
|
pkill -f $server_script
|
||
|
sleep 1
|
||
|
|
||
|
if [ -f test_policy_client_server_setup.sh ]; then
|
||
|
basedir="../../examples/serving"
|
||
|
else
|
||
|
basedir="rllib/examples/serving" # In bazel.
|
||
|
fi
|
||
|
|
||
|
|
||
|
# Start server with 2 workers (will listen on ports 9900 and 9901 for client
|
||
|
# connections).
|
||
|
# Do not attempt to restore from checkpoint; leads to errors on travis.
|
||
|
(python $basedir/$server_script --run=PPO --num-workers=2 --no-restore 2>&1 | grep -v 200) &
|
||
|
server_pid=$!
|
||
|
|
||
|
echo "Waiting for server to start ..."
|
||
|
while ! curl localhost:9900; do
|
||
|
sleep 1
|
||
|
done
|
||
|
echo "Remote worker #1 on port 9900 is up!"
|
||
|
while ! curl localhost:9901; do
|
||
|
sleep 1
|
||
|
done
|
||
|
echo "Remote worker #2 on port 9901 is up!"
|
||
|
|
||
|
# Start client 1 (connect to port 9900).
|
||
|
sleep 2
|
||
|
(python $basedir/$client_script --inference-mode=$inference_mode --port=9900) &
|
||
|
client1_pid=$!
|
||
|
|
||
|
# Start client 2 (connect to port 9901).
|
||
|
sleep 2
|
||
|
(python $basedir/$client_script --inference-mode=$inference_mode --port=9901) &
|
||
|
client2_pid=$!
|
||
|
|
||
|
# Start client 3 (also connecting to port 9901) and run it until it reaches
|
||
|
# x reward (CartPole) or n episodes (dummy Unity3D).
|
||
|
# Then stop everything.
|
||
|
sleep 2
|
||
|
python $basedir/$client_script $stop_criterion --inference-mode=$inference_mode --port=9901
|
||
|
|
||
|
kill $server_pid $client1_pid $client2_pid || true
|