| # bash run_evaluations.bash PORT_NUMBER | |
| # Create logs directory if it doesn't exist | |
| mkdir -p logs | |
| LOG_FILE="logs/evaluation_results-${1}.log" | |
| # Clear the log file | |
| > $LOG_FILE | |
| # List of environments to evaluate | |
| # envs=( | |
| # "widowx_spoon_on_towel" | |
| # "widowx_carrot_on_plate" | |
| # "widowx_put_eggplant_in_basket" | |
| # "widowx_put_eggplant_in_sink" | |
| # "widowx_stack_cube" | |
| # "widowx_close_drawer" | |
| # "widowx_open_drawer" | |
| # ) | |
| envs=( | |
| "google_robot_pick_coke_can" | |
| "google_robot_pick_object" | |
| "google_robot_move_near" | |
| "google_robot_open_drawer" | |
| "google_robot_close_drawer" | |
| "google_robot_place_in_closed_drawer" | |
| ) | |
| echo "Starting evaluations..." | tee -a $LOG_FILE | |
| echo "=================================" | tee -a $LOG_FILE | |
| for env in "${envs[@]}"; do | |
| echo "Running evaluation for: $env" | tee -a $LOG_FILE | |
| echo "---------------------------------" | tee -a $LOG_FILE | |
| # Run the evaluation and capture output | |
| output=$(python eval_simpler.py --env "$env" --groot_port $1 --eval_count 350 --headless --episode_length 300 2>&1) | |
| exit_code=$? | |
| # Get the last 2 lines of output | |
| last_lines=$(echo "$output" | tail -n 2) | |
| # Log the results | |
| echo "Environment: $env" >> $LOG_FILE | |
| echo "$last_lines" >> $LOG_FILE | |
| echo "Exit code: $exit_code" >> $LOG_FILE | |
| echo "---------------------------------" >> $LOG_FILE | |
| echo "" >> $LOG_FILE | |
| # Print to console as well | |
| echo "Last 2 lines for $env:" | |
| echo "$last_lines" | |
| echo "Exit code: $exit_code" | |
| echo "" | |
| done | |
| echo "All evaluations completed. Results saved to $LOG_FILE" | |