pjlab-adg / dilu Goto Github PK
View Code? Open in Web Editor NEW[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
[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
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!
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.
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?
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?
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
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:
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?
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?
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?
similarity_results = self.scenario_memory.similarity_search_with_score(
query_scenario, k=top_k
)
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?
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?
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的实验吗,大概有多少的成功率呢,可以达到百分之九十吗,谢谢。
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?
Dear author, can you provider more information about how you sample the key frame in reflection module?
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.