facebookresearch / nocturne Goto Github PK
View Code? Open in Web Editor NEWA data-driven, fast driving simulator for multi-agent coordination under partial observability.
License: MIT License
A data-driven, fast driving simulator for multi-agent coordination under partial observability.
License: MIT License
Running python setup.py develop
failed and here's the error message:
/usr/bin/ld: warning: libudev.so.0, needed by /home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1, not found (try using -rpath or -rpath-link)
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_devnode'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_enable_receiving'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_new_from_syspath'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_unref'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_new_from_netlink'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_enumerate_get_list_entry'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_syspath'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_unref'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_enumerate_add_match_subsystem'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_filter_add_match_subsystem_devtype'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_property_value'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_receive_device'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_enumerate_scan_devices'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_sysattr_value'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_monitor_get_fd'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_parent_with_subsystem_devtype'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_unref'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_device_get_action'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_list_entry_get_name'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_enumerate_new'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_list_entry_get_next'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_new'
/home/zdk/miniconda3/envs/nocturne/lib/libsfml-window.so.2.5.1: undefined reference to `udev_enumerate_unref'
collect2: error: ld returned 1 exit status
cpp/tests/CMakeFiles/nocturne_test.dir/build.make:234: recipe for target 'cpp/tests/nocturne_test' failed
make[2]: *** [cpp/tests/nocturne_test] Error 1
CMakeFiles/Makefile2:378: recipe for target 'cpp/tests/CMakeFiles/nocturne_test.dir/all' failed
make[1]: *** [cpp/tests/CMakeFiles/nocturne_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Built target nocturne_cpp
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2
Aborting due to errors when running command ['cmake', '--build', '.', '--config', 'Release', '--', '-j16']
I'm using cmake 3.24.0-rc1
and sfml 2.5.1
.
The current version of SFML downloaded with Brew (2.5.1) is not compatible with M1 chips and we need to upgrade the installation instructions to account for this.
Hi, thanks for your effort opensourcing this work!
I wonder if there is any plan on releasing the pretrained agents as reported in the paper?
How to import the provided expert trajectory and integrate it into the state for IL?
[Edit: I noticed an error in my post, but I modified my question appropriately]
I notice a difference in the way active_masks
are being copied in the ppo buffers for insert()
and chooseinsert()
:
In the chooseinsert()
it is
self.active_masks[self.step] = active_masks.copy()
line 184
While in the insert()
it is
self.active_masks[self.step + 1] = active_masks.copy()
line138
Thanks in advance!
Hi,
Thanks for sharing this awesome environment.
I'm trying to run rendering.py and end up with IndexError
.
It's happening at the third video creation with the following error:
source=scenario.getObjectsThatMoved()[3], IndexError: list index out of range
Same thing happens with the fourth video creation. It seems as though changing the index to -1
for both works but I'm not sure if this is a sound change.
Thanks!
Windows 10
I was trying to install it on windows 10 and the following error occurred. Can someone help? I ran the "python setup.py develop" command and the following error appeared on the screen
No response
D:\Users\User\anaconda3\envs\nocturne\lib\site-packages\setuptools\config\expand.py:142: UserWarning: File 'D:\\projects\\random_projects\\nocturne\\nocturne\\README.rst # todo' cannot be found
warnings.warn(f"File {path!r} cannot be found")
D:\Users\User\anaconda3\envs\nocturne\lib\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
D:\Users\User\anaconda3\envs\nocturne\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
setup.py:42: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
cmake_version = LooseVersion(
CMake Error at C:/Program Files/CMake/share/cmake-3.24/Modules/CMakeTestCXXCompiler.cmake:62 (message):
The C++ compiler
"C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: D:/projects/random_projects/nocturne/nocturne/build/temp.win-amd64-cpython-38/Release/CMakeFiles/CMakeTmp
Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe cmTC_a3a88.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m && Microsoft (R) Build Engine version 16.11.2+f32259642 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30146 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /I"D:\gsl\vcpkg\installed\x64-windows\include" /Zi /Wall /WX- /diagnostics:column /Od /Ob0 /D _MBCS /D VERSION_INFO=0.0.1 /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"cmTC_a3a88.dir\Debug\\" /Fd"cmTC_a3a88.dir\Debug\vc142.pdb" /external:W4 /Gd /TP /errorReport:queue -O3 -Wextra -Wno-register -Wno-comment -fPIC -march=native -Wfatal-errors -fvisibility=hidden "D:\projects\random_projects\nocturne\nocturne\build\temp.win-amd64-cpython-38\Release\CMakeFiles\CMakeTmp\testCXXCompiler.cxx"
cl : command line error D8021: invalid numeric argument '/Wextra' [D:\projects\random_projects\nocturne\nocturne\build\temp.win-amd64-cpython-38\Release\CMakeFiles\CMakeTmp\cmTC_a3a88.vcxproj]
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:12 (project)
Aborting due to errors when running command ['cmake', 'D:\\projects\\random_projects\\nocturne\\nocturne\\nocturne', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=D:\\projects\\random_projects\\nocturne\\nocturne', '-DPYTHON_EXECUTABLE=D:\\Users\\User\\anaconda3\\envs\\nocturne\\python.exe', '-DCMAKE_BUILD_TYPE=Release']
No response
There are some dependencies that are not listed in environment.yml
, e.g:
git clone https://github.com/facebookresearch/nocturne.git
cd nocturne
git submodule sync
git submodule update --init --recursive
# create the environment and install the dependencies
conda env create -f environment.yml
# activate the environment where the Python library should be installed
conda activate nocturne
# run the C++ build and install Nocturne into the simulation environment
python setup.py develop
# run example
python examples/create_env.py
Traceback (most recent call last):
File "examples/create_env.py", line 10, in <module>
from nocturne.envs.wrappers import create_env
File "/Users/julian/Desktop/Projects/RL/nocturne/nocturne/envs/__init__.py", line 2, in <module>
from nocturne.envs.base_env import BaseEnv
File "/Users/julian/Desktop/Projects/RL/nocturne/nocturne/envs/base_env.py", line 13, in <module>
from gym import Env
ModuleNotFoundError: No module named 'gym'
Hi,
This is a very commendable work and I'm currently using it for my research, but I'm currently having some problems with masking
How is the masking achieved?
We've been doing this on a headless machine but pyvirtualdisplay seems to cause errors for mac users
I am on macOS Monterey and I have cmake and sfml installed via brew. However when I run, python3 setup.py develop
I am getting the fatal error of SFML/Graphics.hpp'
file not found. It appears that brew is installing SFML as below:
/usr/local/Cellar/sfml/2.5.1_2
├── INSTALL_RECEIPT.json
├── changelog.md
├── include
│ └── SFML
│ ├── Audio
│ ├── Audio.hpp
│ ├── Config.hpp
│ ├── GpuPreference.hpp
│ ├── Graphics
│ ├── Graphics.hpp
│ ├── Main.hpp
│ ├── Network
│ ├── Network.hpp
│ ├── OpenGL.hpp
│ ├── SFML
│ ├── System
│ ├── System.hpp
│ ├── Window
│ └── Window.hpp
├── lib
│ ├── cmake
│ │ └── SFML
│ ├── libsfml-audio.2.5.1.dylib
│ ├── libsfml-audio.2.5.dylib -> libsfml-audio.2.5.1.dylib
│ ├── libsfml-audio.dylib -> libsfml-audio.2.5.dylib
│ ├── libsfml-graphics.2.5.1.dylib
│ ├── libsfml-graphics.2.5.dylib -> libsfml-graphics.2.5.1.dylib
│ ├── libsfml-graphics.dylib -> libsfml-graphics.2.5.dylib
│ ├── libsfml-network.2.5.1.dylib
│ ├── libsfml-network.2.5.dylib -> libsfml-network.2.5.1.dylib
│ ├── libsfml-network.dylib -> libsfml-network.2.5.dylib
│ ├── libsfml-system.2.5.1.dylib
│ ├── libsfml-system.2.5.dylib -> libsfml-system.2.5.1.dylib
│ ├── libsfml-system.dylib -> libsfml-system.2.5.dylib
│ ├── libsfml-window.2.5.1.dylib
│ ├── libsfml-window.2.5.dylib -> libsfml-window.2.5.1.dylib
│ ├── libsfml-window.dylib -> libsfml-window.2.5.dylib
│ └── pkgconfig
│ ├── sfml-all.pc
│ ├── sfml-audio.pc
│ ├── sfml-graphics.pc
│ ├── sfml-network.pc
│ ├── sfml-system.pc
│ └── sfml-window.pc
├── license.md
├── readme.md
└── share
└── SFML
├── doc
├── license.md
└── readme.md
I ensured /usr/local/lib
has the .dylib
files for sfml and I manually copied the include
directory from the downloaded SFML to /usr/local/include
so that SFML/Graphics.hpp
exists in there. None of this has worked in getting the project to compile and I am unsure how to proceed. Any tips on how to proceed to get this working?
Ubuntu 20.04
Hi,
The description for the visible_state
method in examples/nocturne_functions.py
says that setting padding=True
will add extra objects to the dict to hit the maximum number of objects for each type.
So for the default scenario config (where max_visible_objects is 16) we'd expect visible_dict['objects'].shape == (16,13)
.
But if you set padding=True
, you actually get (7,13)
. The original unpadded shape is (5,13)
.
Additionally, visible_dict['traffic_lights']
and visible_dict['stop_signs']
have shapes (0,12)
and (0,3)
respectively when padding=True
even though the maxes are nonzero.
The final shapes will also change depending on the vehicles and scenarios even when padding=True
.
If I'm misunderstanding the expected behavior, please let me know.
Thanks!
Here's a short script that reproduces the issue (run the same as examples/nocturne_functions.py
)
import hydra
import numpy as np
from cfgs.config import PROJECT_PATH, get_scenario_dict, set_display_window
from nocturne import Simulation, Action
@hydra.main(config_path="../cfgs/", config_name="config")
def main(cfg):
# load scenario. by default this won't have pedestrians or cyclists
scenario_config = get_scenario_dict(cfg)
sim = Simulation(scenario_path=str(PROJECT_PATH / 'examples' /
'example_scenario.json'),
config=scenario_config)
scenario = sim.getScenario()
vehs = scenario.getObjectsThatMoved()
visible_dict = scenario.visible_state(object=vehs[0],
view_dist=80,
view_angle=120 * (np.pi / 180),
padding=True)
print('Expecting {} objects, got {}'.format(scenario_config['max_visible_objects'], visible_dict['objects'].shape[0]))
print('Expecting {} road points, got {}'.format(scenario_config['max_visible_road_points'], visible_dict['road_points'].shape[0]))
print('Expecting {} traffic lights, got {}'.format(scenario_config['max_visible_traffic_lights'], visible_dict['traffic_lights'].shape[0]))
print('Expecting {} stop signs, got {}'.format(scenario_config['max_visible_stop_signs'], visible_dict['stop_signs'].shape[0]))
main()
No response
Hello I am wondering which script and hyperparameters could achieve the 2000+ step/sec training speed as mentioned in the paper. So I have tried the following:
run_sample_factory.py algorithm=APPO
Problem: When using sample_factory library: parameters lr_schedule and max_entropy_coeff are missing, not sure what are the optimal numbers I should use.
run_rllib.py
Problem: same run time error for every worker, attached below:
My settings:
Code: newest code from main branch
OS: Ubuntu 20.04
GPU: RTX 3080 with CUDA 11.6
sample_factory: I have tried latest and aed6cc92a7eb3510c4d4bcfac083ced07b5222f9 (as mentioned in paper)
Please let me know if I made anything wrong when running the scripts. Thanks so much for answering!
Argoverse 2 also satisfies all the desiderata for what we want in a dataset so we should add support for it
We have the no-tl files, might as well make the tl files too
Hi,
I've just installed your package. When running the example Python script from 'Installing Nocturne', I am getting the following error:
Python 3.8.13 (default, Mar 28 2022, 11:38:47)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
from nocturne import Simulation
sim = Simulation()
Traceback (most recent call last):
File "", line 1, in
IndexError: _Map_base::at
Have I missed something during the installation process?
Thanks
Ubuntu
eval_sample_factory.py
run python eval_sample_factory.py
(nocturne) root@ryan:/home/ryan/nocturne/scripts/paper_plots# python eval_sample_factory.py
[2023-11-09 11:49:08,314][26147] Default env families supported: ['doom_*', 'atari_*', 'dmlab_*', 'mujoco_*', 'MiniGrid*']
[2023-11-09 11:49:08,314][26147] Env registry entry created: my_custom_multi_env_
[2023-11-09 11:49:08,314][26147] Adding model class <class 'examples.sample_factory_files.run_sample_factory.CustomEncoder'> to registry (with name custom_env_encoder)
Traceback (most recent call last):
File "eval_sample_factory.py", line 1317, in <module>
sys.exit(main())
File "eval_sample_factory.py", line 1045, in main
for key in data_dicts[0].keys():
IndexError: list index out of range
I would like to run some simulations in Toronto's road network; I am wondering if it is possible to add user-specific road networks.
@xiaomengy we've discussed this before and I'm just throwing it up on ths issue tracker so we don't forget about it
Hi again,
It seems as though the mini-dataset folders are missing valid_files.json
which throws an error when running create_env.py
.
The full dataset has those files.
Thanks!
In title
Our current architecture in sample-factory is just an MLP encoder; I suspect a permutation invariant or GNN-based architecture would be better
Ubuntu
The Dropbox abort the download of the 40GB package.
No response
No response
I am a beginner, sorry to disturb, I use conda env create -f environment.yml command when there is an error:
Pip subprocess error:
ERROR: Command errored out with exit status 1:
command: 'E:\Anaconda\envs\nocturne\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C'
cwd: C:\Users\FengmoZhang\AppData\Local\Temp\pip-install-3pa_xqy4\gym_c4c7742b0436454389c4ecc2a5b6b8ae
Complete output (1 lines):
error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings cont.
----------------------------------------
WARNING: Discarding https://pypi.tuna.tsinghua.edu.cn/packages/f1/16/a421155206e7dc41b3a79d4e9311287b88c20140d567182839.
ERROR: Could not find a version that satisfies the requirement gym==0.20.0 (from versions: 0.0.2, 0.0.3, 0.0.4, 0.0.5, )
ERROR: No matching distribution found for gym==0.20.0
failed
CondaEnvException: Pip failed
Is there a solution? I tried to change multiple pip download sources, but I couldn't download them.
I am a beginner, my mentor asked me to configure Nocturne, so far I have cloned the code and downloaded the corresponding dataset, what do I need to do next to start running test cases and start using them
Maybe let's continue this discussion (#11) here.
I ran into some issues during the dataset construction:
scripts/
directory.waymo_scenario_construction.py
, which are not mentioned in environment.yml
: tensorflow
and waymo-open-dataset-tf-2-x-0
.make_solvable_files.py
does not accept command line arguments (maybe because of hydra?)make_solvable_files.py
gives me this error: PermissionError: [Errno 13] Permission denied: '/checkpoint'
. After some debugging I figured out that the paths in cfgs/config.yaml
should be relative paths. But I first have to look more into hydra.make_solvable_files.py
leads to the following error: omegaconf.errors.ConfigKeyError: Key 'start_time' is not in struct
. I guess it should be cfg['scenario']['start_time]
.python examples/imitation_learning/train.py
python examples/imitation_learning/train.py
run python examples/imitation_learning/train.py
than choose option 3
(nocturne) root@ryan:/home/ryan/nocturne# python examples/imitation_learning/train.py
WaymoDataset: loading 1000 files.
ImitationAgent(
(nn): Sequential(
(0): MeanStdFilter()
(1): Linear(in_features=35110, out_features=1024, bias=True)
(2): Tanh()
(3): Sequential(
(0): Linear(in_features=1024, out_features=256, bias=True)
(1): Tanh()
)
(4): Sequential(
(0): Linear(in_features=256, out_features=128, bias=True)
(1): Tanh()
)
)
(heads): ModuleList(
(0): Linear(in_features=128, out_features=15, bias=True)
(1): Linear(in_features=128, out_features=43, bias=True)
)
)
Wrote configs at /checkpoint/root/nocturne/test/2023.11.08/test/09.54.05/train_logs/2023_11_08_09_54_07/configs.json
wandb: (1) Create a W&B account
wandb: (2) Use an existing W&B account
wandb: (3) Don't visualize my results
wandb: Enter your choice: 3
wandb: You chose 'Don't visualize my results'
wandb: ERROR Error while calling W&B API: user is not logged in (<Response [401]>)
Thread SenderThread:
Traceback (most recent call last):
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 102, in __call__
result = self._call_fn(*args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal_api.py", line 140, in execute
return self.client.execute(*args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/vendor/gql-0.2.0/wandb_gql/client.py", line 52, in execute
result = self._get_result(document, *args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/vendor/gql-0.2.0/wandb_gql/client.py", line 60, in _get_result
return self.transport.execute(document, *args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/vendor/gql-0.2.0/wandb_gql/transport/requests.py", line 39, in execute
request.raise_for_status()
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://api.wandb.ai/graphql
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/apis/normalize.py", line 22, in wrapper
return func(*args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal_api.py", line 1318, in upsert_run
response = self.gql(mutation, variable_values=variable_values, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 118, in __call__
if not check_retry_fn(e):
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/util.py", line 875, in no_retry_auth
raise CommError("Invalid or missing api_key. Run `wandb login`")
wandb.errors.CommError: Invalid or missing api_key. Run `wandb login`
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal_util.py", line 51, in run
self._run()
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal_util.py", line 102, in _run
self._process(record)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal.py", line 310, in _process
self._sm.send(record)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/sender.py", line 234, in send
send_handler(record)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/sender.py", line 692, in send_run
self._init_run(run, config_value_dict)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/sender.py", line 716, in _init_run
server_run, inserted = self._api.upsert_run(
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/apis/normalize.py", line 58, in wrapper
raise CommError(message, err).with_traceback(sys.exc_info()[2])
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/apis/normalize.py", line 22, in wrapper
return func(*args, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/internal/internal_api.py", line 1318, in upsert_run
response = self.gql(mutation, variable_values=variable_values, **kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 118, in __call__
if not check_retry_fn(e):
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/wandb/util.py", line 875, in no_retry_auth
raise CommError("Invalid or missing api_key. Run `wandb login`")
wandb.errors.CommError: Invalid or missing api_key. Run `wandb login`
wandb: ERROR Internal wandb error: file data was not synced
Ubuntu 20.04
There seems to be a (small) mistake in the code here:
nocturne/nocturne/envs/base_env.py
Line 103 in 94fc821
The high values should use the key 'x_upper_bound' instead of 'x_lower_bound'.
No response
No response
Hi,
I was reading the nocturne paper and came across Table 1 which describes a comparison between different autonomous driving open-source simulators. I have two queries below:
I wanted to mention a few of the simulators I know (due to my ongoing work in Ph.D.) which are missing in the comparison such as Flow, LGSVL, and AirSim. They are quite famous so If there is any specific reason for not comparing them please mention it here since I am also performing comparisons of such simulators in my research.
For Highway-env, I think they also support multi-agent driving (at least in a cooperative manner) just like the Flow simulator, but in Table 1 it is not shown as multi-agent.
Any response would be highly appreciated.
Ubuntu 2204
Hi there,
I encountered an error when executing nocturne/examples/create_env.py.
After the execution in a terminal, nothing showed up.
Before that, I strictly followed instructions and made sure every step was just the same as the readme file. And I've changed the
DATA_ FOLDER to the place where the valid and train data are stored.
Any help would be greatly appreciated! Thanks in advance
strictly followed instructions and made sure every step was just the same as the readme file
Ubuntu
No response
The buffer load without an end.
2023-11-08 09:27:34,872][06994] Worker 39 awakens!
[2023-11-08 09:27:34,879][06994] Waiting for 20 trajectory buffers...
[2023-11-08 09:27:35,186][06936] Waiting for 14 trajectory buffers...
[2023-11-08 09:27:35,194][06916] Waiting for 20 trajectory buffers..
Execute: python examples/sample_factory_files/run_sample_factory.py algorithm=APPO
2023-11-08 09:27:25,050][06984] Worker 35, sleep for 8.750 sec to decorrelate experience collection
Process Process-1:
Traceback (most recent call last):
File "/root/anaconda3/envs/nocturne/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/root/anaconda3/envs/nocturne/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/sample_factory/algorithms/appo/learner.py", line 1414, in _run
rollouts = self._process_rollouts(rollouts, timing)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/sample_factory/algorithms/appo/learner.py", line 565, in _process_rollouts
self._process_macro_batch(rollouts_to_process, batch_size, timing)
File "/root/anaconda3/envs/nocturne/lib/python3.8/site-packages/sample_factory/algorithms/appo/learner.py", line 495, in _process_macro_batch
assert macro_batch_size % self.cfg.rollout == 0
AssertionError
Hi Folks,
I'm trying to run "on-policy PPO" using python examples/on_policy_files/nocturne_runner.py algorithm=ppo
and there are a couple of issues I'm encountering.
algo
vs. algorithm
: The config.yml file uses algorithm
whereas the script uses cfg.algo
. Switching algo
to algorithm
seems to fix the issue.wandb_name
seems to be missing from the cfg. To make it work, I just disabled use of wandb.len(self.vehicles)
on line 30 which throws AttributeError: 'BaseEnv' object has no attribute 'vehicles'
. Replacing self.vehicles
with self.controlled_vehicles
seems to solve the issue. Is this the correct way to fix it?Thanks for your help.
Ubuntu 18.04
When running the imitation learning baseline, I am sometimes getting a floating point exception. Unfortunately, It's not deterministic and I cannot always reproduce. It just happens sometimes. Has anyone experienced this bug before?
python examples/imitation_learning/train.py
Error executing job with overrides: ['device=cuda:1'] Traceback (most recent call last):
File "scripts/train.py", line 204, in main dist = model.dist(states)
File "/home/bernard.lange/imitation-learning-agents-research/./src/algos/imitation_learning/model.py", line 83, in dist return MultivariateNormal( File "/home/bernard.lange/miniconda3/envs/nocturne/lib/python3.8/site-packages/torch/distributions/multivariate_normal.py", line 146, in init super(MultivariateNormal, self).init(batch_shape, event_shape, validate_args=validate_args)
File "/home/bernard.lange/miniconda3/envs/nocturne/lib/python3.8/site-packages/torch/distributions/distribution.py", line 53, in init valid = constraint.check(value)
File "/home/bernard.lange/miniconda3/envs/nocturne/lib/python3.8/site-packages/torch/distributions/constraints.py", line 509, in check sym_check = super().check(value)
File "/home/bernard.lange/miniconda3/envs/nocturne/lib/python3.8/site-packages/torch/distributions/constraints.py", line 490, in check return torch.isclose(value, value.mT, atol=1e-6).all(-2).all(-1)
File "/home/bernard.lange/miniconda3/envs/nocturne/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 7036) is killed by signal: Floating point exception.
ERROR: Unexpected floating-point exception encountered in worker.
Hi,
when running python setup.py develop
the build process fails. The error message is the following:
... include/utils/sf_utils.h:29:6: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type ...
It seems there is a missing include in this file. The error can be resolved by adding
#include <memory>
to sf_utils.h.
We already have tests run but no badge confirming that they have passed
I am a beginner, sorry to disturb, I use conda env create -f environment.yml command when there is an error:
Pip subprocess error:
ERROR: Command errored out with exit status 1:
command: 'E:\Anaconda\envs\nocturne\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C'
cwd: C:\Users\FengmoZhang\AppData\Local\Temp\pip-install-3pa_xqy4\gym_c4c7742b0436454389c4ecc2a5b6b8ae
Complete output (1 lines):
error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings cont.
----------------------------------------
WARNING: Discarding https://pypi.tuna.tsinghua.edu.cn/packages/f1/16/a421155206e7dc41b3a79d4e9311287b88c20140d567182839.
ERROR: Could not find a version that satisfies the requirement gym==0.20.0 (from versions: 0.0.2, 0.0.3, 0.0.4, 0.0.5, )
ERROR: No matching distribution found for gym==0.20.0
failed
CondaEnvException: Pip failed
Is there a solution? I tried to change multiple pip download sources, but I couldn't download them.
Hi,
Thank you for releasing the simulator. I'm trying to understand it and use it in my next paper. If I understood correctly, this simulator is based on a dataset, and other agents will not react to the ego agents decisions and movements, right? So this is kind of static environment? I think it's good to do other agent's motion prediction but not learning a policy for ego agent. Am I right?
Thank you
It mentions in the paper that the state vector follows conventions of the VectorNet.
I was wondering if there's any attempt/code of training a VectorNet-based policy with Nocturne? Thinking about the amount of engineering it takes to hook nocturne up with some latest trajectory prediction models.
Thanks,
When running examples/create_env.py, I get this error:
Impossible to create render texture (unsupported anti-aliasing level) Requested: 4 Maximum supported: 1. Impossible to create render texture (failed to link the target texture to the frame buffer)
.
It seems that it might be caused by SFML package. To get SFML>=2.5, I downloaded it from: https://www.sfml-dev.org/download.php (apt-get install libsfml-dev installs version 2.4.2). Has anyone faced this issue?
In the process of packaging nocturne for Nixpkgs (NixOS/nixpkgs#208847 (comment)), it was discovered that nocturne doesn't just install "nocturne" as a top-level package -- eg import nocturne
-- but also "cfgs". In fact, having cfgs
available on the top-level is required in order to import nocturne
:
Line 27 in ae0a4e3
Is this intentional? Polluting the top-level scope with "cfgs" seems undesirable. Would it be possible to move cfgs
out of the top-level package namespace?
Hi, i want to get the visible other objects from ones' perspective! It seems like VisibleObjects
is that function in C++. Can I avail it in Python?
Thank u :)
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.