├── .gitignore ├── LICENSE ├── README.md ├── docs ├── Makefile ├── make.bat ├── requirements.txt └── source │ ├── _static │ └── css │ │ ├── custom.css │ │ └── env_pages.css │ ├── _templates │ ├── base.html │ └── page.html │ ├── api.rst │ ├── conf.py │ ├── index.rst │ └── usage.rst ├── examples ├── Inference_Barrier_Drone.ipynb ├── Inference_Barrier_Drone_Decompose.ipynb ├── Inference_Barrier_Dubins.ipynb ├── Inference_Barrier_Dubins_Decompose.ipynb ├── Inference_Barrier_Dubins_old.ipynb ├── Inference_Barrier_MultiPoint.ipynb ├── Inference_Barrier_Point.ipynb ├── Inference_Barrier_PointEnv.ipynb ├── Inference_Barrier_UR5Env.ipynb ├── Inference_DynamicDubins.ipynb ├── Train_Barrier_Dubins.ipynb ├── Train_Barrier_MultiPoint-FixObstacle.ipynb ├── Train_Barrier_MultiPoint.ipynb ├── arm_env.py ├── arm_env2.py ├── core.py ├── drone_env.py ├── drone_v0.py ├── drone_v20.py ├── drone_v23.py ├── drone_v24.py ├── drone_v28.py ├── drone_v34.py ├── dynamic_dubins.py ├── evaluate.ipynb ├── evaluate_ur5.ipynb ├── filter_best_dubins.ipynb ├── generate_dataset.py ├── generate_result_data.ipynb ├── gym_dubins_car.py ├── gym_multi_point-Copy1.py ├── gym_multi_point.py ├── gym_point.py ├── infer_multi_single.py ├── inference.py ├── inference_drone.py ├── inference_multi_dynamic_dubins.py ├── inference_ur5.py ├── models.py ├── modern.py ├── point_env.py ├── point_env2.py ├── point_env_buffer_update.py ├── potential_field.py ├── test.ipynb ├── test_drone.ipynb ├── train_barrier_dubins.py ├── train_barrier_multi_point.py ├── train_barrier_point.py ├── train_barrier_swimmer.py ├── train_dubins.py ├── train_dubins_no_obstacle.py ├── train_dubins_no_obstacle_old.py ├── train_dubins_no_obstacle_origin_arch.py ├── train_dubins_no_obstacle_v1.py ├── train_dubins_no_obstacle_v14.py ├── train_dubins_no_obstacle_v15.py ├── train_dubins_no_obstacle_v16.py ├── train_dubins_no_obstacle_v17.py ├── train_dubins_no_obstacle_v18.py ├── train_dubins_no_obstacle_v19.py ├── train_dubins_no_obstacle_v2.py ├── train_dubins_no_obstacle_v20.py ├── train_dubins_no_obstacle_v21.py ├── train_dubins_no_obstacle_v3.py ├── train_dubins_no_obstacle_v4.py ├── train_dubins_random_dataset.py ├── train_dubins_with_obstacle_clf.py ├── train_dubins_with_obstacle_reproduce.py ├── train_dubins_with_obstacle_v10.py ├── train_dubins_with_obstacle_v11.py ├── train_dubins_with_obstacle_v12.py ├── train_dubins_with_obstacle_v13.py ├── train_dubins_with_obstacle_v22.py ├── train_dubins_with_obstacle_v23.py ├── train_dubins_with_obstacle_v24.py ├── train_dubins_with_obstacle_v26.py ├── train_dubins_with_obstacle_v5.py ├── train_dubins_with_obstacle_v6.py ├── train_dubins_with_obstacle_v7.py ├── train_dubins_with_obstacle_v8.py ├── train_dubins_with_obstacle_v9.py ├── train_multi_fix_start.py ├── train_multi_no_obstacle.py ├── train_multi_single_fix_obstacle.py ├── train_multi_single_random_dataset.py ├── train_multi_single_random_dataset_clbf.py ├── train_multi_single_random_dataset_good.py ├── train_multi_single_random_dataset_v2.py ├── train_multi_single_random_dataset_v3.py ├── train_multi_single_random_dataset_v4.py ├── v0_multi_dynamic_dubins.py ├── v109.py ├── v124.py ├── v31.py ├── v78.py ├── v79.py ├── visualize.ipynb ├── visualize_all_envs.ipynb ├── visualize_chasing.ipynb ├── visualize_drone.ipynb └── visualize_landscape.ipynb ├── pyg_multiagent ├── __init__.py ├── baselines │ ├── __init__.py │ ├── ddpg.py │ ├── ddpg_config_drone.py │ ├── ddpg_config_dubins_car.py │ ├── ddpg_config_multi_dynamic_dubins.py │ ├── ddpg_config_ur5.py │ ├── gpg.py │ ├── gpg_config.py │ ├── inference-baselines.py │ ├── macbf.py │ ├── macbf_config_drone.py │ ├── macbf_config_dubins_car.py │ ├── macbf_config_multi_dynamic_dubins.py │ ├── macbf_config_ur5.py │ ├── ppo.py │ └── ppo_config.py ├── configs │ ├── drone │ │ ├── v0.py │ │ ├── v1.py │ │ ├── v10.py │ │ ├── v11.py │ │ ├── v12.py │ │ ├── v13.py │ │ ├── v14.py │ │ ├── v15.py │ │ ├── v16.py │ │ ├── v17.py │ │ ├── v18.py │ │ ├── v19.py │ │ ├── v2.py │ │ ├── v20.py │ │ ├── v21.py │ │ ├── v22.py │ │ ├── v23.py │ │ ├── v24.py │ │ ├── v25.py │ │ ├── v26.py │ │ ├── v27.py │ │ ├── v28.py │ │ ├── v29.py │ │ ├── v3.py │ │ ├── v30.py │ │ ├── v31.py │ │ ├── v32.py │ │ ├── v33.py │ │ ├── v34.py │ │ ├── v35.py │ │ ├── v36.py │ │ ├── v37.py │ │ ├── v38.py │ │ ├── v39.py │ │ ├── v4.py │ │ ├── v40.py │ │ ├── v41.py │ │ ├── v42.py │ │ ├── v43.py │ │ ├── v44.py │ │ ├── v45.py │ │ ├── v46.py │ │ ├── v47.py │ │ ├── v48.py │ │ ├── v49.py │ │ ├── v5.py │ │ ├── v6.py │ │ ├── v7.py │ │ ├── v8.py │ │ └── v9.py │ ├── dubins │ │ ├── v100.py │ │ ├── v101.py │ │ ├── v102.py │ │ ├── v103.py │ │ ├── v104.py │ │ ├── v105.py │ │ ├── v106.py │ │ ├── v107.py │ │ ├── v108.py │ │ ├── v109.py │ │ ├── v110.py │ │ ├── v111.py │ │ ├── v112.py │ │ ├── v113.py │ │ ├── v114.py │ │ ├── v114_infer.py │ │ ├── v115.py │ │ ├── v115_infer.py │ │ ├── v116.py │ │ ├── v116_infer.py │ │ ├── v117.py │ │ ├── v118.py │ │ ├── v119.py │ │ ├── v120.py │ │ ├── v121.py │ │ ├── v122.py │ │ ├── v123.py │ │ ├── v124.py │ │ ├── v125.py │ │ ├── v29.py │ │ ├── v30.py │ │ ├── v31.py │ │ ├── v32.py │ │ ├── v33.py │ │ ├── v34.py │ │ ├── v35.py │ │ ├── v36.py │ │ ├── v37.py │ │ ├── v38.py │ │ ├── v39.py │ │ ├── v40.py │ │ ├── v41.py │ │ ├── v42.py │ │ ├── v43.py │ │ ├── v44.py │ │ ├── v45.py │ │ ├── v46.py │ │ ├── v47.py │ │ ├── v48.py │ │ ├── v49.py │ │ ├── v50.py │ │ ├── v51.py │ │ ├── v52.py │ │ ├── v53.py │ │ ├── v54.py │ │ ├── v55.py │ │ ├── v56.py │ │ ├── v57.py │ │ ├── v58.py │ │ ├── v59.py │ │ ├── v60.py │ │ ├── v61.py │ │ ├── v62.py │ │ ├── v63.py │ │ ├── v64.py │ │ ├── v65.py │ │ ├── v66.py │ │ ├── v67.py │ │ ├── v68.py │ │ ├── v69.py │ │ ├── v70.py │ │ ├── v71.py │ │ ├── v72.py │ │ ├── v73.py │ │ ├── v74.py │ │ ├── v75.py │ │ ├── v76.py │ │ ├── v77.py │ │ ├── v79.py │ │ ├── v80.py │ │ ├── v81.py │ │ ├── v82.py │ │ ├── v83.py │ │ ├── v84.py │ │ ├── v85.py │ │ ├── v86.py │ │ ├── v87.py │ │ ├── v88.py │ │ ├── v89.py │ │ ├── v90.py │ │ ├── v91.py │ │ ├── v92.py │ │ ├── v93.py │ │ ├── v94.py │ │ ├── v95.py │ │ ├── v96.py │ │ ├── v97.py │ │ ├── v98.py │ │ └── v99.py │ ├── dynamic_dubins │ │ ├── v0.py │ │ ├── v1.py │ │ ├── v2.py │ │ ├── v3.py │ │ ├── v4.py │ │ ├── v5.py │ │ ├── v6.py │ │ └── v7.py │ ├── multi_dynamic_dubins │ │ ├── v0.py │ │ ├── v1.py │ │ ├── v2.py │ │ └── v3.py │ ├── point │ │ ├── v0.py │ │ ├── v1.py │ │ ├── v2.py │ │ └── v3.py │ └── ur5 │ │ ├── v0.py │ │ ├── v1.py │ │ ├── v10.py │ │ ├── v11.py │ │ ├── v2.py │ │ ├── v3.py │ │ ├── v4.py │ │ ├── v5.py │ │ ├── v6.py │ │ ├── v7.py │ │ ├── v8.py │ │ └── v9.py └── environments │ ├── __init__.py │ ├── control_affine_system.py │ ├── gym_abstract.py │ ├── gym_drone.py │ ├── gym_dubins_car.py │ ├── gym_dynamic_dubins.py │ ├── gym_dynamic_dubins_multi.py │ ├── gym_point.py │ ├── gym_single_integrator.py │ ├── gym_ur5.py │ ├── quad3d.py │ ├── ur5 │ ├── collision │ │ ├── base.stl │ │ ├── forearm.stl │ │ ├── shoulder.stl │ │ ├── upperarm.stl │ │ ├── wrist1.stl │ │ ├── wrist2.stl │ │ └── wrist3.stl │ ├── gripper │ │ ├── README.md │ │ ├── robotiq-2f-base.mtl │ │ ├── robotiq-2f-base.obj │ │ ├── robotiq-2f-base.stl │ │ ├── robotiq-2f-coupler.mtl │ │ ├── robotiq-2f-coupler.obj │ │ ├── robotiq-2f-coupler.stl │ │ ├── robotiq-2f-driver.mtl │ │ ├── robotiq-2f-driver.obj │ │ ├── robotiq-2f-driver.stl │ │ ├── robotiq-2f-follower.mtl │ │ ├── robotiq-2f-follower.obj │ │ ├── robotiq-2f-follower.stl │ │ ├── robotiq-2f-pad.stl │ │ ├── robotiq-2f-spring_link.mtl │ │ ├── robotiq-2f-spring_link.obj │ │ ├── robotiq-2f-spring_link.stl │ │ ├── robotiq_2f_85.urdf │ │ └── textures │ │ │ ├── gripper-2f_BaseColor.jpg │ │ │ ├── gripper-2f_Metallic.jpg │ │ │ ├── gripper-2f_Normal.jpg │ │ │ └── gripper-2f_Roughness.jpg │ ├── plane.obj │ ├── spatula │ │ ├── base.obj │ │ └── spatula-base.urdf │ ├── suction │ │ ├── base.obj │ │ ├── head.obj │ │ ├── mid.obj │ │ ├── suction-base.urdf │ │ ├── suction-head.urdf │ │ └── tip.obj │ ├── ur5.urdf │ ├── visual │ │ ├── base.stl │ │ ├── forearm.stl │ │ ├── shoulder.stl │ │ ├── upperarm.stl │ │ ├── wrist1.stl │ │ ├── wrist2.stl │ │ └── wrist3.stl │ └── workspace.urdf │ └── utils.py ├── readthedocs.yaml └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | pyproject.toml 2 | .ipynb_checkpoints 3 | __pycache__/ 4 | pygma.egg-info 5 | PyGma.egg-info 6 | *.egg-info 7 | dist 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Chenning Yu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![logo](https://raw.githubusercontent.com/rainorangelemon/pygma_sphinx_theme/master/pygma_sphinx_theme/static/img/text_logo.png) 2 | 3 | ----------------------- 4 | 5 | **[Documentation](https://pytorch-geometric-multiagent.readthedocs.io/)** 6 | 7 | The official repo for the CoRL 2022 paper 'Learning Control Admissibility Models with Graph Neural Networks for Multi-Agent Navigation' [[project page](https://rainorangelemon.github.io/CoRL2022/)] 8 | 9 | 10 | 11 | The ultimate goal is to provide a benchmark and a handy tool for GNN researchers to conduct evaluations properly and fairly for multi-agent tasks. 12 | 13 | **Note: The current repo is actively under maintenance.** 14 | 15 | ## Installation 16 | 17 | ```bash 18 | conda create -n pygma python=3.8 19 | conda activate pygma 20 | # install pytorch, modify the following line according to your environment 21 | conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch 22 | # install torch geometric, refer to https://github.com/pyg-team/pytorch_geometric 23 | conda install pyg -c pyg 24 | # install pyg_multiagent 25 | pip install pyg_multiagent 26 | ``` 27 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = pytorch_geometric_multiagent 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # https://files.pythonhosted.org/packages/0c/d3/4f8809d5d15363173d2eec59ec09d738d64baee46a6f298957e2c3ca9711/pyg_multiagent-0.0.1-py3-none-any.whl 2 | https://download.pytorch.org/whl/cpu/torch-1.9.0%2Bcpu-cp38-cp38-linux_x86_64.whl 3 | https://data.pyg.org/whl/torch-1.9.0%2Bcpu/torch_scatter-2.0.7-cp38-cp38-linux_x86_64.whl 4 | https://data.pyg.org/whl/torch-1.9.0%2Bcpu/torch_sparse-0.6.12-cp38-cp38-linux_x86_64.whl 5 | https://data.pyg.org/whl/torch-1.9.0%2Bcpu/torch_cluster-1.5.9-cp38-cp38-linux_x86_64.whl 6 | https://data.pyg.org/whl/torch-1.9.0%2Bcpu/torch_spline_conv-1.2.1-cp38-cp38-linux_x86_64.whl 7 | pybullet 8 | torch_geometric 9 | myst-parser 10 | sphinx-copybutton 11 | sphinx-design 12 | sphinx-inline-tabs 13 | sphinx-tabs 14 | pyg-multiagent 15 | furo 16 | # git+https://github.com/rainorangelemon/pygma_sphinx_theme.git -------------------------------------------------------------------------------- /docs/source/_static/css/custom.css: -------------------------------------------------------------------------------- 1 | @import 'theme.css'; 2 | 3 | h1 { 4 | font-size: 2.25rem; 5 | } 6 | 7 | h2 { 8 | font-size: 1.75rem; 9 | } 10 | 11 | h3 { 12 | font-size: 1.45rem; 13 | } 14 | 15 | /* Remove elements */ 16 | #furo-sidebar-ad-placement .ethical-sidebar{ 17 | display: none !important; 18 | } 19 | 20 | #furo-readthedocs-versions{ 21 | display: none !important; 22 | } -------------------------------------------------------------------------------- /docs/source/_static/css/env_pages.css: -------------------------------------------------------------------------------- 1 | .env-grid { 2 | display: flex; 3 | flex-wrap: wrap; 4 | justify-content: center; 5 | width: 100%; 6 | box-sizing: border-box; 7 | } 8 | .env-grid__cell { 9 | display: flex; 10 | flex-direction: column; 11 | width: 180px; 12 | height: 180px; 13 | padding: 10px; 14 | } 15 | .cell__image-container { 16 | display: flex; 17 | height: 148px; 18 | justify-content: center; 19 | } 20 | .cell__image-container img { 21 | max-height: 100%; 22 | } 23 | .cell__title { 24 | display: flex; 25 | justify-content: center; 26 | text-align: center; 27 | align-items: flex-end; 28 | height: 32px; 29 | line-height: 16px; 30 | } 31 | .more-btn { 32 | width: 240px; 33 | margin: 12px auto; 34 | display: block; 35 | } -------------------------------------------------------------------------------- /docs/source/_templates/base.html: -------------------------------------------------------------------------------- 1 | {% extends "furo/base.html" %} 2 | 3 | {%- block regular_scripts -%} 4 | {{ super() }} 5 | 6 | {%- endblock regular_scripts -%} -------------------------------------------------------------------------------- /docs/source/api.rst: -------------------------------------------------------------------------------- 1 | API 2 | === 3 | 4 | .. autosummary:: 5 | :toctree: generated 6 | 7 | pyg_multiagent 8 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | :github_url: https://github.com/rainorangelemon/pytorch_geometric_multiagent 2 | 3 | PyG Documentation 4 | ================= 5 | 6 | **PyTorch Geometric Multi-Agent** (pyg_multiagent) is a Python library for Multi-Agent . 7 | 8 | .. It consists of various methods for deep learning on graphs and other irregular structures, also known as `geometric deep learning `_, from a variety of published papers. 9 | .. In addition, it consists of easy-to-use mini-batch loaders for operating on many small and single giant graphs, `multi GPU-support `_, `DataPipe support `_, distributed graph learning via `Quiver `_, a large number of common benchmark datasets (based on simple interfaces to create your own), the `GraphGym `_ experiment manager, and helpful transforms, both for learning on arbitrary graphs as well as on 3D meshes or point clouds. 10 | .. `Click here to join our Slack community! `_ 11 | 12 | .. .. toctree:: 13 | .. :glob: 14 | .. :maxdepth: 1 15 | .. :caption: Notes 16 | 17 | .. notes/installation 18 | .. notes/introduction 19 | .. notes/create_gnn 20 | .. notes/create_dataset 21 | .. notes/heterogeneous 22 | .. notes/load_csv 23 | .. notes/graphgym 24 | .. notes/batching 25 | .. notes/sparse_tensor 26 | .. notes/jit 27 | .. notes/cheatsheet 28 | .. notes/data_cheatsheet 29 | .. notes/colabs 30 | .. notes/resources 31 | 32 | .. .. toctree:: 33 | .. :glob: 34 | .. :maxdepth: 1 35 | .. :caption: Package Reference 36 | 37 | .. modules/root 38 | .. modules/nn 39 | .. modules/data 40 | .. modules/loader 41 | .. modules/sampler 42 | .. modules/datasets 43 | .. modules/transforms 44 | .. modules/utils 45 | .. modules/graphgym 46 | .. modules/profile 47 | 48 | .. Indices and Tables 49 | .. ================== 50 | 51 | .. * :ref:`genindex` 52 | .. * :ref:`modindex` 53 | -------------------------------------------------------------------------------- /docs/source/usage.rst: -------------------------------------------------------------------------------- 1 | Usage 2 | ===== 3 | 4 | .. _installation: 5 | 6 | Installation 7 | ------------ 8 | 9 | To use PyG-MA, clone it via GitHub 10 | 11 | .. code-block:: console 12 | 13 | $ pip install pyg-multiagent 14 | 15 | -------------------------------------------------------------------------------- /examples/infer_multi_single.py: -------------------------------------------------------------------------------- 1 | from tqdm import tqdm 2 | import gc 3 | from copy import deepcopy 4 | from gym_multi_point import MultiPointEnv 5 | import torch 6 | import numpy as np 7 | from torch import nn 8 | import math 9 | from models import * 10 | from train_multi_single_random_dataset_v2 import * 11 | from core import generate_default_model_name 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/inference.py: -------------------------------------------------------------------------------- 1 | from tqdm import tqdm 2 | import gc 3 | from copy import deepcopy 4 | import torch 5 | import numpy as np 6 | from torch import nn 7 | import math 8 | from models import * 9 | from v109 import * 10 | from core import generate_default_model_name 11 | import pickle as pkl 12 | import os 13 | os.environ['CUDA_LAUNCH_BLOCKING'] = '1' 14 | 15 | SAVE_GIF = False 16 | ONLY_SHOW_COLLIDE = True 17 | VERBOSE = True 18 | 19 | for NUM_AGENTS in [1,2,4]:#,8,16,32,64,128,256,512,1024,2048]: 20 | 21 | with open(f'dataset/{project_name}_{NUM_AGENTS}.pkl', 'rb') as f: 22 | valid_dataset = pkl.load(f) 23 | 24 | bnn = create_network() 25 | print(bnn.load_state_dict(torch.load(BMODEL_PATH, map_location=device))) 26 | bnn.eval(); 27 | 28 | import copy 29 | 30 | collideds = [] 31 | dones = [] 32 | lengths = [] 33 | paths = [] 34 | neighbor_a = [] 35 | neighbor_o = [] 36 | 37 | path = f'gifs/0512/{project_name}_{version_name}/{NUM_AGENTS}' 38 | os.makedirs(path, exist_ok=True) 39 | 40 | for v_idx in tqdm(range(len(valid_dataset))): 41 | data = valid_dataset[v_idx] 42 | env = create_env(num_agents=NUM_AGENTS, size=max(int((NUM_AGENTS*2)**0.5), 4), max_dist=1, density=0) 43 | env.world.obstacles, env.world.agent_goals, env.world.agents = deepcopy(data) 44 | if SAVE_GIF: 45 | gif_file = f'gifs/0512/{project_name}_{version_name}/{NUM_AGENTS}/'+str(v_idx)+f'_decompose_lie.gif' 46 | else: 47 | gif_file = None 48 | collided, done, path = infer(env,bnn,verbose=VERBOSE,n_action=2000, 49 | spatial_prop=False,lie_derive_safe=False,decompose='random', 50 | stop_at_collision=False,need_gif=gif_file,only_show_collide=ONLY_SHOW_COLLIDE) 51 | collideds.append(collided) 52 | dones.append(done) 53 | lengths.append(len(path)) 54 | paths.append(path) 55 | 56 | # for agent in path: 57 | # env.world.agents = agent.copy() 58 | 59 | print(NUM_AGENTS, np.any(collideds, axis=-1).mean(), np.mean(collideds), np.mean(dones), np.mean(lengths)) 60 | 61 | with open(f'dataset/results/{project_name}_{version_name}_{NUM_AGENTS}.pkl', 'wb') as f: 62 | pkl.dump({'collideds': collideds, 63 | 'dones': dones, 64 | 'lengths': lengths, 65 | 'paths': paths}, f) -------------------------------------------------------------------------------- /examples/inference_multi_dynamic_dubins.py: -------------------------------------------------------------------------------- 1 | from tqdm import tqdm 2 | import gc 3 | from copy import deepcopy 4 | import torch 5 | import numpy as np 6 | from torch import nn 7 | import math 8 | from models import * 9 | from v0_multi_dynamic_dubins import * 10 | from core import generate_default_model_name 11 | import pickle as pkl 12 | import os 13 | from potential_field import infer_p 14 | os.environ['CUDA_LAUNCH_BLOCKING'] = '1' 15 | 16 | SAVE_GIF = True 17 | ONLY_SHOW_COLLIDE = False 18 | VERBOSE = True 19 | decompose = 'random' 20 | NUM_AGENTS = 3 21 | 22 | 23 | bnn = create_network() 24 | print(bnn.load_state_dict(torch.load(BMODEL_PATH, map_location=device))) 25 | bnn.eval(); 26 | 27 | import copy 28 | 29 | collideds = [] 30 | dones = [] 31 | lengths = [] 32 | paths = [] 33 | neighbor_a = [] 34 | neighbor_o = [] 35 | 36 | path = f'gifs/0820/{project_name}_{version_name}/{NUM_AGENTS}' 37 | os.makedirs(path, exist_ok=True) 38 | 39 | env = create_env(num_agents=NUM_AGENTS, size=max(int((NUM_AGENTS*2)**0.5), 2), density=30, max_dist=6) 40 | if SAVE_GIF: 41 | gif_file = f'gifs/0820/{project_name}_{version_name}/{NUM_AGENTS}.mp4' 42 | else: 43 | gif_file = None 44 | collided, done, path = infer(env,bnn=bnn,verbose=VERBOSE,n_action=10000, 45 | spatial_prop=False,lie_derive_safe=False,decompose=decompose, 46 | stop_at_collision=False, stop_at_done=False, 47 | max_episode_length=512, 48 | need_gif=gif_file,only_show_collide=ONLY_SHOW_COLLIDE) 49 | collideds.append(collided) 50 | dones.append(done) 51 | lengths.append(len(path)) 52 | paths.append(path) -------------------------------------------------------------------------------- /examples/inference_ur5.py: -------------------------------------------------------------------------------- 1 | from tqdm import tqdm 2 | import gc 3 | from copy import deepcopy 4 | import torch 5 | import numpy as np 6 | from torch import nn 7 | import math 8 | from models import * 9 | from arm_env2 import * 10 | from core import generate_default_model_name 11 | import pickle as pkl 12 | import os 13 | os.environ['CUDA_LAUNCH_BLOCKING'] = '1' 14 | 15 | SAVE_GIF = True 16 | 17 | bnn = create_network() 18 | print(bnn.load_state_dict(torch.load(BMODEL_PATH, map_location=device))) 19 | bnn.eval(); 20 | 21 | import copy 22 | 23 | collideds = [] 24 | dones = [] 25 | lengths = [] 26 | paths = [] 27 | neighbor_a = [] 28 | neighbor_o = [] 29 | 30 | path = f'gifs/0530/{version_name}' 31 | os.makedirs(path, exist_ok=True) 32 | 33 | arm_ids = [0,1,2] 34 | ids_str = '' 35 | for id_ in arm_ids: 36 | ids_str = ids_str + str(id_) 37 | if SAVE_GIF: 38 | gif_file = f'gifs/0530/{version_name}/'+ids_str+'.mp4' 39 | else: 40 | gif_file = None 41 | env = create_env(num_agents=len(arm_ids), arm_ids=arm_ids, randomize=False) 42 | print(env.world.arm_ids) 43 | # print(env.world.get_status()) 44 | # assert False 45 | collided, done, path = infer(env,bnn,verbose=True,n_action=20000, 46 | spatial_prop=False, 47 | lie_derive_safe=False, 48 | seed=0, 49 | decompose='random', 50 | stop_at_collision=False,need_gif=gif_file) 51 | collideds.append(collided) 52 | dones.append(done) 53 | lengths.append(len(path)) 54 | paths.append(path) 55 | 56 | # for agent in path: 57 | # env.world.agents = agent.copy() 58 | 59 | print(np.any(collideds, axis=-1).mean(), np.mean(collideds), np.mean(dones), np.mean(lengths)) 60 | 61 | # with open(f'dataset/results/{project_name}.pkl', 'wb') as f: 62 | # pkl.dump({'collideds': collideds, 63 | # 'dones': dones, 64 | # 'lengths': lengths, 65 | # 'paths': paths}, f) 66 | -------------------------------------------------------------------------------- /examples/potential_field.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import random 3 | import numpy as np 4 | from copy import deepcopy 5 | 6 | def infer_p(env, n_action=2000, max_episode_length=256, ignore_agent=True, need_gif=None, 7 | verbose=False, seed=0, K1=1e-1, K2=-3e-2, **kwargs): 8 | torch.manual_seed(seed) 9 | random.seed(seed) 10 | np.random.seed(seed) 11 | 12 | paths = [deepcopy(env.world.agents)] 13 | total_trans=0; n_danger=0; no_feasible=0; collided=np.zeros(env.num_agents).astype(bool) 14 | 15 | while True: 16 | o = env._get_obs() 17 | a_all = np.random.uniform(-1, 1, size=(env.num_agents, n_action, env.action_dim)) 18 | dists = env.potential_field(a_all, K1=K1, K2=K2, ignore_agent=ignore_agent) 19 | 20 | v = np.zeros(env.num_agents) 21 | a = np.zeros((env.num_agents, env.action_dim)) 22 | for agent_id, a_refine, dist in zip(np.arange(env.num_agents), a_all, dists): 23 | a[agent_id] = a_refine[np.argmin(dist)] 24 | v[agent_id] = dist[np.argmin(dist)] 25 | 26 | next_o, rw, done, info = env.step(a) 27 | 28 | prev_danger = info['prev_danger'].data.cpu().numpy().astype(bool) 29 | next_danger = info['next_danger'].data.cpu().numpy().astype(bool) 30 | if np.any(next_danger): 31 | collided = collided | next_danger 32 | if verbose: 33 | print(env.world.agents, dist.min(axis=-1), dist.max(axis=-1), v, next_danger) 34 | 35 | total_trans += 1 36 | paths.append(deepcopy(env.world.agents)) 37 | 38 | if done or (total_trans >= max_episode_length): 39 | break 40 | 41 | if need_gif is not None: 42 | env.save_fig(paths, env.world.agent_goals, env.world.obstacles, need_gif[:-4]+'_'+str(np.any(collided))+'_'+str(done)+need_gif[-4:]) 43 | 44 | return collided, done, paths -------------------------------------------------------------------------------- /pyg_multiagent/__init__.py: -------------------------------------------------------------------------------- 1 | from . import baselines 2 | from . import environments 3 | # TODO: add version information here 4 | 5 | __all__ = ['baselines', 'environments'] -------------------------------------------------------------------------------- /pyg_multiagent/baselines/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/baselines/__init__.py -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v0.py: -------------------------------------------------------------------------------- 1 | version_name = 'v0' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.0 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv8' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 8, 67 | 'SIZE': (4,4), 68 | 'agent_top_k': 6, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v1.py: -------------------------------------------------------------------------------- 1 | version_name = 'v1' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.025 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.0 7 | MAX_EXPLORE_EPS = 0.5 8 | ALL_EXPLORE = False 9 | EXPLORE_WAY = 'linear' 10 | NOMINAL_WAY = 'exponential' 11 | 12 | # training 13 | LR = 1e-3 14 | MIN_LR = 1e-5 15 | PATIENCE = 3 16 | BATCH = 2048 17 | USE_SCHEDULER = True 18 | OPTIMIZER = 'Adam' 19 | CLIP_NORM = True 20 | ALL_LIE = False 21 | # UPDATE_FREQ = 16 22 | 23 | # algorithm 24 | POTENTIAL_OBS = False 25 | VARIABLE_AGENT = False 26 | CBUF_BEFORE_RELABEL = True 27 | THRESHOLD = 2e-2 28 | SPATIAL_PROP = False 29 | n_candidates = 2000 30 | 31 | # dataset 32 | TRAIN_ON_HARD = False 33 | N_DATASET = 10 34 | N_VALID_DATASET = 50 35 | MAX_VISIT_TIME = 1000 36 | 37 | # relabel 38 | RELABEL = True 39 | DECAY_RELABEL = False 40 | REFINE_EPS = 1.0 41 | RELABEL_ONLY_AGENT = False 42 | ONLY_BOUNDARY = False 43 | DANGER_THRESHOLD = 0 44 | DYNAMIC_RELABEL = False 45 | 46 | # buffer size 47 | N_TRAJ = N_EPOCH = 1000000000 48 | N_BUFFER = 0 49 | N_DYNAMIC_BUFFER = 10000 50 | N_TRAJ_BUFFER = 60000 51 | N_CBUF = 60000 52 | 53 | # training speed & validation 54 | N_EVALUATE = 400 55 | N_VALID = 400 56 | N_TRAJ_PER_UPDATE = 10 57 | N_ITER = 50 58 | N_WARMUP = 0 59 | 60 | # model 61 | MODEL = 'OriginGNNv8' 62 | PE_DIM = None 63 | HIDDEN_SIZE = 128 64 | 65 | # environment 66 | ENV_CONFIG = { 67 | 'num_agents': 8, 68 | 'SIZE': (4,4), 69 | 'agent_top_k': 6, 70 | 'obstacle_top_k': 2, 71 | 'PROB': (0.2,1.0), 72 | 'simple': False, 73 | } 74 | FIX_ENV = False 75 | 76 | # target network 77 | POLYAK = 0. 78 | 79 | # not important 80 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v2.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v2' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | ALL_EXPLORE = False 11 | EXPLORE_WAY = 'exponential' 12 | NOMINAL_WAY = 'exponential' 13 | 14 | # training 15 | LR = 1e-3 16 | MIN_LR = 1e-5 17 | PATIENCE = 3 18 | BATCH = 256 19 | USE_SCHEDULER = True 20 | OPTIMIZER = 'Adam' 21 | CLIP_NORM = True 22 | ALL_LIE = False 23 | UPDATE_FREQ = 4 24 | 25 | # algorithm 26 | POTENTIAL_OBS = False 27 | VARIABLE_AGENT = False 28 | CBUF_BEFORE_RELABEL = True 29 | THRESHOLD = 2e-2 30 | SPATIAL_PROP = False 31 | n_candidates = 2000 32 | 33 | # dataset 34 | TRAIN_ON_HARD = False 35 | N_DATASET = 10 36 | N_VALID_DATASET = 50 37 | MAX_VISIT_TIME = 1000 38 | 39 | # relabel 40 | RELABEL = True 41 | DECAY_RELABEL = False 42 | REFINE_EPS = 1.0 43 | RELABEL_ONLY_AGENT = False 44 | ONLY_BOUNDARY = False 45 | DANGER_THRESHOLD = 0 46 | DYNAMIC_RELABEL = False 47 | 48 | # buffer size 49 | N_TRAJ = N_EPOCH = 1000000000 50 | N_BUFFER = 0 51 | N_DYNAMIC_BUFFER = 10000 52 | N_TRAJ_BUFFER = 60000 53 | N_CBUF = 60000 54 | 55 | # training speed & validation 56 | N_EVALUATE = 800 57 | N_VALID = 800 58 | N_TRAJ_PER_EPOCH = 20 59 | N_ITER = 50 60 | N_WARMUP = 0 61 | 62 | # model 63 | MODEL = 'OriginGNNv10' 64 | PE_DIM = None 65 | HIDDEN_SIZE = 128 66 | 67 | # environment 68 | ENV_CONFIG = { 69 | 'num_agents': 3, 70 | 'SIZE': (3,3), 71 | 'agent_top_k': 2, 72 | 'obstacle_top_k': 1, 73 | 'PROB': (0.2,1.0), 74 | 'angle_embed': True, 75 | 'simple': False, 76 | } 77 | FIX_ENV = False 78 | 79 | # target network 80 | POLYAK = 0. 81 | 82 | # not important 83 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v20.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v20' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 0 # 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 240000 60 | N_CBUF = 400000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v21.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v21' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | SHUFFLE_WHEN_EXCEED = False 46 | SHARE_SAMPLE_ACROSS_UPDATE = False 47 | 48 | # relabel 49 | RELABEL = True 50 | DECAY_RELABEL = False 51 | REFINE_EPS = 1.0 52 | RELABEL_ONLY_AGENT = False 53 | ONLY_BOUNDARY = False 54 | DANGER_THRESHOLD = 0 # 2e-2 55 | DYNAMIC_RELABEL = False 56 | 57 | # buffer size 58 | N_TRAJ = N_EPOCH = 1000000000 59 | N_BUFFER = 0 60 | N_DYNAMIC_BUFFER = 3000 61 | N_TRAJ_BUFFER = 240000 62 | N_CBUF = 400000 63 | 64 | # training speed & validation 65 | N_EVALUATE = 400 66 | N_VALID = 400 67 | N_WARMUP = 0 68 | 69 | # model 70 | MODEL = 'OriginGNNv11' 71 | PE_DIM = None 72 | HIDDEN_SIZE = 128 73 | 74 | # environment 75 | ENV_CONFIG = { 76 | 'hetero': True, 77 | 'num_agents': 3, 78 | 'SIZE': (3,3), 79 | 'agent_top_k': 2, 80 | 'obstacle_top_k': 2, 81 | 'agent_obs_radius': 1.5, 82 | 'obstacle_obs_radius': 1.5, 83 | 'PROB': (0.,30), 84 | 'angle_embed': True, 85 | 'simple': False, 86 | 'min_dist': 2, 87 | } 88 | OBS_CONFIG = { 89 | 'share_weight': True, 90 | 'rgraph_a': True, 91 | 'rgraph_o': True, 92 | 'has_goal': False, 93 | } 94 | 95 | OBS_CONFIG_DECOMPOSE = { 96 | 'share_weight': True, 97 | 'rgraph_a': True, 98 | 'rgraph_o': True, 99 | 'n_sub_o': (1,9), 100 | 'n_sub_a': (0,2), 101 | 'has_goal': False, 102 | 'iteration': 1, 103 | } 104 | 105 | FIX_ENV = False 106 | 107 | # target network 108 | POLYAK = 0. 109 | 110 | # not important 111 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v23.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v23' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 240000 60 | N_CBUF = 1000000 # TODO: change to 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v24.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v24' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-4 19 | PATIENCE = 4 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 240000 60 | N_CBUF = 80000 # TODO: change to 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v25.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v25' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.1 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.01 9 | MAX_EXPLORE_EPS = 0.01 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 240000 60 | N_CBUF = 80000 # TODO: change to 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v26.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v26' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.9 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 240000 60 | N_CBUF = 80000 # TODO: change to 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v27.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v27' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-8 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 12000 60 | N_CBUF = 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v28.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v28' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = True 14 | DANGER_EXPLORE = False 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-8 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 12000 60 | N_CBUF = 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v29.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v29' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 5e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 12000 59 | N_TRAJ_BUFFER = 12000 60 | N_CBUF = 200000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v3.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v3' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.9 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | ALL_EXPLORE = True 11 | EXPLORE_WAY = 'exponential' 12 | NOMINAL_WAY = 'exponential' 13 | 14 | # training 15 | LR = 1e-3 16 | MIN_LR = 1e-5 17 | PATIENCE = 3 18 | BATCH = 256 19 | USE_SCHEDULER = True 20 | OPTIMIZER = 'Adam' 21 | CLIP_NORM = True 22 | ALL_LIE = False 23 | UPDATE_FREQ = 4 24 | 25 | # algorithm 26 | POTENTIAL_OBS = False 27 | VARIABLE_AGENT = False 28 | CBUF_BEFORE_RELABEL = True 29 | THRESHOLD = 5e-2 30 | SPATIAL_PROP = False 31 | n_candidates = 2000 32 | 33 | # dataset 34 | TRAIN_ON_HARD = False 35 | N_DATASET = 10 36 | N_VALID_DATASET = 50 37 | MAX_VISIT_TIME = 1000 38 | 39 | # relabel 40 | RELABEL = True 41 | DECAY_RELABEL = False 42 | REFINE_EPS = 1.0 43 | RELABEL_ONLY_AGENT = False 44 | ONLY_BOUNDARY = False 45 | DANGER_THRESHOLD = 1e-2 46 | DYNAMIC_RELABEL = False 47 | 48 | # buffer size 49 | N_TRAJ = N_EPOCH = 1000000000 50 | N_BUFFER = 0 51 | N_DYNAMIC_BUFFER = 3000 52 | N_TRAJ_BUFFER = 60000 53 | N_CBUF = 60000 54 | 55 | # training speed & validation 56 | N_EVALUATE = 800 57 | N_VALID = 800 58 | N_TRAJ_PER_EPOCH = 20 59 | N_ITER = 50 60 | N_WARMUP = 0 61 | 62 | # model 63 | MODEL = 'OriginGNNv10' 64 | PE_DIM = None 65 | HIDDEN_SIZE = 128 66 | 67 | # environment 68 | ENV_CONFIG = { 69 | 'num_agents': 3, 70 | 'SIZE': (3,3), 71 | 'agent_top_k': 2, 72 | 'obstacle_top_k': 1, 73 | 'PROB': (0.2,1.0), 74 | 'angle_embed': True, 75 | 'simple': False, 76 | } 77 | FIX_ENV = False 78 | 79 | # target network 80 | POLYAK = 0. 81 | 82 | # not important 83 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v30.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v30' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 5e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 40 28 | N_TRAJ_PER_UPDATE = 40 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 24000 60 | N_CBUF = 800000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v31.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v31' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 5e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 40 28 | N_TRAJ_PER_UPDATE = 40 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 24000 60 | N_CBUF = 800000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 512 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v32.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v32' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = False 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = False 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 25600 60 | N_TRAJ_BUFFER = 240000 61 | N_CBUF = 800000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 2, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = False 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v33.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v33' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.99 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 12000 60 | N_TRAJ_BUFFER = 240000 61 | N_CBUF = 800000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 1, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = False 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v34.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v34' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 12000 60 | N_TRAJ_BUFFER = 240000 61 | N_CBUF = 800000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 1, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = True 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v35.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v35' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = True 14 | DANGER_EXPLORE = False 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 1024 60 | N_TRAJ_BUFFER = 10000 61 | N_CBUF = 10000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 1, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = True 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v36.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v36' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = True 14 | DANGER_EXPLORE = False 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 10000 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 1024 60 | N_TRAJ_BUFFER = 10000 61 | N_CBUF = 10000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 1, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = True 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v37.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v37' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = True 14 | DANGER_EXPLORE = False 15 | 16 | # training 17 | LR = 3e-4 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = False 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 80 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 10000 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 1024 60 | N_TRAJ_BUFFER = 10000 61 | N_CBUF = 10000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 1, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = True 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v4.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v4' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 6000 59 | N_TRAJ_BUFFER = 120000 60 | N_CBUF = 20000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v5.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v5' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.2 9 | MAX_EXPLORE_EPS = 0.2 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 12000 60 | N_TRAJ_BUFFER = 240000 61 | N_CBUF = 40000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 2, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = False 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v6.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v6' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.2 9 | MAX_EXPLORE_EPS = 0.2 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 200 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 6000 59 | N_TRAJ_BUFFER = 120000 60 | N_CBUF = 20000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v7.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v7' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.2 9 | MAX_EXPLORE_EPS = 0.2 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 40 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 12000 60 | N_TRAJ_BUFFER = 240000 61 | N_CBUF = 80000 62 | 63 | # training speed & validation 64 | N_EVALUATE = 400 65 | N_VALID = 400 66 | N_WARMUP = 0 67 | 68 | # model 69 | MODEL = 'OriginGNNv11' 70 | PE_DIM = None 71 | HIDDEN_SIZE = 128 72 | 73 | # environment 74 | ENV_CONFIG = { 75 | 'hetero': True, 76 | 'num_agents': 3, 77 | 'SIZE': (3,3), 78 | 'agent_top_k': 2, 79 | 'obstacle_top_k': 2, 80 | 'agent_obs_radius': 1.5, 81 | 'obstacle_obs_radius': 1.5, 82 | 'PROB': (0.,30), 83 | 'angle_embed': True, 84 | 'simple': False, 85 | 'min_dist': 2, 86 | } 87 | OBS_CONFIG = { 88 | 'share_weight': True, 89 | 'rgraph_a': True, 90 | 'rgraph_o': True, 91 | 'has_goal': False, 92 | } 93 | 94 | OBS_CONFIG_DECOMPOSE = { 95 | 'share_weight': True, 96 | 'rgraph_a': True, 97 | 'rgraph_o': True, 98 | 'n_sub_o': (1,9), 99 | 'n_sub_a': (0,2), 100 | 'has_goal': False, 101 | 'iteration': 1, 102 | } 103 | 104 | FIX_ENV = False 105 | 106 | # target network 107 | POLYAK = 0. 108 | 109 | # not important 110 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v8.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v8' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.9 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 0 60 | N_TRAJ_BUFFER = 480000 61 | N_CBUF_OBSTACLE = 320000 62 | N_CBUF_AGENT = 320000 63 | 64 | # training speed & validation 65 | N_EVALUATE = 400 66 | N_VALID = 400 67 | N_WARMUP = 0 68 | 69 | # model 70 | MODEL = 'OriginGNNv11' 71 | PE_DIM = None 72 | HIDDEN_SIZE = 128 73 | 74 | # environment 75 | ENV_CONFIG = { 76 | 'hetero': True, 77 | 'num_agents': 3, 78 | 'SIZE': (3,3), 79 | 'agent_top_k': 2, 80 | 'obstacle_top_k': 2, 81 | 'agent_obs_radius': 1.5, 82 | 'obstacle_obs_radius': 1.5, 83 | 'PROB': (0.,30), 84 | 'angle_embed': True, 85 | 'simple': False, 86 | 'min_dist': 2, 87 | } 88 | OBS_CONFIG = { 89 | 'share_weight': True, 90 | 'rgraph_a': True, 91 | 'rgraph_o': True, 92 | 'has_goal': False, 93 | } 94 | 95 | OBS_CONFIG_DECOMPOSE = { 96 | 'share_weight': True, 97 | 'rgraph_a': True, 98 | 'rgraph_o': True, 99 | 'n_sub_o': (1,9), 100 | 'n_sub_a': (0,2), 101 | 'has_goal': False, 102 | 'iteration': 1, 103 | } 104 | 105 | FIX_ENV = False 106 | 107 | # target network 108 | POLYAK = 0. 109 | 110 | # not important 111 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/drone/v9.py: -------------------------------------------------------------------------------- 1 | project_name = 'drone' 2 | env_name = 'DroneEnv' 3 | version_name = 'v9' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.9 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 20 29 | UPDATE_FREQ = 4 30 | SHARE_SAMPLE_ACROSS_UPDATE = True 31 | 32 | # algorithm 33 | POTENTIAL_OBS = False 34 | VARIABLE_AGENT = False 35 | CBUF_BEFORE_RELABEL = True 36 | THRESHOLD = 2e-2 37 | LIE_DERIVE_SAFE = False 38 | SPATIAL_PROP = False 39 | n_candidates = 200 40 | 41 | # dataset 42 | TRAIN_ON_HARD = False 43 | N_DATASET = 10 44 | N_VALID_DATASET = 50 45 | MAX_VISIT_TIME = 1000 46 | 47 | # relabel 48 | RELABEL = True 49 | DECAY_RELABEL = False 50 | REFINE_EPS = 1.0 51 | RELABEL_ONLY_AGENT = False 52 | ONLY_BOUNDARY = False 53 | DANGER_THRESHOLD = 2e-2 54 | DYNAMIC_RELABEL = False 55 | 56 | # buffer size 57 | N_TRAJ = N_EPOCH = 1000000000 58 | N_BUFFER = 0 59 | N_DYNAMIC_BUFFER = 3000 60 | N_TRAJ_BUFFER = 480000 61 | N_CBUF_OBSTACLE = 320000 62 | N_CBUF_AGENT = 320000 63 | 64 | # training speed & validation 65 | N_EVALUATE = 400 66 | N_VALID = 400 67 | N_WARMUP = 0 68 | 69 | # model 70 | MODEL = 'OriginGNNv11' 71 | PE_DIM = None 72 | HIDDEN_SIZE = 128 73 | 74 | # environment 75 | ENV_CONFIG = { 76 | 'hetero': True, 77 | 'num_agents': 3, 78 | 'SIZE': (3,3), 79 | 'agent_top_k': 2, 80 | 'obstacle_top_k': 2, 81 | 'agent_obs_radius': 1.5, 82 | 'obstacle_obs_radius': 1.5, 83 | 'PROB': (0.,30), 84 | 'angle_embed': True, 85 | 'simple': False, 86 | 'min_dist': 2, 87 | } 88 | OBS_CONFIG = { 89 | 'share_weight': True, 90 | 'rgraph_a': True, 91 | 'rgraph_o': True, 92 | 'has_goal': False, 93 | } 94 | 95 | OBS_CONFIG_DECOMPOSE = { 96 | 'share_weight': True, 97 | 'rgraph_a': True, 98 | 'rgraph_o': True, 99 | 'n_sub_o': (1,9), 100 | 'n_sub_a': (0,2), 101 | 'has_goal': False, 102 | 'iteration': 1, 103 | } 104 | 105 | FIX_ENV = False 106 | 107 | # target network 108 | POLYAK = 0. 109 | 110 | # not important 111 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v100.py: -------------------------------------------------------------------------------- 1 | version_name = 'v100' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0 19 | MAX_EXPLORE_EPS = 0.5 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | 31 | PE_DIM = 40 32 | N_TRAJ = N_EPOCH = 1000000000 33 | N_BUFFER = 20 34 | N_CBUF = 1000 35 | 36 | POLYAK = 0.99 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | BATCH = 1024 40 | N_ITER = 100 41 | N_TRAJ_PER_EPOCH = 10 42 | N_EVALUATE = 100 43 | N_VALID = 100 44 | N_WARMUP = 0 45 | N_DATASET = 10 46 | N_VALID_DATASET = 50 47 | THRESHOLD = 1e-2 48 | HIDDEN_SIZE = 128 49 | RELABEL = True 50 | EXPLORE_WAY = 'exponential' 51 | NOMINAL_WAY = 'exponential' 52 | DECAY_RELABEL = False 53 | USE_SCHEDULER = True 54 | OPTIMIZER = 'Adam' 55 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v101.py: -------------------------------------------------------------------------------- 1 | version_name = 'v101' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = True 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv6' 31 | 32 | 33 | PE_DIM = None 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 20 36 | N_CBUF = 1000 37 | 38 | POLYAK = 0.99 39 | SPATIAL_PROP = False 40 | n_candidates = 2000 41 | BATCH = 1024 42 | N_ITER = 100 43 | N_TRAJ_PER_EPOCH = 10 44 | N_EVALUATE = 100 45 | N_VALID = 100 46 | N_WARMUP = 10 47 | N_DATASET = 10 48 | N_VALID_DATASET = 50 49 | THRESHOLD = 1e-2 50 | HIDDEN_SIZE = 128 51 | RELABEL = True 52 | EXPLORE_WAY = 'exponential' 53 | NOMINAL_WAY = 'exponential' 54 | DECAY_RELABEL = False 55 | USE_SCHEDULER = True 56 | OPTIMIZER = 'Adam' 57 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v102.py: -------------------------------------------------------------------------------- 1 | version_name = 'v102' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = True 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv5' 31 | 32 | 33 | PE_DIM = None 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 20 36 | N_CBUF = 1000 37 | 38 | POLYAK = 0.99 39 | SPATIAL_PROP = False 40 | n_candidates = 2000 41 | BATCH = 1024 42 | N_ITER = 100 43 | N_TRAJ_PER_EPOCH = 10 44 | N_EVALUATE = 100 45 | N_VALID = 100 46 | N_WARMUP = 10 47 | N_DATASET = 10 48 | N_VALID_DATASET = 50 49 | THRESHOLD = 1e-2 50 | HIDDEN_SIZE = 128 51 | RELABEL = True 52 | EXPLORE_WAY = 'exponential' 53 | NOMINAL_WAY = 'exponential' 54 | DECAY_RELABEL = False 55 | USE_SCHEDULER = True 56 | OPTIMIZER = 'Adam' 57 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v103.py: -------------------------------------------------------------------------------- 1 | version_name = 'v103' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = True 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv8' 31 | 32 | 33 | PE_DIM = None 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 20 36 | N_CBUF = 1000 37 | 38 | POLYAK = 0.99 39 | SPATIAL_PROP = False 40 | n_candidates = 2000 41 | BATCH = 1024 42 | N_ITER = 100 43 | N_TRAJ_PER_EPOCH = 10 44 | N_EVALUATE = 100 45 | N_VALID = 100 46 | N_WARMUP = 10 47 | N_DATASET = 10 48 | N_VALID_DATASET = 50 49 | THRESHOLD = 1e-2 50 | HIDDEN_SIZE = 128 51 | RELABEL = True 52 | EXPLORE_WAY = 'exponential' 53 | NOMINAL_WAY = 'exponential' 54 | DECAY_RELABEL = False 55 | USE_SCHEDULER = True 56 | OPTIMIZER = 'Adam' 57 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v104.py: -------------------------------------------------------------------------------- 1 | version_name = 'v104' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.8 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.2 19 | MAX_EXPLORE_EPS = 1.0 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv8' 31 | 32 | 33 | PE_DIM = None 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 20 36 | N_CBUF = 1000 37 | 38 | POLYAK = 0.99 39 | SPATIAL_PROP = False 40 | n_candidates = 2000 41 | BATCH = 1024 42 | N_ITER = 100 43 | N_TRAJ_PER_EPOCH = 10 44 | N_EVALUATE = 100 45 | N_VALID = 100 46 | N_WARMUP = 10 47 | N_DATASET = 10 48 | N_VALID_DATASET = 50 49 | THRESHOLD = 1e-2 50 | HIDDEN_SIZE = 128 51 | RELABEL = True 52 | EXPLORE_WAY = 'exponential' 53 | NOMINAL_WAY = 'exponential' 54 | DECAY_RELABEL = False 55 | USE_SCHEDULER = True 56 | OPTIMIZER = 'Adam' 57 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v105.py: -------------------------------------------------------------------------------- 1 | version_name = 'v105' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.1 19 | MAX_EXPLORE_EPS = 1.0 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv6' 31 | 32 | 33 | PE_DIM = 40 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 10000 36 | N_CBUF = 1000 37 | 38 | POLYAK = 0.99 39 | SPATIAL_PROP = False 40 | n_candidates = 2000 41 | BATCH = 256 42 | N_ITER = 20 43 | N_TRAJ_PER_EPOCH = 10 44 | N_EVALUATE = 100 45 | N_VALID = 100 46 | N_WARMUP = 10 47 | N_DATASET = 10 48 | N_VALID_DATASET = 50 49 | THRESHOLD = 1e-2 50 | HIDDEN_SIZE = 128 51 | RELABEL = True 52 | EXPLORE_WAY = 'exponential' 53 | NOMINAL_WAY = 'exponential' 54 | DECAY_RELABEL = False 55 | USE_SCHEDULER = False 56 | OPTIMIZER = 'Adam' 57 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v106.py: -------------------------------------------------------------------------------- 1 | version_name = 'v106' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | MODEL = 'OriginGNNv8' 31 | 32 | 33 | PE_DIM = None 34 | N_TRAJ = N_EPOCH = 1000000000 35 | N_BUFFER = 20 36 | N_CBUF = 1000 37 | MAX_VISIT_TIME = 1000 38 | 39 | POLYAK = 0.99 40 | SPATIAL_PROP = False 41 | n_candidates = 2000 42 | BATCH = 256 43 | N_ITER = 50 44 | N_TRAJ_PER_EPOCH = 10 45 | N_EVALUATE = 100 46 | N_VALID = 100 47 | N_WARMUP = 10 48 | N_DATASET = 10 49 | N_VALID_DATASET = 50 50 | THRESHOLD = 1e-2 51 | HIDDEN_SIZE = 128 52 | RELABEL = True 53 | EXPLORE_WAY = 'exponential' 54 | NOMINAL_WAY = 'exponential' 55 | DECAY_RELABEL = False 56 | USE_SCHEDULER = True 57 | OPTIMIZER = 'Adam' 58 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v107.py: -------------------------------------------------------------------------------- 1 | version_name = 'v107' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | CLIP_NORM = True 30 | 31 | MODEL = 'OriginGNNv6' 32 | 33 | 34 | PE_DIM = 40 35 | N_TRAJ = N_EPOCH = 1000000000 36 | N_BUFFER = 20 37 | N_CBUF = 1000 38 | MAX_VISIT_TIME = 1000 39 | 40 | POLYAK = 0.99 41 | SPATIAL_PROP = False 42 | n_candidates = 2000 43 | BATCH = 1024 44 | N_ITER = 50 45 | N_TRAJ_PER_EPOCH = 10 46 | N_EVALUATE = 100 47 | N_VALID = 100 48 | N_WARMUP = 10 49 | N_DATASET = 10 50 | N_VALID_DATASET = 50 51 | THRESHOLD = 1e-2 52 | HIDDEN_SIZE = 256 53 | RELABEL = True 54 | EXPLORE_WAY = 'exponential' 55 | NOMINAL_WAY = 'exponential' 56 | DECAY_RELABEL = False 57 | USE_SCHEDULER = True 58 | OPTIMIZER = 'Adam' 59 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v108.py: -------------------------------------------------------------------------------- 1 | version_name = 'v108' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 1.0 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = True 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | CLIP_NORM = True 30 | 31 | MODEL = 'OriginGNNv6' 32 | 33 | 34 | PE_DIM = 40 35 | N_TRAJ = N_EPOCH = 1000000000 36 | N_BUFFER = 10000 37 | N_CBUF = 0 38 | MAX_VISIT_TIME = 1000 39 | 40 | POLYAK = 0.99 41 | SPATIAL_PROP = False 42 | n_candidates = 200 43 | BATCH = 128 44 | N_ITER = 50 45 | N_TRAJ_PER_EPOCH = 10 46 | N_EVALUATE = 100 47 | N_VALID = 100 48 | N_WARMUP = 0 49 | N_DATASET = 10 50 | N_VALID_DATASET = 50 51 | THRESHOLD = 1e-2 52 | HIDDEN_SIZE = 256 53 | RELABEL = True 54 | EXPLORE_WAY = 'exponential' 55 | NOMINAL_WAY = 'exponential' 56 | DECAY_RELABEL = True 57 | USE_SCHEDULER = True 58 | OPTIMIZER = 'Adam' 59 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v109.py: -------------------------------------------------------------------------------- 1 | version_name = 'v109' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.5,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | DYNAMIC_RELABEL = True 30 | CLIP_NORM = True 31 | 32 | MODEL = 'OriginGNNv8' 33 | 34 | 35 | PE_DIM = None 36 | N_TRAJ = N_EPOCH = 1000000000 37 | N_BUFFER = 10000 38 | N_CBUF = 0 39 | MAX_VISIT_TIME = 1000 40 | 41 | POLYAK = 0.99 42 | SPATIAL_PROP = False 43 | n_candidates = 2000 44 | BATCH = 256 45 | N_ITER = 50 46 | N_TRAJ_PER_EPOCH = 10 47 | N_EVALUATE = 100 48 | N_VALID = 100 49 | N_WARMUP = 10 50 | N_DATASET = 10 51 | N_VALID_DATASET = 50 52 | THRESHOLD = 1e-2 53 | HIDDEN_SIZE = 128 54 | RELABEL = True 55 | EXPLORE_WAY = 'exponential' 56 | NOMINAL_WAY = 'exponential' 57 | DECAY_RELABEL = False 58 | USE_SCHEDULER = True 59 | OPTIMIZER = 'Adam' 60 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v110.py: -------------------------------------------------------------------------------- 1 | version_name = 'v110' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.5,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | DYNAMIC_RELABEL = False 30 | CLIP_NORM = True 31 | 32 | MODEL = 'OriginGNNv8' 33 | 34 | 35 | PE_DIM = None 36 | N_TRAJ = N_EPOCH = 1000000000 37 | N_BUFFER = 1000000000 38 | N_DYNAMIC_BUFFER = 3000 39 | N_TRAJ_BUFFER = 60000 40 | N_CBUF = 60000 41 | MAX_VISIT_TIME = 1000 42 | 43 | POLYAK = 0. 44 | SPATIAL_PROP = False 45 | n_candidates = 2000 46 | BATCH = 64 47 | N_ITER = 50 48 | N_TRAJ_PER_EPOCH = 10 49 | N_EVALUATE = 100 50 | N_VALID = 100 51 | N_WARMUP = 0 52 | N_DATASET = 10 53 | N_VALID_DATASET = 50 54 | THRESHOLD = 1e-2 55 | HIDDEN_SIZE = 128 56 | RELABEL = True 57 | EXPLORE_WAY = 'exponential' 58 | NOMINAL_WAY = 'exponential' 59 | DECAY_RELABEL = False 60 | USE_SCHEDULER = True 61 | OPTIMIZER = 'Adam' 62 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v111.py: -------------------------------------------------------------------------------- 1 | version_name = 'v111' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.2,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 1.0 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = True 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | DYNAMIC_RELABEL = False 30 | CLIP_NORM = True 31 | 32 | MODEL = 'OriginGNNv8' 33 | 34 | 35 | PE_DIM = None 36 | N_TRAJ = N_EPOCH = 1000000000 37 | N_BUFFER = 1000000000 38 | N_DYNAMIC_BUFFER = 3000 39 | N_TRAJ_BUFFER = 60000 40 | N_CBUF = 60000 41 | MAX_VISIT_TIME = 1000 42 | 43 | POLYAK = 0. 44 | SPATIAL_PROP = False 45 | n_candidates = 2000 46 | BATCH = 64 47 | N_ITER = 50 48 | N_TRAJ_PER_EPOCH = 10 49 | N_EVALUATE = 100 50 | N_VALID = 100 51 | N_WARMUP = 0 52 | N_DATASET = 10 53 | N_VALID_DATASET = 50 54 | THRESHOLD = 1e-2 55 | HIDDEN_SIZE = 128 56 | RELABEL = True 57 | EXPLORE_WAY = 'exponential' 58 | NOMINAL_WAY = 'exponential' 59 | DECAY_RELABEL = False 60 | USE_SCHEDULER = True 61 | OPTIMIZER = 'Adam' 62 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v112.py: -------------------------------------------------------------------------------- 1 | version_name = 'v112' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.2,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.5 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | DYNAMIC_RELABEL = False 30 | CLIP_NORM = True 31 | 32 | MODEL = 'OriginGNNv8' 33 | 34 | 35 | PE_DIM = None 36 | N_TRAJ = N_EPOCH = 1000000000 37 | N_BUFFER = 1000000000 38 | N_DYNAMIC_BUFFER = 10000 39 | N_TRAJ_BUFFER = 60000 40 | N_CBUF = 60000 41 | MAX_VISIT_TIME = 1000 42 | 43 | POLYAK = 0. 44 | SPATIAL_PROP = False 45 | n_candidates = 2000 46 | BATCH = 64 47 | N_ITER = 50 48 | N_TRAJ_PER_EPOCH = 10 49 | N_EVALUATE = 100 50 | N_VALID = 100 51 | N_WARMUP = 0 52 | N_DATASET = 10 53 | N_VALID_DATASET = 50 54 | THRESHOLD = 5e-2 55 | HIDDEN_SIZE = 128 56 | RELABEL = True 57 | EXPLORE_WAY = 'exponential' 58 | NOMINAL_WAY = 'exponential' 59 | DECAY_RELABEL = False 60 | USE_SCHEDULER = True 61 | OPTIMIZER = 'Adam' 62 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v113.py: -------------------------------------------------------------------------------- 1 | version_name = 'v113' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.2,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = False 13 | 14 | LR = 5e-3 15 | MIN_LR = 1e-5 16 | PATIENCE = 2 17 | DECAY_EXPLORE_RATE = 0.9 18 | DECAY_NOMINAL_RATE = 0. 19 | MIN_EXPLORE_EPS = 0.01 20 | MAX_EXPLORE_EPS = 0.5 21 | UPDATE_FREQ = 16 22 | 23 | POTENTIAL_OBS = False 24 | TRAIN_ON_HARD = False 25 | VARIABLE_AGENT = False 26 | CBUF_BEFORE_RELABEL = True 27 | REFINE_EPS = 1.0 28 | RELABEL_ONLY_AGENT = False 29 | ALL_LIE = False 30 | ONLY_BOUNDARY = False 31 | DANGER_THRESHOLD = 0 32 | DYNAMIC_RELABEL = False 33 | CLIP_NORM = True 34 | 35 | MODEL = 'OriginGNNv8' 36 | 37 | 38 | PE_DIM = None 39 | N_TRAJ = N_EPOCH = 1000000000 40 | N_BUFFER = 1000000000 41 | N_DYNAMIC_BUFFER = 2000 42 | N_TRAJ_BUFFER = 60000 43 | N_CBUF = 5000 44 | MAX_VISIT_TIME = 1000 45 | 46 | POLYAK = 0. 47 | SPATIAL_PROP = False 48 | n_candidates = 2000 49 | BATCH = 64 50 | N_ITER = 50 51 | N_TRAJ_PER_EPOCH = 10 52 | N_EVALUATE = 100 53 | N_VALID = 100 54 | N_WARMUP = 0 55 | N_DATASET = 10 56 | N_VALID_DATASET = 50 57 | THRESHOLD = 2e-2 58 | HIDDEN_SIZE = 128 59 | RELABEL = True 60 | EXPLORE_WAY = 'exponential' 61 | NOMINAL_WAY = 'exponential' 62 | DECAY_RELABEL = False 63 | USE_SCHEDULER = True 64 | OPTIMIZER = 'Adam' 65 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v114.py: -------------------------------------------------------------------------------- 1 | version_name = 'v114' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.01 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 1000000000 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv8' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 3, 67 | 'SIZE': (3,3), 68 | 'agent_top_k': 2, 69 | 'obstacle_top_k': 1, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v114_infer.py: -------------------------------------------------------------------------------- 1 | version_name = 'v114' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.01 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 1000000000 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv8' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 3, 67 | 'SIZE': (3,3), 68 | 'agent_top_k': 2, 69 | 'obstacle_top_k': 1, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v115.py: -------------------------------------------------------------------------------- 1 | version_name = 'v115' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.0 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv8' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 8, 67 | 'SIZE': (4,4), 68 | 'agent_top_k': 6, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v115_infer.py: -------------------------------------------------------------------------------- 1 | version_name = 'v115' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.0 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv8' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 8, 67 | 'SIZE': (4,4), 68 | 'agent_top_k': 6, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v116.py: -------------------------------------------------------------------------------- 1 | version_name = 'v116' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.1 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv9' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 8, 67 | 'SIZE': (4,4), 68 | 'agent_top_k': 6, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v116_infer.py: -------------------------------------------------------------------------------- 1 | version_name = 'v116' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.1 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 3e-4 13 | MIN_LR = 1e-8 14 | PATIENCE = 2 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv9' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 8, 67 | 'SIZE': (4,4), 68 | 'agent_top_k': 6, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.2,1.0), 71 | 'simple': False, 72 | } 73 | FIX_ENV = False 74 | 75 | # target network 76 | POLYAK = 0. 77 | 78 | # not important 79 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v117.py: -------------------------------------------------------------------------------- 1 | version_name = 'v117' 2 | 3 | # explore 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0.1 7 | MAX_EXPLORE_EPS = 0.5 8 | EXPLORE_WAY = 'exponential' 9 | NOMINAL_WAY = 'exponential' 10 | 11 | # training 12 | LR = 1e-3 13 | MIN_LR = 1e-5 14 | PATIENCE = 3 15 | BATCH = 256 16 | USE_SCHEDULER = True 17 | OPTIMIZER = 'Adam' 18 | CLIP_NORM = True 19 | ALL_LIE = False 20 | 21 | # algorithm 22 | POTENTIAL_OBS = False 23 | VARIABLE_AGENT = False 24 | CBUF_BEFORE_RELABEL = True 25 | THRESHOLD = 2e-2 26 | SPATIAL_PROP = False 27 | n_candidates = 2000 28 | 29 | # dataset 30 | TRAIN_ON_HARD = False 31 | N_DATASET = 10 32 | N_VALID_DATASET = 50 33 | MAX_VISIT_TIME = 1000 34 | 35 | # relabel 36 | RELABEL = True 37 | DECAY_RELABEL = False 38 | REFINE_EPS = 1.0 39 | RELABEL_ONLY_AGENT = False 40 | ONLY_BOUNDARY = False 41 | DANGER_THRESHOLD = 0 42 | DYNAMIC_RELABEL = False 43 | 44 | # buffer size 45 | N_TRAJ = N_EPOCH = 1000000000 46 | N_BUFFER = 0 47 | N_DYNAMIC_BUFFER = 10000 48 | N_TRAJ_BUFFER = 60000 49 | N_CBUF = 60000 50 | 51 | # training speed & validation 52 | UPDATE_FREQ = 4 53 | N_EVALUATE = 400 54 | N_VALID = 400 55 | N_ITER = 50 56 | N_TRAJ_PER_EPOCH = 10 57 | N_WARMUP = 0 58 | 59 | # model 60 | MODEL = 'OriginGNNv10' 61 | PE_DIM = None 62 | HIDDEN_SIZE = 128 63 | 64 | # environment 65 | ENV_CONFIG = { 66 | 'num_agents': 3, 67 | 'SIZE': (3,3), 68 | 'agent_top_k': 2, 69 | 'obstacle_top_k': 2, 70 | 'PROB': (0.,30), 71 | 'angle_embed': True, 72 | 'simple': False, 73 | } 74 | FIX_ENV = False 75 | 76 | # target network 77 | POLYAK = 0. 78 | 79 | # not important 80 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v118.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v118' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 0.9 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.5 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | 13 | # training 14 | LR = 1e-3 15 | MIN_LR = 1e-5 16 | PATIENCE = 3 17 | BATCH = 256 18 | USE_SCHEDULER = True 19 | OPTIMIZER = 'Adam' 20 | CLIP_NORM = True 21 | ALL_LIE = False 22 | 23 | # algorithm 24 | POTENTIAL_OBS = False 25 | VARIABLE_AGENT = False 26 | CBUF_BEFORE_RELABEL = True 27 | THRESHOLD = 5e-2 28 | SPATIAL_PROP = False 29 | n_candidates = 2000 30 | 31 | # dataset 32 | TRAIN_ON_HARD = False 33 | N_DATASET = 10 34 | N_VALID_DATASET = 50 35 | MAX_VISIT_TIME = 1000 36 | 37 | # relabel 38 | RELABEL = True 39 | DECAY_RELABEL = False 40 | REFINE_EPS = 1.0 41 | RELABEL_ONLY_AGENT = False 42 | ONLY_BOUNDARY = False 43 | DANGER_THRESHOLD = 0 44 | DYNAMIC_RELABEL = False 45 | 46 | # buffer size 47 | N_TRAJ = N_EPOCH = 1000000000 48 | N_BUFFER = 0 49 | N_DYNAMIC_BUFFER = 10000 50 | N_TRAJ_BUFFER = 60000 51 | N_CBUF = 60000 52 | 53 | # training speed & validation 54 | UPDATE_FREQ = 4 55 | N_EVALUATE = 400 56 | N_VALID = 400 57 | N_ITER = 50 58 | N_TRAJ_PER_EPOCH = 10 59 | N_WARMUP = 0 60 | 61 | # model 62 | MODEL = 'OriginGNNv10' 63 | PE_DIM = None 64 | HIDDEN_SIZE = 128 65 | 66 | # environment 67 | ENV_CONFIG = { 68 | 'num_agents': 3, 69 | 'SIZE': (3,3), 70 | 'agent_top_k': 2, 71 | 'obstacle_top_k': 2, 72 | 'PROB': (0.,30), 73 | 'angle_embed': True, 74 | 'simple': False, 75 | } 76 | FIX_ENV = False 77 | 78 | # target network 79 | POLYAK = 0. 80 | 81 | # not important 82 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v119.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v119' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = False 13 | ALL_EXPLORE = True 14 | 15 | # training 16 | LR = 1e-3 17 | MIN_LR = 1e-5 18 | PATIENCE = 3 19 | BATCH = 256 20 | USE_SCHEDULER = True 21 | OPTIMIZER = 'Adam' 22 | CLIP_NORM = True 23 | ALL_LIE = False 24 | 25 | # training freq 26 | N_ITER = 20 27 | N_TRAJ_PER_UPDATE = 10 28 | UPDATE_FREQ = 4 29 | 30 | # algorithm 31 | POTENTIAL_OBS = False 32 | VARIABLE_AGENT = False 33 | CBUF_BEFORE_RELABEL = True 34 | THRESHOLD = 2e-2 35 | SPATIAL_PROP = False 36 | n_candidates = 2000 37 | 38 | # dataset 39 | TRAIN_ON_HARD = False 40 | N_DATASET = 10 41 | N_VALID_DATASET = 50 42 | MAX_VISIT_TIME = 1000 43 | 44 | # relabel 45 | RELABEL = True 46 | DECAY_RELABEL = False 47 | REFINE_EPS = 1.0 48 | RELABEL_ONLY_AGENT = False 49 | ONLY_BOUNDARY = False 50 | DANGER_THRESHOLD = 2e-2 51 | DYNAMIC_RELABEL = False 52 | 53 | # buffer size 54 | N_TRAJ = N_EPOCH = 1000000000 55 | N_BUFFER = 0 56 | N_DYNAMIC_BUFFER = 3000 57 | N_TRAJ_BUFFER = 60000 58 | N_CBUF = 10000 59 | 60 | # training speed & validation 61 | N_EVALUATE = 400 62 | N_VALID = 400 63 | N_WARMUP = 0 64 | 65 | # model 66 | MODEL = 'OriginGNNv10' 67 | PE_DIM = None 68 | HIDDEN_SIZE = 128 69 | 70 | # environment 71 | ENV_CONFIG = { 72 | 'num_agents': 3, 73 | 'SIZE': (3,3), 74 | 'agent_top_k': 2, 75 | 'obstacle_top_k': 2, 76 | 'PROB': (0.,30), 77 | 'angle_embed': True, 78 | 'simple': False, 79 | } 80 | FIX_ENV = False 81 | 82 | # target network 83 | POLYAK = 0. 84 | 85 | # not important 86 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v120.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v120' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | SPATIAL_PROP = False 37 | n_candidates = 2000 38 | 39 | # dataset 40 | TRAIN_ON_HARD = False 41 | N_DATASET = 10 42 | N_VALID_DATASET = 50 43 | MAX_VISIT_TIME = 1000 44 | 45 | # relabel 46 | RELABEL = True 47 | DECAY_RELABEL = False 48 | REFINE_EPS = 1.0 49 | RELABEL_ONLY_AGENT = False 50 | ONLY_BOUNDARY = False 51 | DANGER_THRESHOLD = 2e-2 52 | DYNAMIC_RELABEL = False 53 | 54 | # buffer size 55 | N_TRAJ = N_EPOCH = 1000000000 56 | N_BUFFER = 0 57 | N_DYNAMIC_BUFFER = 3000 58 | N_TRAJ_BUFFER = 60000 59 | N_CBUF = 10000 60 | 61 | # training speed & validation 62 | N_EVALUATE = 400 63 | N_VALID = 400 64 | N_WARMUP = 0 65 | 66 | # model 67 | MODEL = 'OriginGNNv10' 68 | PE_DIM = None 69 | HIDDEN_SIZE = 128 70 | 71 | # environment 72 | ENV_CONFIG = { 73 | 'num_agents': 3, 74 | 'SIZE': (3,3), 75 | 'agent_top_k': 2, 76 | 'obstacle_top_k': 2, 77 | 'PROB': (0.,30), 78 | 'angle_embed': True, 79 | 'simple': False, 80 | 'min_dist': 2, 81 | } 82 | FIX_ENV = False 83 | 84 | # target network 85 | POLYAK = 0. 86 | 87 | # not important 88 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v121.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v121' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 1e-1 36 | LIE_DERIVE_SAFE = True 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 0 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 60000 60 | N_CBUF = 10000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv10' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'num_agents': 3, 75 | 'SIZE': (3,3), 76 | 'agent_top_k': 2, 77 | 'obstacle_top_k': 2, 78 | 'PROB': (0.,30), 79 | 'angle_embed': True, 80 | 'simple': False, 81 | 'min_dist': 2, 82 | } 83 | OBS_CONFIG = { 84 | 'share_weight': False, 85 | 'rgraph_a': False, 86 | 'rgraph_o': False, 87 | } 88 | FIX_ENV = False 89 | 90 | # target network 91 | POLYAK = 0. 92 | 93 | # not important 94 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v122.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v122' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 60000 60 | N_CBUF = 10000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'num_agents': 3, 75 | 'SIZE': (3,3), 76 | 'agent_top_k': 2, 77 | 'obstacle_top_k': 2, 78 | 'PROB': (0.,30), 79 | 'angle_embed': True, 80 | 'simple': False, 81 | 'min_dist': 2, 82 | } 83 | OBS_CONFIG = { 84 | 'share_weight': True, 85 | 'rgraph_a': True, 86 | 'rgraph_o': True, 87 | } 88 | 89 | OBS_CONFIG_DECOMPOSE = { 90 | 'share_weight': True, 91 | 'rgraph_a': True, 92 | 'rgraph_o': True, 93 | 'n_sub_o': 10, 94 | 'n_sub_a': 2, 95 | } 96 | 97 | FIX_ENV = False 98 | 99 | # target network 100 | POLYAK = 0. 101 | 102 | # not important 103 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v123.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v123' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 1e-1 36 | LIE_DERIVE_SAFE = True 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 0 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 60000 60 | N_CBUF = 10000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'num_agents': 3, 75 | 'SIZE': (3,3), 76 | 'agent_top_k': 2, 77 | 'obstacle_top_k': 2, 78 | 'PROB': (0.,30), 79 | 'angle_embed': True, 80 | 'simple': False, 81 | 'min_dist': 2, 82 | } 83 | OBS_CONFIG = { 84 | 'share_weight': True, 85 | 'rgraph_a': True, 86 | 'rgraph_o': True, 87 | } 88 | FIX_ENV = False 89 | 90 | # target network 91 | POLYAK = 0. 92 | 93 | # not important 94 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v124.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v124' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = True 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 60000 60 | N_CBUF = 10000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv12' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': False, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': [0, 0.1, 0.3, 1, 2, 5, 10, 15, 20, 25, 30], 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': 10, 98 | 'n_sub_a': 2, 99 | 'has_goal': False, 100 | } 101 | 102 | FIX_ENV = False 103 | 104 | # target network 105 | POLYAK = 0. 106 | 107 | # not important 108 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v125.py: -------------------------------------------------------------------------------- 1 | project_name = 'dubins_car' 2 | env_name = 'DubinsCarEnv' 3 | version_name = 'v125' 4 | 5 | # explore 6 | DECAY_EXPLORE_RATE = 1.0 7 | DECAY_NOMINAL_RATE = 0. 8 | MIN_EXPLORE_EPS = 0.1 9 | MAX_EXPLORE_EPS = 0.1 10 | EXPLORE_WAY = 'exponential' 11 | NOMINAL_WAY = 'exponential' 12 | SAFE_EXPLORE = True 13 | ALL_EXPLORE = False 14 | DANGER_EXPLORE = True 15 | 16 | # training 17 | LR = 1e-3 18 | MIN_LR = 1e-5 19 | PATIENCE = 3 20 | BATCH = 256 21 | USE_SCHEDULER = True 22 | OPTIMIZER = 'Adam' 23 | CLIP_NORM = True 24 | ALL_LIE = False 25 | 26 | # training freq 27 | N_ITER = 20 28 | N_TRAJ_PER_UPDATE = 10 29 | UPDATE_FREQ = 4 30 | 31 | # algorithm 32 | POTENTIAL_OBS = False 33 | VARIABLE_AGENT = False 34 | CBUF_BEFORE_RELABEL = True 35 | THRESHOLD = 2e-2 36 | LIE_DERIVE_SAFE = False 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | 40 | # dataset 41 | TRAIN_ON_HARD = False 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | MAX_VISIT_TIME = 1000 45 | 46 | # relabel 47 | RELABEL = True 48 | DECAY_RELABEL = False 49 | REFINE_EPS = 1.0 50 | RELABEL_ONLY_AGENT = False 51 | ONLY_BOUNDARY = False 52 | DANGER_THRESHOLD = 2e-2 53 | DYNAMIC_RELABEL = False 54 | 55 | # buffer size 56 | N_TRAJ = N_EPOCH = 1000000000 57 | N_BUFFER = 0 58 | N_DYNAMIC_BUFFER = 3000 59 | N_TRAJ_BUFFER = 60000 60 | N_CBUF = 10000 61 | 62 | # training speed & validation 63 | N_EVALUATE = 400 64 | N_VALID = 400 65 | N_WARMUP = 0 66 | 67 | # model 68 | MODEL = 'OriginGNNv11' 69 | PE_DIM = None 70 | HIDDEN_SIZE = 128 71 | 72 | # environment 73 | ENV_CONFIG = { 74 | 'hetero': True, 75 | 'num_agents': 3, 76 | 'SIZE': (3,3), 77 | 'agent_top_k': 2, 78 | 'obstacle_top_k': 2, 79 | 'agent_obs_radius': 1.5, 80 | 'obstacle_obs_radius': 1.5, 81 | 'PROB': (0.,30), 82 | 'angle_embed': True, 83 | 'simple': False, 84 | 'min_dist': 2, 85 | } 86 | OBS_CONFIG = { 87 | 'share_weight': True, 88 | 'rgraph_a': True, 89 | 'rgraph_o': True, 90 | 'has_goal': False, 91 | } 92 | 93 | OBS_CONFIG_DECOMPOSE = { 94 | 'share_weight': True, 95 | 'rgraph_a': True, 96 | 'rgraph_o': True, 97 | 'n_sub_o': (1,9), 98 | 'n_sub_a': (0,2), 99 | 'has_goal': False, 100 | 'iteration': 1, 101 | } 102 | 103 | FIX_ENV = False 104 | 105 | # target network 106 | POLYAK = 0. 107 | 108 | # not important 109 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v29.py: -------------------------------------------------------------------------------- 1 | version_name = 'v29' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.99 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 1.0 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = True 12 | 13 | 14 | N_TRAJ = N_EPOCH = 1000000 15 | N_CBUF = 0 16 | 17 | NUM_AGENTS = 8 18 | MAP_SIZE = 4 19 | 20 | n_candidates = 2000 21 | BATCH = 1024 22 | N_ITER = 100 23 | N_TRAJ_PER_EPOCH = 10 24 | N_BUFFER = 20 25 | N_EVALUATE = 100 26 | N_VALID = 100 27 | N_WARMUP = 100 28 | N_DATASET = 10 29 | N_VALID_DATASET = 20 30 | THRESHOLD = 1.5e-2 31 | HIDDEN_SIZE = 128 32 | RELABEL = True 33 | CYCLIC = False 34 | DECAY_RELABEL = False 35 | USE_SCHEDULER = True 36 | OPTIMIZER = 'Adam' 37 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v30.py: -------------------------------------------------------------------------------- 1 | version_name = 'v30' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0.08 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | 13 | 14 | N_TRAJ = N_EPOCH = 1000000 15 | N_CBUF = 1000000 16 | 17 | NUM_AGENTS = 8 18 | MAP_SIZE = 4 19 | 20 | n_candidates = 2000 21 | BATCH = 1024 22 | N_ITER = 100 23 | N_TRAJ_PER_EPOCH = 10 24 | N_BUFFER = 20 25 | N_EVALUATE = 100 26 | N_VALID = 100 27 | N_WARMUP = 100 28 | N_DATASET = 10 29 | N_VALID_DATASET = 20 30 | THRESHOLD = 1.5e-2 31 | HIDDEN_SIZE = 128 32 | RELABEL = True 33 | CYCLIC = False 34 | DECAY_RELABEL = False 35 | USE_SCHEDULER = True 36 | OPTIMIZER = 'Adam' 37 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v31.py: -------------------------------------------------------------------------------- 1 | version_name = 'v31' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 1000 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 20 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v32.py: -------------------------------------------------------------------------------- 1 | version_name = 'v32' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 1e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 1000 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 20 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = False 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v33.py: -------------------------------------------------------------------------------- 1 | version_name = 'v33' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 1.0 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 1000 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 20 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v34.py: -------------------------------------------------------------------------------- 1 | version_name = 'v34' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.9 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 1.0 9 | POTENTIAL_OBS = True 10 | PREFERENCE_OBS = False 11 | TRAIN_ON_HARD = False 12 | VARIABLE_AGENT = False 13 | CBUF_BEFORE_RELABEL = True 14 | 15 | 16 | N_TRAJ = N_EPOCH = 1000000 17 | N_CBUF = 1000 18 | 19 | NUM_AGENTS = 8 20 | MAP_SIZE = 4 21 | 22 | n_candidates = 2000 23 | BATCH = 1024 24 | N_ITER = 100 25 | N_TRAJ_PER_EPOCH = 10 26 | N_BUFFER = 20 27 | N_EVALUATE = 100 28 | N_VALID = 100 29 | N_WARMUP = 100 30 | N_DATASET = 10 31 | N_VALID_DATASET = 20 32 | THRESHOLD = 1.5e-2 33 | HIDDEN_SIZE = 128 34 | RELABEL = True 35 | CYCLIC = False 36 | DECAY_RELABEL = False 37 | USE_SCHEDULER = True 38 | OPTIMIZER = 'Adam' 39 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v35.py: -------------------------------------------------------------------------------- 1 | version_name = 'v35' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | PREFERENCE_OBS = True 11 | TRAIN_ON_HARD = False 12 | VARIABLE_AGENT = False 13 | CBUF_BEFORE_RELABEL = True 14 | PER_STEP_EXPLORE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 1000 19 | 20 | NUM_AGENTS = 8 21 | MAP_SIZE = 4 22 | 23 | n_candidates = 2000 24 | BATCH = 1024 25 | N_ITER = 100 26 | N_TRAJ_PER_EPOCH = 10 27 | N_BUFFER = 20 28 | N_EVALUATE = 100 29 | N_VALID = 100 30 | N_WARMUP = 100 31 | N_DATASET = 10 32 | N_VALID_DATASET = 20 33 | THRESHOLD = 1.5e-2 34 | HIDDEN_SIZE = 128 35 | RELABEL = True 36 | CYCLIC = False 37 | DECAY_RELABEL = False 38 | USE_SCHEDULER = True 39 | OPTIMIZER = 'Adam' 40 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v36.py: -------------------------------------------------------------------------------- 1 | version_name = 'v36' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 1.0 9 | POTENTIAL_OBS = False 10 | PREFERENCE_OBS = False 11 | TRAIN_ON_HARD = False 12 | VARIABLE_AGENT = False 13 | CBUF_BEFORE_RELABEL = True 14 | PER_STEP_EXPLORE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 0 19 | 20 | NUM_AGENTS = 8 21 | MAP_SIZE = 4 22 | 23 | n_candidates = 2000 24 | BATCH = 1024 25 | N_ITER = 100 26 | N_TRAJ_PER_EPOCH = 10 27 | N_BUFFER = 20 28 | N_EVALUATE = 100 29 | N_VALID = 100 30 | N_WARMUP = 100 31 | N_DATASET = 10 32 | N_VALID_DATASET = 20 33 | THRESHOLD = 1.5e-2 34 | HIDDEN_SIZE = 128 35 | RELABEL = True 36 | CYCLIC = False 37 | DECAY_RELABEL = False 38 | USE_SCHEDULER = True 39 | OPTIMIZER = 'Adam' 40 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v37.py: -------------------------------------------------------------------------------- 1 | version_name = 'v37' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 1e-3 4 | MIN_LR = 1e-5 5 | PATIENCE = 2 6 | OPTIMIZER = 'SGD' 7 | DECAY_EXPLORE_RATE = 0.97 8 | DECAY_NOMINAL_RATE = 0.8 9 | MIN_EXPLORE_EPS = 0. 10 | MAX_EXPLORE_EPS = 0.5 11 | POTENTIAL_OBS = True 12 | PREFERENCE_OBS = True 13 | TRAIN_ON_HARD = False 14 | VARIABLE_AGENT = False 15 | CBUF_BEFORE_RELABEL = True 16 | PER_STEP_EXPLORE = False 17 | CBUF_ONLY_BOUNDARY = True 18 | 19 | N_TRAJ = N_EPOCH = 1000000 20 | N_CBUF = 300 21 | 22 | NUM_AGENTS = 8 23 | MAP_SIZE = 4 24 | 25 | n_candidates = 2000 26 | BATCH = 1024 27 | N_ITER = 100 28 | N_TRAJ_PER_EPOCH = 10 29 | N_BUFFER = 20 30 | N_EVALUATE = 100 31 | N_VALID = 100 32 | N_WARMUP = 100 33 | N_DATASET = 10 34 | N_VALID_DATASET = 20 35 | THRESHOLD = 1.5e-2 36 | HIDDEN_SIZE = 128 37 | RELABEL = True 38 | CYCLIC = False 39 | DECAY_RELABEL = False 40 | USE_SCHEDULER = True 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v38.py: -------------------------------------------------------------------------------- 1 | version_name = 'v38' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-5 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = True 15 | PER_STEP_EXPLORE = False 16 | CBUF_ONLY_BOUNDARY = True 17 | 18 | 19 | N_TRAJ = N_EPOCH = 1000000 20 | N_CBUF = 0 21 | 22 | NUM_AGENTS = 8 23 | MAP_SIZE = 4 24 | 25 | n_candidates = 2000 26 | BATCH = 1024 27 | N_ITER = 100 28 | N_TRAJ_PER_EPOCH = 10 29 | N_BUFFER = 20 30 | N_EVALUATE = 100 31 | N_VALID = 100 32 | N_WARMUP = 100 33 | N_DATASET = 10 34 | N_VALID_DATASET = 20 35 | THRESHOLD = 1.5e-2 36 | HIDDEN_SIZE = 128 37 | RELABEL = True 38 | CYCLIC = False 39 | DECAY_RELABEL = False 40 | USE_SCHEDULER = True 41 | OPTIMIZER = 'Adam' 42 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v39.py: -------------------------------------------------------------------------------- 1 | version_name = 'v39' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 7e-5 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = True 15 | PER_STEP_EXPLORE = False 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 3 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 1000000 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v40.py: -------------------------------------------------------------------------------- 1 | version_name = 'v40' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-6 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = False 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 0 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 1000000 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 200 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v41.py: -------------------------------------------------------------------------------- 1 | version_name = 'v41' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 1e-3 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 0 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 0 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 500 29 | N_TRAJ_PER_EPOCH = 100 30 | N_BUFFER = 200 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'SGD' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v42.py: -------------------------------------------------------------------------------- 1 | version_name = 'v42' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 1e-3 4 | MIN_LR = 1e-6 5 | PATIENCE = 10 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 0 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 0 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 200 29 | N_TRAJ_PER_EPOCH = 100 30 | N_BUFFER = 200 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v43.py: -------------------------------------------------------------------------------- 1 | version_name = 'v43' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 1e-3 4 | MIN_LR = 1e-6 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.8 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 0 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 0 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 200 29 | N_TRAJ_PER_EPOCH = 100 30 | N_BUFFER = 100 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v44.py: -------------------------------------------------------------------------------- 1 | version_name = 'v44' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.2 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = float('inf') 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 100000 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 50 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v45.py: -------------------------------------------------------------------------------- 1 | version_name = 'v45' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 0.2 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = float('inf') 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 0 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 64 28 | N_ITER = 50 29 | N_TRAJ_PER_EPOCH = 100 30 | N_BUFFER = 200 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = False 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False 44 | MAX_GRAD_NORM = 0.5 -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v46.py: -------------------------------------------------------------------------------- 1 | version_name = 'v46' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.97 7 | DECAY_NOMINAL_RATE = 1.0 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = float('inf') 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 100000 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 64 28 | N_ITER = 50 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v47.py: -------------------------------------------------------------------------------- 1 | version_name = 'v47' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.025 7 | DECAY_NOMINAL_RATE = 1.0 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = True 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 100 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 100000 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 64 28 | N_ITER = 50 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v48.py: -------------------------------------------------------------------------------- 1 | version_name = 'v48' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.01 7 | DECAY_NOMINAL_RATE = 1.0 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = False 11 | PREFERENCE_OBS = False 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = False 16 | CBUF_ONLY_BOUNDARY = False 17 | OUTDATE = 100 18 | 19 | 20 | N_TRAJ = N_EPOCH = 1000000 21 | N_CBUF = 0 22 | 23 | NUM_AGENTS = 8 24 | MAP_SIZE = 4 25 | 26 | n_candidates = 2000 27 | BATCH = 64 28 | N_ITER = 50 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1.5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v49.py: -------------------------------------------------------------------------------- 1 | version_name = 'v49' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 1000 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 20 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v50.py: -------------------------------------------------------------------------------- 1 | version_name = 'v50' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 1000 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 100 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v51.py: -------------------------------------------------------------------------------- 1 | version_name = 'v51' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 10 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v52.py: -------------------------------------------------------------------------------- 1 | version_name = 'v52' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 128 23 | N_ITER = 10 24 | N_TRAJ_PER_EPOCH = 100 25 | N_BUFFER = 100 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1.5e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v53.py: -------------------------------------------------------------------------------- 1 | version_name = 'v53' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 128 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 100 25 | N_BUFFER = 100 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1e-2 32 | HIDDEN_SIZE = 1024 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v54.py: -------------------------------------------------------------------------------- 1 | version_name = 'v54' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | MIN_LR = 1e-8 5 | PATIENCE = 2 6 | DECAY_EXPLORE_RATE = 0.01 7 | DECAY_NOMINAL_RATE = 1.0 8 | MIN_EXPLORE_EPS = 0. 9 | MAX_EXPLORE_EPS = 0.5 10 | POTENTIAL_OBS = True 11 | PREFERENCE_OBS = True 12 | TRAIN_ON_HARD = False 13 | VARIABLE_AGENT = False 14 | CBUF_BEFORE_RELABEL = False 15 | PER_STEP_EXPLORE = False 16 | CBUF_ONLY_BOUNDARY = False 17 | RELABEL_IF_EXPLORE = False 18 | OUTDATE = 100 19 | 20 | 21 | N_TRAJ = N_EPOCH = 1000000 22 | N_CBUF = 0 23 | 24 | NUM_AGENTS = 8 25 | MAP_SIZE = 4 26 | 27 | n_candidates = 2000 28 | BATCH = 128 29 | N_ITER = 100 30 | N_TRAJ_PER_EPOCH = 100 31 | N_BUFFER = 100 32 | N_EVALUATE = 100 33 | N_VALID = 100 34 | N_WARMUP = 100 35 | N_DATASET = 10 36 | N_VALID_DATASET = 20 37 | THRESHOLD = 1e-2 38 | HIDDEN_SIZE = 512 39 | RELABEL = True 40 | CYCLIC = False 41 | DECAY_RELABEL = False 42 | USE_SCHEDULER = True 43 | OPTIMIZER = 'Adam' 44 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v55.py: -------------------------------------------------------------------------------- 1 | version_name = 'v55' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 128 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 50 25 | N_BUFFER = 100 26 | N_EVALUATE = 50 27 | N_VALID = 50 28 | N_WARMUP = 50 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1e-2 32 | HIDDEN_SIZE = 256 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v56.py: -------------------------------------------------------------------------------- 1 | version_name = 'v56' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 128 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 100 25 | N_BUFFER = 200 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1e-2 32 | HIDDEN_SIZE = 1024 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v57.py: -------------------------------------------------------------------------------- 1 | version_name = 'v57' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | 14 | 15 | N_TRAJ = N_EPOCH = 1000000 16 | N_CBUF = 0 17 | 18 | NUM_AGENTS = 8 19 | MAP_SIZE = 4 20 | 21 | n_candidates = 2000 22 | BATCH = 1024 23 | N_ITER = 100 24 | N_TRAJ_PER_EPOCH = 10 25 | N_BUFFER = 20 26 | N_EVALUATE = 100 27 | N_VALID = 100 28 | N_WARMUP = 100 29 | N_DATASET = 10 30 | N_VALID_DATASET = 20 31 | THRESHOLD = 1e-2 32 | HIDDEN_SIZE = 128 33 | RELABEL = True 34 | CYCLIC = False 35 | DECAY_RELABEL = False 36 | USE_SCHEDULER = True 37 | OPTIMIZER = 'Adam' 38 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v58.py: -------------------------------------------------------------------------------- 1 | version_name = 'v58' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 0.9 14 | 15 | 16 | N_TRAJ = N_EPOCH = 1000000 17 | N_CBUF = 0 18 | 19 | NUM_AGENTS = 8 20 | MAP_SIZE = 4 21 | 22 | n_candidates = 2000 23 | BATCH = 1024 24 | N_ITER = 100 25 | N_TRAJ_PER_EPOCH = 10 26 | N_BUFFER = 20 27 | N_EVALUATE = 100 28 | N_VALID = 100 29 | N_WARMUP = 100 30 | N_DATASET = 10 31 | N_VALID_DATASET = 20 32 | THRESHOLD = 1e-2 33 | HIDDEN_SIZE = 128 34 | RELABEL = True 35 | CYCLIC = False 36 | DECAY_RELABEL = False 37 | USE_SCHEDULER = True 38 | OPTIMIZER = 'Adam' 39 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v59.py: -------------------------------------------------------------------------------- 1 | version_name = 'v59' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.8 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = True 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = True 24 | ALL_LIE = False 25 | 26 | 27 | N_TRAJ = N_EPOCH = 1000000 28 | N_CBUF = 0 29 | 30 | n_candidates = 2000 31 | BATCH = 1024 32 | N_ITER = 100 33 | N_TRAJ_PER_EPOCH = 10 34 | N_BUFFER = 20 35 | N_EVALUATE = 100 36 | N_VALID = 100 37 | N_WARMUP = 100 38 | N_DATASET = 10 39 | N_VALID_DATASET = 20 40 | THRESHOLD = 1e-2 41 | HIDDEN_SIZE = 128 42 | RELABEL = True 43 | CYCLIC = False 44 | DECAY_RELABEL = False 45 | USE_SCHEDULER = True 46 | OPTIMIZER = 'Adam' 47 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v60.py: -------------------------------------------------------------------------------- 1 | version_name = 'v60' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = True 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v61.py: -------------------------------------------------------------------------------- 1 | version_name = 'v61' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = True 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v62.py: -------------------------------------------------------------------------------- 1 | version_name = 'v62' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0. 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.1 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = True 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v63.py: -------------------------------------------------------------------------------- 1 | version_name = 'v63' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0. 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0. 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v64.py: -------------------------------------------------------------------------------- 1 | version_name = 'v64' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 128 26 | N_ITER = 3 27 | N_STEP_PER_EPOCH = 1024 28 | N_BUFFER = 20 29 | N_EVALUATE = N_VALID = 10 30 | N_WARMUP = 10 31 | N_DATASET = 10 32 | N_VALID_DATASET = 20 33 | THRESHOLD = 1e-2 34 | HIDDEN_SIZE = 128 35 | RELABEL = True 36 | CYCLIC = False 37 | DECAY_RELABEL = False 38 | USE_SCHEDULER = True 39 | OPTIMIZER = 'Adam' 40 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v65.py: -------------------------------------------------------------------------------- 1 | version_name = 'v65' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0. 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.1 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 0 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 128 26 | N_ITER = 3 27 | N_STEP_PER_EPOCH = 1024 28 | N_BUFFER = 20 29 | N_EVALUATE = N_VALID = 10 30 | N_WARMUP = 10 31 | N_DATASET = 10 32 | N_VALID_DATASET = 20 33 | THRESHOLD = 1e-2 34 | HIDDEN_SIZE = 128 35 | RELABEL = True 36 | CYCLIC = True 37 | DECAY_RELABEL = False 38 | USE_SCHEDULER = True 39 | OPTIMIZER = 'Adam' 40 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v66.py: -------------------------------------------------------------------------------- 1 | version_name = 'v66' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | USE_CLOSS = True 17 | 18 | 19 | N_TRAJ = N_EPOCH = 1000000 20 | N_CBUF = 0 21 | 22 | NUM_AGENTS = 8 23 | MAP_SIZE = 4 24 | 25 | n_candidates = 2000 26 | BATCH = 128 27 | N_ITER = 3 28 | N_STEP_PER_EPOCH = 1024 29 | N_BUFFER = 20 30 | N_EVALUATE = N_VALID = 10 31 | N_WARMUP = 10 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v67.py: -------------------------------------------------------------------------------- 1 | version_name = 'v67' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | USE_CLOSS = False 17 | 18 | 19 | N_TRAJ = N_EPOCH = 1000000 20 | N_CBUF = 0 21 | 22 | NUM_AGENTS = 8 23 | MAP_SIZE = 4 24 | 25 | n_candidates = 2000 26 | BATCH = 256 27 | N_ITER = 20 28 | N_STEP_PER_EPOCH = 1024 29 | N_BUFFER = 20 30 | N_EVALUATE = N_VALID = 10 31 | N_WARMUP = 10 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v68.py: -------------------------------------------------------------------------------- 1 | version_name = 'v68' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | USE_CLOSS = False 17 | 18 | 19 | N_TRAJ = N_EPOCH = 1000000 20 | N_CBUF = 0 21 | 22 | NUM_AGENTS = 8 23 | MAP_SIZE = 4 24 | 25 | n_candidates = 2000 26 | BATCH = 256 27 | N_ITER = 20 28 | N_STEP_PER_EPOCH = 1024 29 | N_BUFFER = 20 30 | N_EVALUATE = N_VALID = 10 31 | N_WARMUP = 10 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v69.py: -------------------------------------------------------------------------------- 1 | version_name = 'v69' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 10000000 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v70.py: -------------------------------------------------------------------------------- 1 | version_name = 'v70' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = False 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 10000000 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | 24 | n_candidates = 2000 25 | BATCH = 1024 26 | N_ITER = 100 27 | N_TRAJ_PER_EPOCH = 10 28 | N_BUFFER = 20 29 | N_EVALUATE = 100 30 | N_VALID = 100 31 | N_WARMUP = 100 32 | N_DATASET = 10 33 | N_VALID_DATASET = 20 34 | THRESHOLD = 1e-2 35 | HIDDEN_SIZE = 128 36 | RELABEL = True 37 | CYCLIC = False 38 | DECAY_RELABEL = False 39 | USE_SCHEDULER = True 40 | OPTIMIZER = 'Adam' 41 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v71.py: -------------------------------------------------------------------------------- 1 | version_name = 'v71' 2 | OBSTACLE_DENSITY = 1.0 3 | LR = 3e-4 4 | PATIENCE = 2 5 | DECAY_EXPLORE_RATE = 0.97 6 | DECAY_NOMINAL_RATE = 0.8 7 | MIN_EXPLORE_EPS = 0. 8 | MAX_EXPLORE_EPS = 0.5 9 | POTENTIAL_OBS = True 10 | TRAIN_ON_HARD = False 11 | VARIABLE_AGENT = False 12 | CBUF_BEFORE_RELABEL = True 13 | REFINE_EPS = 1.0 14 | RELABEL_ONLY_AGENT = False 15 | ALL_LIE = False 16 | 17 | 18 | N_TRAJ = N_EPOCH = 1000000 19 | N_CBUF = 10000000 20 | 21 | NUM_AGENTS = 8 22 | MAP_SIZE = 4 23 | AGENT_TOP_K = 6 24 | OBSTACLE_TOP_K = 2 25 | 26 | n_candidates = 2000 27 | BATCH = 1024 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 2e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v72.py: -------------------------------------------------------------------------------- 1 | version_name = 'v72' 2 | LR = 3e-4 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.97 5 | DECAY_NOMINAL_RATE = 0.8 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 10000000 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 3 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0.3 25 | 26 | n_candidates = 2000 27 | BATCH = 128 28 | N_ITER = 20 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 2e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v73.py: -------------------------------------------------------------------------------- 1 | version_name = 'v73' 2 | LR = 3e-4 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.97 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 10000000 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 3 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0.3 25 | 26 | n_candidates = 2000 27 | BATCH = 128 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = False 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v74.py: -------------------------------------------------------------------------------- 1 | version_name = 'v74' 2 | LR = 3e-4 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.97 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 10000000 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 3 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0.3 25 | 26 | n_candidates = 2000 27 | BATCH = 128 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v75.py: -------------------------------------------------------------------------------- 1 | version_name = 'v75' 2 | LR = 3e-4 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.97 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 10000000 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 3 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0. 25 | 26 | n_candidates = 2000 27 | BATCH = 128 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 100 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 1e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'Adam' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v76.py: -------------------------------------------------------------------------------- 1 | version_name = 'v76' 2 | LR = 1e-2 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.97 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 0 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 4 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0. 25 | 26 | n_candidates = 2000 27 | BATCH = 256 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 10 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'SGD' 43 | SAVE_GIF = False 44 | -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v77.py: -------------------------------------------------------------------------------- 1 | version_name = 'v77' 2 | LR = 1e-2 3 | PATIENCE = 2 4 | DECAY_EXPLORE_RATE = 0.9 5 | DECAY_NOMINAL_RATE = 0. 6 | MIN_EXPLORE_EPS = 0. 7 | MAX_EXPLORE_EPS = 0.5 8 | POTENTIAL_OBS = False 9 | TRAIN_ON_HARD = False 10 | VARIABLE_AGENT = False 11 | CBUF_BEFORE_RELABEL = True 12 | REFINE_EPS = 1.0 13 | RELABEL_ONLY_AGENT = False 14 | ALL_LIE = False 15 | 16 | 17 | N_TRAJ = N_EPOCH = 1000000 18 | N_CBUF = 1000000000 19 | 20 | NUM_AGENTS = 3 21 | MAP_SIZE = 4 22 | AGENT_TOP_K = 2 23 | OBSTACLE_TOP_K = 1 24 | OBSTACLE_DENSITY = 0.1 25 | 26 | n_candidates = 2000 27 | BATCH = 256 28 | N_ITER = 100 29 | N_TRAJ_PER_EPOCH = 10 30 | N_BUFFER = 20 31 | N_EVALUATE = 100 32 | N_VALID = 100 33 | N_WARMUP = 10 34 | N_DATASET = 10 35 | N_VALID_DATASET = 20 36 | THRESHOLD = 5e-2 37 | HIDDEN_SIZE = 128 38 | RELABEL = True 39 | CYCLIC = False 40 | DECAY_RELABEL = False 41 | USE_SCHEDULER = True 42 | OPTIMIZER = 'SGD' 43 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v79.py: -------------------------------------------------------------------------------- 1 | version_name = 'v79' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.), 9 | 'simple': True, 10 | } 11 | 12 | LR = 1e-2 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | n_candidates = 2000 32 | BATCH = 256 33 | N_ITER = 100 34 | N_TRAJ_PER_EPOCH = 10 35 | N_BUFFER = 20 36 | N_EVALUATE = 100 37 | N_VALID = 100 38 | N_WARMUP = 10 39 | N_DATASET = 10 40 | N_VALID_DATASET = 50 41 | THRESHOLD = 5e-2 42 | HIDDEN_SIZE = 128 43 | RELABEL = True 44 | EXPLORE_WAY = 'linear' 45 | DECAY_RELABEL = False 46 | USE_SCHEDULER = True 47 | OPTIMIZER = 'SGD' 48 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v80.py: -------------------------------------------------------------------------------- 1 | version_name = 'v80' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.), 9 | 'simple': True, 10 | } 11 | 12 | LR = 1e-2 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | n_candidates = 2000 32 | BATCH = 256 33 | N_ITER = 100 34 | N_TRAJ_PER_EPOCH = 10 35 | N_BUFFER = 20 36 | N_EVALUATE = 100 37 | N_VALID = 100 38 | N_WARMUP = 10 39 | N_DATASET = 10 40 | N_VALID_DATASET = 50 41 | THRESHOLD = 5e-2 42 | HIDDEN_SIZE = 128 43 | RELABEL = True 44 | EXPLORE_WAY = 'linear' 45 | DECAY_RELABEL = False 46 | USE_SCHEDULER = True 47 | OPTIMIZER = 'SGD' 48 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v81.py: -------------------------------------------------------------------------------- 1 | version_name = 'v81' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': True, 10 | } 11 | 12 | LR = 1e-2 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | n_candidates = 2000 32 | BATCH = 256 33 | N_ITER = 100 34 | N_TRAJ_PER_EPOCH = 10 35 | N_BUFFER = 20 36 | N_EVALUATE = 100 37 | N_VALID = 100 38 | N_WARMUP = 10 39 | N_DATASET = 10 40 | N_VALID_DATASET = 50 41 | THRESHOLD = 5e-2 42 | HIDDEN_SIZE = 128 43 | RELABEL = True 44 | EXPLORE_WAY = 'linear' 45 | DECAY_RELABEL = False 46 | USE_SCHEDULER = True 47 | OPTIMIZER = 'SGD' 48 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v82.py: -------------------------------------------------------------------------------- 1 | version_name = 'v82' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': True, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | n_candidates = 2000 32 | BATCH = 256 33 | N_ITER = 100 34 | N_TRAJ_PER_EPOCH = 10 35 | N_BUFFER = 20 36 | N_EVALUATE = 100 37 | N_VALID = 100 38 | N_WARMUP = 10 39 | N_DATASET = 10 40 | N_VALID_DATASET = 50 41 | THRESHOLD = 5e-2 42 | HIDDEN_SIZE = 128 43 | RELABEL = True 44 | EXPLORE_WAY = 'linear' 45 | DECAY_RELABEL = False 46 | USE_SCHEDULER = True 47 | OPTIMIZER = 'Adam' 48 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v83.py: -------------------------------------------------------------------------------- 1 | version_name = 'v83' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | SPATIAL_PROP = True 32 | n_candidates = 2000 33 | BATCH = 256 34 | N_ITER = 100 35 | N_TRAJ_PER_EPOCH = 10 36 | N_BUFFER = 20 37 | N_EVALUATE = 100 38 | N_VALID = 100 39 | N_WARMUP = 10 40 | N_DATASET = 10 41 | N_VALID_DATASET = 50 42 | THRESHOLD = 5e-2 43 | HIDDEN_SIZE = 128 44 | RELABEL = True 45 | EXPLORE_WAY = 'linear' 46 | DECAY_RELABEL = False 47 | USE_SCHEDULER = True 48 | OPTIMIZER = 'Adam' 49 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v84.py: -------------------------------------------------------------------------------- 1 | version_name = 'v84' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.8 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 10000000 29 | N_CBUF = 1000 30 | 31 | SPATIAL_PROP = True 32 | n_candidates = 2000 33 | BATCH = 256 34 | N_ITER = 100 35 | N_TRAJ_PER_EPOCH = 10 36 | N_BUFFER = 20 37 | N_EVALUATE = 100 38 | N_VALID = 100 39 | N_WARMUP = 10 40 | N_DATASET = 10 41 | N_VALID_DATASET = 50 42 | THRESHOLD = 1e-2 43 | HIDDEN_SIZE = 128 44 | RELABEL = True 45 | EXPLORE_WAY = 'exponential' 46 | DECAY_RELABEL = False 47 | USE_SCHEDULER = True 48 | OPTIMIZER = 'Adam' 49 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v85.py: -------------------------------------------------------------------------------- 1 | version_name = 'v85' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': True, 10 | } 11 | 12 | LR = 1e-2 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 4000 29 | N_CBUF = 1000 30 | 31 | SPATIAL_PROP = True 32 | n_candidates = 2000 33 | BATCH = 256 34 | N_ITER = 100 35 | N_TRAJ_PER_EPOCH = 10 36 | N_BUFFER = 20 37 | N_EVALUATE = 100 38 | N_VALID = 100 39 | N_WARMUP = 10 40 | N_DATASET = 10 41 | N_VALID_DATASET = 50 42 | THRESHOLD = 1e-2 43 | HIDDEN_SIZE = 128 44 | RELABEL = True 45 | EXPLORE_WAY = 'linear' 46 | DECAY_RELABEL = False 47 | USE_SCHEDULER = True 48 | OPTIMIZER = 'SGD' 49 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v86.py: -------------------------------------------------------------------------------- 1 | version_name = 'v86' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.8 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 10000000 29 | N_CBUF = 1000 30 | 31 | SPATIAL_PROP = True 32 | n_candidates = 2000 33 | BATCH = 256 34 | N_ITER = 100 35 | N_TRAJ_PER_EPOCH = 10 36 | N_BUFFER = 20 37 | N_EVALUATE = 100 38 | N_VALID = 100 39 | N_WARMUP = 10 40 | N_DATASET = 10 41 | N_VALID_DATASET = 50 42 | THRESHOLD = 1e-2 43 | HIDDEN_SIZE = 128 44 | RELABEL = True 45 | EXPLORE_WAY = 'exponential' 46 | DECAY_RELABEL = False 47 | USE_SCHEDULER = True 48 | OPTIMIZER = 'Adam' 49 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v87.py: -------------------------------------------------------------------------------- 1 | version_name = 'v87' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.8 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = True 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | N_TRAJ = N_EPOCH = 10000000 29 | N_CBUF = 1000 30 | 31 | POLYAK = 0.9 32 | SPATIAL_PROP = False 33 | n_candidates = 2000 34 | BATCH = 256 35 | N_ITER = 100 36 | N_TRAJ_PER_EPOCH = 10 37 | N_BUFFER = 20 38 | N_EVALUATE = 100 39 | N_VALID = 100 40 | N_WARMUP = 10 41 | N_DATASET = 10 42 | N_VALID_DATASET = 50 43 | THRESHOLD = 1e-2 44 | HIDDEN_SIZE = 128 45 | RELABEL = True 46 | EXPLORE_WAY = 'exponential' 47 | DECAY_RELABEL = False 48 | USE_SCHEDULER = True 49 | OPTIMIZER = 'Adam' 50 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v88.py: -------------------------------------------------------------------------------- 1 | version_name = 'v88' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.8 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = True 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = False 26 | 27 | 28 | N_TRAJ = N_EPOCH = 10000000 29 | N_CBUF = 0 30 | 31 | POLYAK = 0. 32 | SPATIAL_PROP = False 33 | n_candidates = 2000 34 | BATCH = 256 35 | N_ITER = 100 36 | N_TRAJ_PER_EPOCH = 10 37 | N_BUFFER = 20 38 | N_EVALUATE = 100 39 | N_VALID = 100 40 | N_WARMUP = 10 41 | N_DATASET = 10 42 | N_VALID_DATASET = 50 43 | THRESHOLD = 1e-2 44 | HIDDEN_SIZE = 128 45 | RELABEL = True 46 | EXPLORE_WAY = 'exponential' 47 | DECAY_RELABEL = False 48 | USE_SCHEDULER = True 49 | OPTIMIZER = 'Adam' 50 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v89.py: -------------------------------------------------------------------------------- 1 | version_name = 'v89' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 8, 5 | 'SIZE': (4,4), 6 | 'agent_top_k': 6, 7 | 'obstacle_top_k': 2, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.97 15 | DECAY_NOMINAL_RATE = 0.2 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 1.0 18 | POTENTIAL_OBS = True 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = False 26 | 27 | 28 | N_TRAJ = N_EPOCH = 10000000 29 | N_CBUF = 0 30 | 31 | POLYAK = 0.9 32 | SPATIAL_PROP = False 33 | n_candidates = 2000 34 | BATCH = 256 35 | N_ITER = 100 36 | N_TRAJ_PER_EPOCH = 10 37 | N_BUFFER = 20 38 | N_EVALUATE = 100 39 | N_VALID = 100 40 | N_WARMUP = 10 41 | N_DATASET = 10 42 | N_VALID_DATASET = 50 43 | THRESHOLD = 1e-2 44 | HIDDEN_SIZE = 128 45 | RELABEL = True 46 | EXPLORE_WAY = 'exponential' 47 | NOMINAL_WAY = 'linear' 48 | DECAY_RELABEL = False 49 | USE_SCHEDULER = False 50 | OPTIMIZER = 'Adam' 51 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v90.py: -------------------------------------------------------------------------------- 1 | version_name = 'v90' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0.2 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 1.0 18 | POTENTIAL_OBS = True 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = False 26 | 27 | 28 | PE_DIM = 40 29 | N_TRAJ = N_EPOCH = 10000000 30 | N_CBUF = 0 31 | 32 | POLYAK = 0. 33 | SPATIAL_PROP = False 34 | n_candidates = 2000 35 | BATCH = 256 36 | N_ITER = 100 37 | N_TRAJ_PER_EPOCH = 10 38 | N_BUFFER = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'linear' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v91.py: -------------------------------------------------------------------------------- 1 | version_name = 'v91' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | 27 | 28 | PE_DIM = 40 29 | N_TRAJ = N_EPOCH = 4000 30 | N_CBUF = 1000 31 | 32 | POLYAK = 0. 33 | SPATIAL_PROP = False 34 | n_candidates = 2000 35 | BATCH = 4096 36 | N_ITER = 100 37 | N_TRAJ_PER_EPOCH = 10 38 | N_BUFFER = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'linear' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = True 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v92.py: -------------------------------------------------------------------------------- 1 | version_name = 'v92' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0. 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 4000 31 | N_BUFFER = 100000000000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'linear' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v93.py: -------------------------------------------------------------------------------- 1 | version_name = 'v93' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.5 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 100000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v94.py: -------------------------------------------------------------------------------- 1 | version_name = 'v94' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.1 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 100000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v95.py: -------------------------------------------------------------------------------- 1 | version_name = 'v95' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.1 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 100000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v96.py: -------------------------------------------------------------------------------- 1 | version_name = 'v96' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.1 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 1e-2 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 100000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v97.py: -------------------------------------------------------------------------------- 1 | version_name = 'v97' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,0.1), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.1 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 10000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v98.py: -------------------------------------------------------------------------------- 1 | version_name = 'v98' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | LR = 3e-4 13 | PATIENCE = 2 14 | DECAY_EXPLORE_RATE = 0.9 15 | DECAY_NOMINAL_RATE = 0. 16 | MIN_EXPLORE_EPS = 0.01 17 | MAX_EXPLORE_EPS = 0.1 18 | POTENTIAL_OBS = False 19 | TRAIN_ON_HARD = False 20 | VARIABLE_AGENT = False 21 | CBUF_BEFORE_RELABEL = True 22 | REFINE_EPS = 1.0 23 | RELABEL_ONLY_AGENT = False 24 | ALL_LIE = False 25 | ONLY_BOUNDARY = True 26 | DANGER_THRESHOLD = 0 27 | 28 | 29 | PE_DIM = 40 30 | N_TRAJ = N_EPOCH = 1000000000 31 | N_BUFFER = 10000 32 | 33 | POLYAK = 0.99 34 | SPATIAL_PROP = False 35 | n_candidates = 2000 36 | BATCH = 64 37 | N_ITER = 100 38 | N_TRAJ_PER_EPOCH = 10 39 | N_EVALUATE = 100 40 | N_VALID = 100 41 | N_WARMUP = 10 42 | N_DATASET = 10 43 | N_VALID_DATASET = 50 44 | THRESHOLD = 1e-2 45 | HIDDEN_SIZE = 128 46 | RELABEL = True 47 | EXPLORE_WAY = 'exponential' 48 | NOMINAL_WAY = 'exponential' 49 | DECAY_RELABEL = False 50 | USE_SCHEDULER = False 51 | OPTIMIZER = 'Adam' 52 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/configs/dubins/v99.py: -------------------------------------------------------------------------------- 1 | version_name = 'v99' 2 | 3 | ENV_CONFIG = { 4 | 'num_agents': 3, 5 | 'SIZE': (3,3), 6 | 'agent_top_k': 2, 7 | 'obstacle_top_k': 1, 8 | 'PROB': (0.,1.0), 9 | 'simple': False, 10 | } 11 | 12 | FIX_ENV = True 13 | 14 | LR = 3e-4 15 | PATIENCE = 2 16 | DECAY_EXPLORE_RATE = 0.9 17 | DECAY_NOMINAL_RATE = 0. 18 | MIN_EXPLORE_EPS = 0.01 19 | MAX_EXPLORE_EPS = 0.1 20 | POTENTIAL_OBS = False 21 | TRAIN_ON_HARD = False 22 | VARIABLE_AGENT = False 23 | CBUF_BEFORE_RELABEL = True 24 | REFINE_EPS = 1.0 25 | RELABEL_ONLY_AGENT = False 26 | ALL_LIE = False 27 | ONLY_BOUNDARY = False 28 | DANGER_THRESHOLD = 0 29 | 30 | 31 | PE_DIM = None 32 | N_TRAJ = N_EPOCH = 1000000000 33 | N_BUFFER = 20 34 | N_CBUF = 1000 35 | 36 | POLYAK = 0.99 37 | SPATIAL_PROP = False 38 | n_candidates = 2000 39 | BATCH = 1024 40 | N_ITER = 100 41 | N_TRAJ_PER_EPOCH = 1 42 | N_EVALUATE = 100 43 | N_VALID = 100 44 | N_WARMUP = 10 45 | N_DATASET = 10 46 | N_VALID_DATASET = 50 47 | THRESHOLD = 1e-2 48 | HIDDEN_SIZE = 128 49 | RELABEL = True 50 | EXPLORE_WAY = 'exponential' 51 | NOMINAL_WAY = 'exponential' 52 | DECAY_RELABEL = False 53 | USE_SCHEDULER = True 54 | OPTIMIZER = 'Adam' 55 | SAVE_GIF = False -------------------------------------------------------------------------------- /pyg_multiagent/environments/__init__.py: -------------------------------------------------------------------------------- 1 | from .gym_abstract import AbstractEnv 2 | from .gym_drone import DroneEnv 3 | from .gym_dubins_car import DubinsCarEnv 4 | from .gym_dynamic_dubins import DynamicDubinsEnv 5 | from .gym_dynamic_dubins_multi import MultiDynamicDubinsEnv 6 | from .gym_point import PointEnv 7 | from .gym_ur5 import UR5Env -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/base.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/forearm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/forearm.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/shoulder.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/shoulder.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/upperarm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/upperarm.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/wrist1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/wrist1.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/wrist2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/wrist2.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/collision/wrist3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/collision/wrist3.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-base.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'gripper-2f.blend' 2 | # Material Count: 1 3 | 4 | newmtl Default 5 | Ns 96.078431 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd textures/gripper-2f_BaseColor.jpg 14 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-base.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-coupler.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'gripper-2f.blend' 2 | # Material Count: 1 3 | 4 | newmtl Default 5 | Ns 96.078431 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd textures/gripper-2f_BaseColor.jpg 14 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-coupler.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-coupler.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-driver.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'gripper-2f.blend' 2 | # Material Count: 1 3 | 4 | newmtl Default 5 | Ns 96.078431 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd textures/gripper-2f_BaseColor.jpg 14 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-driver.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-driver.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-follower.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'gripper-2f.blend' 2 | # Material Count: 1 3 | 4 | newmtl Default 5 | Ns 96.078431 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd textures/gripper-2f_BaseColor.jpg 14 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-follower.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-follower.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-pad.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-pad.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-spring_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'gripper-2f.blend' 2 | # Material Count: 1 3 | 4 | newmtl Default 5 | Ns 96.078431 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd textures/gripper-2f_BaseColor.jpg 14 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/robotiq-2f-spring_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/robotiq-2f-spring_link.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_BaseColor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_BaseColor.jpg -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Metallic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Metallic.jpg -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Normal.jpg -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Roughness.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/gripper/textures/gripper-2f_Roughness.jpg -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/plane.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.66 (sub 1) OBJ File: '' 2 | # www.blender.org 3 | mtllib plane.mtl 4 | o Plane 5 | v 15.000000 -15.000000 0.000000 6 | v 15.000000 15.000000 0.000000 7 | v -15.000000 15.000000 0.000000 8 | v -15.000000 -15.000000 0.000000 9 | 10 | vt 15.000000 0.000000 11 | vt 15.000000 15.000000 12 | vt 0.000000 15.000000 13 | vt 0.000000 0.000000 14 | 15 | usemtl Material 16 | s off 17 | f 1/1 2/2 3/3 18 | f 1/1 3/3 4/4 19 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/spatula/spatula-base.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/suction/suction-base.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/base.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/forearm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/forearm.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/shoulder.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/shoulder.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/upperarm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/upperarm.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/wrist1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/wrist1.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/wrist2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/wrist2.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/visual/wrist3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rainorangelemon/pytorch_geometric_multiagent/e5afaaa7c0f8f42eb1925b58883a8dcac9be85e5/pyg_multiagent/environments/ur5/visual/wrist3.stl -------------------------------------------------------------------------------- /pyg_multiagent/environments/ur5/workspace.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the version of Python and other tools you might need 9 | build: 10 | os: ubuntu-20.04 11 | tools: 12 | python: "3.8" 13 | # You can also specify other tool versions: 14 | # nodejs: "16" 15 | # rust: "1.55" 16 | # golang: "1.17" 17 | 18 | # Build documentation in the docs/ directory with Sphinx 19 | sphinx: 20 | configuration: docs/source/conf.py 21 | 22 | # If using Sphinx, optionally build your docs in additional formats such as PDF 23 | # formats: 24 | # - pdf 25 | 26 | # Optionally declare the Python requirements required to build your docs 27 | python: 28 | install: 29 | - requirements: docs/requirements.txt 30 | - method: pip 31 | path: . -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import find_packages, setup 2 | 3 | __version__ = '0.0.5' 4 | URL = 'https://github.com/rainorangelemon/pytorch_geometric_multiagent' 5 | 6 | install_requires = [ 7 | 'tqdm', 8 | 'numpy', 9 | 'matplotlib', 10 | 'scipy', 11 | 'cvxpy', 12 | 'pybullet' 13 | ] 14 | 15 | full_requires = install_requires 16 | 17 | benchmark_requires = [ 18 | 'wandb', 19 | ] 20 | 21 | test_requires = [ 22 | 'pytest', 23 | 'pytest-cov', 24 | ] 25 | 26 | dev_requires = test_requires + [ 27 | 'pre-commit', 28 | ] 29 | 30 | setup( 31 | name='pyg_multiagent', 32 | version=__version__, 33 | description='Graph Neural Network Library for Multi-Agent', 34 | author='Chenning Yu', 35 | author_email='rainorangelemon@gmail.com', 36 | url=URL, 37 | download_url=f'{URL}/archive/{__version__}.tar.gz', 38 | keywords=[ 39 | 'deep-learning', 40 | 'pytorch', 41 | 'geometric-deep-learning', 42 | 'graph-neural-networks', 43 | 'pytorch-geometric', 44 | 'multi-agent' 45 | ], 46 | python_requires='>=3.8', 47 | install_requires=install_requires, 48 | extras_require={ 49 | 'full': full_requires, 50 | 'benchmark': benchmark_requires, 51 | 'test': test_requires, 52 | 'dev': dev_requires, 53 | }, 54 | packages=find_packages(), 55 | include_package_data=True, 56 | ) 57 | --------------------------------------------------------------------------------