GithubHelp home page GithubHelp logo

pjlab-adg / dilu Goto Github PK

View Code? Open in Web Editor NEW
207.0 207.0 15.0 20.76 MB

[ICLR 2024] DiLu: A Knowledge-Driven Approach to Autonomous Driving with Large Language Models

Home Page: https://pjlab-adg.github.io/DiLu/

License: Apache License 2.0

Python 100.00%

dilu's People

Contributors

zijinoier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dilu's Issues

The Scenario Descriptor

Hi, first of all, congratulations on your great work!
I think you work has a lot of contributions to autonomous driving community.

Due to my mediocre understanding, I did not fully understand how the Scenario Descriptor transcribes the observed environment into scenario in a natural language.
Could you explain in more details about how the descriptor works (how it changes observed env into natural language form).
And could you specify the code that implements the descriptor part.

I really appreciate your hard work and effort.
Thank you!

Env setting not match

Hi, thanks for sharing your code! I have two questions with respect to your repo: (1) in your yaml file, the target speed level is different from what mentioned in the paper (available speed levels are 10, 15, 20, 25, and 32 units), and (2) how many random seeds do you use to collect the success rate for the paper? From your config.yaml file, it seems only 3 random seeds are used.

Fatal Python error: (pygame parachute) Segmentation Fault

when i run "python run_dilu.py",got this error:

==========Loaded  memories/20_mem  Memory, Now the database has  21  items.==========
Fatal Python error: (pygame parachute) Segmentation Fault
Python runtime state: initialized

Thread 0x00007f72ed5ff700 (most recent call first):
  File "/home/anaconda3/envs/dilu2/lib/python3.8/http/client.py", line 972 in send
  File "/home/anaconda3/envs/dilu2/lib/python3.8/http/client.py", line 898 in _tunnel
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/urllib3/connection.py", line 633 in connect
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1048 in _prepare_proxy
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/urllib3/connectionpool.py", line 779 in urlopen
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/requests/adapters.py", line 667 in send
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/requests/sessions.py", line 703 in send
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/requests/sessions.py", line 589 in request
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/requests/sessions.py", line 637 in post
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/request.py", line 55 in post
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/request.py", line 88 in batch_post
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/consumer.py", line 139 in send_request
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/backoff/_sync.py", line 105 in retry
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/consumer.py", line 148 in request
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/consumer.py", line 81 in upload
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/posthog/consumer.py", line 65 in run
  File "/home/anaconda3/envs/dilu2/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/home/anaconda3/envs/dilu2/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007f736b326700 (most recent call first):
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/highway_env/envs/common/graphics.py", line 40 in __init__
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/highway_env/envs/common/abstract.py", line 283 in render
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/utils/passive_env_checker.py", line 391 in env_render_passive_checker
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/wrappers/env_checker.py", line 63 in render
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/wrappers/order_enforcing.py", line 70 in render
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/wrappers/monitoring/video_recorder.py", line 114 in capture_frame
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/wrappers/record_video.py", line 137 in start_video_recorder
  File "/home/anaconda3/envs/dilu2/lib/python3.8/site-packages/gymnasium/wrappers/record_video.py", line 118 in reset
  File "run_dilu.py", line 99 in <module>

environments:
Ubuntu 16.04.7 LTS
i downloaded all lib as requirements.txt

Has anyone else had this problem?

Reproduce results

Thank you for sharing the code! Can you also specify how to reproduce the results reported in the paper? For example, what 10 random seeds are used? I also note that the target speeds specified in the "run_dilu.py" are different from what described in the paper, can you clarify it? Is the environment setting defined in "run_dilu.py" also used for "grad" training?

The experiment went wrong!!help!

Dear author, I ran your code and then ran into an error when storing the update experience for the second time, what is the reason?
The following error message is displayed.
==========Simulation 2 Done==========
Moviepy - Building video C:\Users\X\Desktop\DiLu-main\results\highway_2-episode-0.mp4.
Moviepy - Writing video C:\Users\X\Desktop\DiLu-main\results\highway_2-episode-0.mp4

Traceback (most recent call last):
Moviepy - Done !
Moviepy - video ready C:\Users\X\Desktop\DiLu-main\results\highway_2-episode-0.mp4
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\openai\openai_object.py", line 59, in getattr
return self[k]
KeyError: 'data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\X\Desktop\DiLu-main\run_dilu.py", line 121, in
fewshot_results = agent_memory.retriveMemory(
File "C:\Users\X\Desktop\DiLu-main\dilu\driver_agent\vectorStore.py", line 43, in retriveMemory
similarity_results = self.scenario_memory.similarity_search_with_score(
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\vectorstores\chroma.py", line 432, in similarity_search_with_score
query_embedding = self._embedding_function.embed_query(query)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\embeddings\openai.py", line 578, in embed_query
return self.embed_documents([text])[0]
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\embeddings\openai.py", line 549, in embed_documents
return self.get_len_safe_embeddings(texts, engine=engine)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\embeddings\openai.py", line 425, in get_len_safe_embeddings
response = embed_with_retry(
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\embeddings\openai.py", line 114, in embed_with_retry
return embed_with_retry(**kwargs)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\tenacity_init
.py", line 289, in wrapped_f
return self(f, *args, **kw)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\tenacity_init
.py", line 379, in call
do = self.iter(retry_state=retry_state)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\tenacity_init
.py", line 314, in iter
return fut.result()
File "D:\ProgramData\anaconda3\envs\dilu\lib\concurrent\futures_base.py", line 437, in result
return self.__get_result()
File "D:\ProgramData\anaconda3\envs\dilu\lib\concurrent\futures_base.py", line 389, in __get_result
raise self.exception
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\tenacity_init
.py", line 382, in call
result = fn(*args, **kwargs)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\langchain\embeddings\openai.py", line 111, in _embed_with_retry
response = embeddings.client.create(**kwargs)
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\openai\api_resources\embedding.py", line 38, in create
for data in response.data:
File "D:\ProgramData\anaconda3\envs\dilu\lib\site-packages\openai\openai_object.py", line 61, in getattr
raise AttributeError(*err.args)
AttributeError: data

Process finished with exit code 1
@zijinoier

Some small problem

Hello, first of all, congratulations on having your work accepted by ICLR.

I'm also very interested in your work, but I have a few questions I hope the authors can address:

  1. Where does the experience used in the simulation come from? In Figure 6 of the paper, a comparison is made with Memory libraries containing 5, 20, and 40 experiences, but in the project's Memory library, there are only 21 experiences. Why 21? Were 5 and 20 randomly selected from it during simulation? How was the scenario with 40 experiences completed? Do readers need to simulate it themselves and then use the reflection module to generate it?

  2. Does the Memory library need to be updated in real time? From the project source code, it seems like you don't update the Memory library used in the simulation in real time, but instead write the experiences generated by the reflection module to another Memory library. In theory, doesn't this need real-time updating?

  3. Diversity of experiences in the Memory library: If the Memory module doesn't need to be updated in real time, and a fixed-size Memory library is selected for simulation use, how do you ensure the diversity of experiences in the Memory library?

budget estimate to reproduce the results

Thank you very much for sharing this inspiring study. As OpenAI AP is not free, any information regarding the budget to fully reproduce the results in the paper?

Quick question realted to the experiment environment

Thanks for your interesting work.

I have a quick question related to the environment you use (i.e., highway-env). Is it possible to customize the environment? For example, can I control the trajectory and status (e.g., speed, acceleration) of other vehicles to customize the environment I want for evaluation?

When will this code be released?

Thanks for your awesome work! I just want to know when will this code be released? I am looking forward to playing with this project!

其他密度的实验

我看论文里面的实验是从道路4密度2开始的,请问你们做了道路4密度1的实验吗,大概有多少的成功率呢,可以达到百分之九十吗,谢谢。

hardware conditions

Thanks for sharing your codes!
But I want to know what gpu and how many do I need to do the inference and trainning? And how much time?

The code for GRAD algorithm

Thanks for your great work in ICLR 2024, I am quite interested in your work. As I want to compare the performance of RL and LLM, Could you please also share the code for the GRAD algorithm?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.