opendilab / LMDrive

[CVPR 2024] LMDrive: Closed-Loop End-to-End Driving with Large Language Models
Apache License 2.0
677 stars 58 forks source link

Warnings occurred, and the evaluation script exited during execution. #73

Closed CoderXuans closed 2 months ago

CoderXuans commented 2 months ago

@deepcs233 Hello, I encountered an issue during the evaluation. My evaluation script is as follows:

!/bin/bash

export PT=2000

export PT=$(($RANDOM % 1000 + 16000)) bash carla/CarlaUE4.sh --world-port=$PT &

sleep 4

export CARLA_ROOT=/home/syl/LMDrive/carla export CARLA_SERVER=${CARLA_ROOT}/CarlaUE4.sh export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.10-py3.7-linux-x86_64.egg export PYTHONPATH=$PYTHONPATH:leaderboard export PYTHONPATH=$PYTHONPATH:leaderboard/team_code export PYTHONPATH=$PYTHONPATH:scenario_runner

export LEADERBOARD_ROOT=leaderboard export CHALLENGE_TRACK_CODENAME=SENSORS export PORT=$PT # same as the carla server port

export PORT=2000

export TM_PORT=$(($PT+500)) # port for traffic manager, required when spawning multiple servers/clients export DEBUG_CHALLENGE=0 export REPETITIONS=1 # multiple evaluation runs export ROUTES=langauto/benchmark_long.xml export TEAM_AGENT=leaderboard/team_code/lmdriver_agent.py # agent export TEAM_CONFIG=leaderboard/team_code/lmdriver_config.py # model checkpoint, not required for expert export CHECKPOINT_ENDPOINT=results/sample_result.json # results file

export CHECKPOINT_ENDPOINT=results/lmdrive_result.json # results file

export SCENARIOS=leaderboard/data/scenarios/no_scenarios.json #town05_all_scenarios.json

export SCENARIOS=leaderboard/data/official/all_towns_traffic_scenarios_public.json export SAVE_PATH=data/eval # path for saving episodes while evaluating export RESUME=True

echo ${LEADERBOARD_ROOT}/leaderboard/leaderboard_evaluator.py python3 -u ${LEADERBOARD_ROOT}/leaderboard/leaderboard_evaluator.py \ --scenarios=${SCENARIOS} \ --routes=${ROUTES} \ --repetitions=${REPETITIONS} \ --track=${CHALLENGE_TRACK_CODENAME} \ --checkpoint=${CHECKPOINT_ENDPOINT} \ --agent=${TEAM_AGENT} \ --agent-config=${TEAM_CONFIG} \ --debug=${DEBUG_CHALLENGE} \ --record=${RECORD_PATH} \ --resume=${RESUME} \ --port=${PORT} \ --trafficManagerPort=${TM_PORT}

There are warnings, but it seems that these warnings do not affect the execution. However, it still exits. The warnings are as follows: (lmdrive_pyc2.0.1_py3.8) mepus@mepussc:/home/syl/LMDrive$ ./leaderboard/scripts/run_evaluation.sh /bin/bash: /home/mepus/anaconda3/lib/libtinfo.so.6: no version information available (required by /bin/bash) bash: /home/mepus/anaconda3/lib/libtinfo.so.6: no version information available (required by bash) chmod: changing permissions of '/home/syl/LMDrive/carla/CarlaUE4/Binaries/Linux/CarlaUE4-Linux-Shipping': Operation not permitted 4.24.3-0+++UE4+Release-4.24 518 0 Disabling core dumps. leaderboard/leaderboard/leaderboard_evaluator.py leaderboard/leaderboard/leaderboard_evaluator.py:24: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources /home/syl/LMDrive/leaderboard/leaderboard/utils/statistics_manager.py:223: SyntaxWarning: "is not" with a literal. Did you mean "!="? if route_record.status is not 'Completed': localhost 16718 leaderboard/leaderboard/leaderboard_evaluator.py:92: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. if LooseVersion(dist.version) < LooseVersion('0.9.10'): /home/mepus/anaconda3/envs/lmdrive_pyc2.0.1_py3.8/lib/python3.8/site-packages/diffusers/models/cross_attention.py:30: FutureWarning: Importing from cross_attention is deprecated. Please import from diffusers.models.attention_processor instead. deprecate( pygame 2.6.0 (SDL 2.28.4, Python 3.8.19) Hello from the pygame community. https://www.pygame.org/contribute.html Registering the global statistics (lmdrive_pyc2.0.1_py3.8) mepus@mepussc:/home/syl/LMDrive$

CoderXuans commented 2 months ago

@deepcs233 HI!To eliminate errors, I am also sharing my lmdrive_config.py settings: import os

class GlobalConfig: """base architecture configurations"""

# Controller
turn_KP = 1.25
turn_KI = 0.75
turn_KD = 0.3
turn_n = 40  # buffer size

speed_KP = 5.0
speed_KI = 0.5
speed_KD = 1.0
speed_n = 40  # buffer size

max_throttle = 0.75  # upper limit on throttle signal value in dataset
brake_speed = 0.1  # desired speed below which brake is triggered
brake_ratio = 1.1  # ratio of speed to desired speed at which brake is triggered
clip_delta = 0.35  # maximum change in speed input to longitudinal controller

llm_model = '/home/syl/LMDrive/autodl-tmp/vicuna-v1.5-checkpoint.pth'
preception_model = 'memfuser_baseline_e1d3_return_feature'

preception_model_ckpt = '/home/syl/LMDrive/autodl-tmp/vision-encoder-r50.pth.tar'
lmdrive_ckpt = '/home/syl/LMDrive/LAVIS/lavis/output/drivegpt/cvpr/20240806155957/checkpoint_best.pth'

agent_use_notice = True
sample_rate = 2

def __init__(self, **kwargs):
    for k, v in kwargs.items():
        setattr(self, k, v)