ソースを参照

Updated Citation to Neurips 23 (#443)

Bolun Dai 8 ヶ月 前
コミット
97438fb1ae

+ 6 - 3
CITATION.cff

@@ -45,7 +45,10 @@ preferred-citation:
     given-names: Pablo Samuel
   - family-names: Terry
     given-names: Jordan
-  journal: CoRR
-  title: Minigrid
-  volume: abs/2306.13831
+  title: "Minigrid & Miniworld: Modular & Customizable Reinforcement Learning Environments for Goal-Oriented Tasks"
+  type: inproceedings
   year: 2023
+  conference:
+    name: "Neural Information Processing Systems (NeurIPS)"
+  publisher:
+    name: "Proceedings of the Conference on Neural Information Processing Systems (NeurIPS)"

+ 5 - 5
README.md

@@ -43,11 +43,11 @@ The original `gym-minigrid` environments were created as part of work done at [M
 To cite this project please use:
 
 ```bibtex
-@article{MinigridMiniworld23,
-  author       = {Maxime Chevalier-Boisvert and Bolun Dai and Mark Towers and Rodrigo de Lazcano and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
-  title        = {Minigrid \& Miniworld: Modular \& Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
-  journal      = {CoRR},
-  volume       = {abs/2306.13831},
+@inproceedings{MinigridMiniworld23,
+  author       = {Maxime Chevalier{-}Boisvert and Bolun Dai and Mark Towers and Rodrigo Perez{-}Vicente and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
+  title        = {Minigrid {\&} Miniworld: Modular {\&} Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
+  booktitle    = {Advances in Neural Information Processing Systems 36, New Orleans, LA, USA},
+  month        = {December},
   year         = {2023},
 }
 ```

+ 5 - 5
docs/index.md

@@ -41,11 +41,11 @@ env.close()
 To cite this project please use:
 
 ```bibtex
-@article{MinigridMiniworld23,
-  author       = {Maxime Chevalier-Boisvert and Bolun Dai and Mark Towers and Rodrigo de Lazcano and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
-  title        = {Minigrid \& Miniworld: Modular \& Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
-  journal      = {CoRR},
-  volume       = {abs/2306.13831},
+@inproceedings{MinigridMiniworld23,
+  author       = {Maxime Chevalier{-}Boisvert and Bolun Dai and Mark Towers and Rodrigo Perez{-}Vicente and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
+  title        = {Minigrid {\&} Miniworld: Modular {\&} Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
+  booktitle    = {Advances in Neural Information Processing Systems 36, New Orleans, LA, USA},
+  month        = {December},
   year         = {2023},
 }
 ```

+ 0 - 1
minigrid/core/world_object.py

@@ -25,7 +25,6 @@ Point = Tuple[int, int]
 
 
 class WorldObj:
-
     """
     Base class for grid world objects
     """

+ 1 - 0
minigrid/envs/babyai/core/levelgen.py

@@ -1,6 +1,7 @@
 """
 Copied and adapted from https://github.com/mila-iqia/babyai
 """
+
 from __future__ import annotations
 
 from minigrid.core.constants import COLOR_NAMES

+ 1 - 0
minigrid/envs/babyai/core/roomgrid_level.py

@@ -1,6 +1,7 @@
 """
 Copied and adapted from https://github.com/mila-iqia/babyai
 """
+
 from __future__ import annotations
 
 from minigrid.core.roomgrid import RoomGrid

+ 1 - 0
minigrid/envs/babyai/core/verifier.py

@@ -1,6 +1,7 @@
 """
 Copied and adapted from https://github.com/mila-iqia/babyai
 """
+
 from __future__ import annotations
 
 import os

+ 1 - 0
minigrid/envs/babyai/goto.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with the `Go to` instruction.
 """
+
 from __future__ import annotations
 
 from minigrid.envs.babyai.core.levelgen import LevelGen

+ 1 - 0
minigrid/envs/babyai/open.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with the `Open` instruction.
 """
+
 from __future__ import annotations
 
 from minigrid.core.constants import COLOR_NAMES

+ 1 - 0
minigrid/envs/babyai/other.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with different instructions than those in other files.
 """
+
 from __future__ import annotations
 
 from minigrid.envs.babyai.core.roomgrid_level import RoomGridLevel

+ 1 - 0
minigrid/envs/babyai/pickup.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with the `Pick up` instruction.
 """
+
 from __future__ import annotations
 
 from minigrid.envs.babyai.core.levelgen import LevelGen

+ 1 - 0
minigrid/envs/babyai/putnext.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with the `Put Next` instruction.
 """
+
 from __future__ import annotations
 
 from minigrid.envs.babyai.core.roomgrid_level import RoomGridLevel

+ 1 - 0
minigrid/envs/babyai/unlock.py

@@ -2,6 +2,7 @@
 Copied and adapted from https://github.com/mila-iqia/babyai.
 Levels described in the Baby AI ICLR 2019 submission, with the `Unlock` instruction.
 """
+
 from __future__ import annotations
 
 from minigrid.core.constants import COLOR_NAMES

+ 0 - 1
minigrid/envs/blockedunlockpickup.py

@@ -7,7 +7,6 @@ from minigrid.core.world_object import Ball
 
 
 class BlockedUnlockPickupEnv(RoomGrid):
-
     """
 
     ## Description

+ 0 - 1
minigrid/envs/crossing.py

@@ -11,7 +11,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class CrossingEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/distshift.py

@@ -7,7 +7,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class DistShiftEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/doorkey.py

@@ -7,7 +7,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class DoorKeyEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/fetch.py

@@ -8,7 +8,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class FetchEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/fourrooms.py

@@ -7,7 +7,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class FourRoomsEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/keycorridor.py

@@ -6,7 +6,6 @@ from minigrid.core.roomgrid import RoomGrid
 
 
 class KeyCorridorEnv(RoomGrid):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/lavagap.py

@@ -9,7 +9,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class LavaGapEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/lockedroom.py

@@ -22,7 +22,6 @@ class LockedRoom:
 
 
 class LockedRoomEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/memory.py

@@ -10,7 +10,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class MemoryEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/multiroom.py

@@ -16,7 +16,6 @@ class MultiRoom:
 
 
 class MultiRoomEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/obstructedmaze.py

@@ -7,7 +7,6 @@ from minigrid.core.world_object import Ball, Box, Key
 
 
 class ObstructedMazeEnv(RoomGrid):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/putnear.py

@@ -8,7 +8,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class PutNearEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/redbluedoors.py

@@ -7,7 +7,6 @@ from minigrid.minigrid_env import MiniGridEnv
 
 
 class RedBlueDoorEnv(MiniGridEnv):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/unlock.py

@@ -5,7 +5,6 @@ from minigrid.core.roomgrid import RoomGrid
 
 
 class UnlockEnv(RoomGrid):
-
     """
     ## Description
 

+ 0 - 1
minigrid/envs/unlockpickup.py

@@ -6,7 +6,6 @@ from minigrid.core.roomgrid import RoomGrid
 
 
 class UnlockPickupEnv(RoomGrid):
-
     """
     ## Description
 

+ 1 - 0
minigrid/envs/wfc/wfclogic/adjacency.py

@@ -1,4 +1,5 @@
 """Convert input data to adjacency information. Implementation based on https://github.com/ikarth/wfc_2019f"""
+
 from __future__ import annotations
 
 import numpy as np

+ 1 - 0
minigrid/envs/wfc/wfclogic/control.py

@@ -1,4 +1,5 @@
 """Main WFC execution function. Implementation based on https://github.com/ikarth/wfc_2019f"""
+
 from __future__ import annotations
 
 import logging

+ 1 - 0
minigrid/envs/wfc/wfclogic/solver.py

@@ -1,4 +1,5 @@
 """Wave Function Collapse solver. Implementation based on https://github.com/ikarth/wfc_2019f"""
+
 from __future__ import annotations
 
 import itertools

+ 1 - 0
minigrid/envs/wfc/wfclogic/tiles.py

@@ -1,4 +1,5 @@
 """Breaks an image into consituant tiles. Implementation based on https://github.com/ikarth/wfc_2019f"""
+
 from __future__ import annotations
 
 import numpy as np

+ 1 - 0
minigrid/envs/wfc/wfclogic/utilities.py

@@ -1,4 +1,5 @@
 """Utility data and functions for WFC. Implementation based on https://github.com/ikarth/wfc_2019f"""
+
 from __future__ import annotations
 
 import collections

+ 3 - 3
minigrid/wrappers.py

@@ -1,8 +1,6 @@
 from __future__ import annotations
 
 import math
-import operator
-from functools import reduce
 from typing import Any
 
 import gymnasium as gym
@@ -596,7 +594,9 @@ class FlatObsWrapper(ObservationWrapper):
             ), f"mission string too long ({len(mission)} chars)"
             mission = mission.lower()
 
-            str_array = np.zeros(shape=(self.maxStrLen, self.numCharCodes), dtype="uint8")
+            str_array = np.zeros(
+                shape=(self.maxStrLen, self.numCharCodes), dtype="uint8"
+            )
             # as `numCharCodes` < 255 then we can use `uint8`
 
             for idx, ch in enumerate(mission):

+ 1 - 0
tests/test_wfc/test_wfc_adjacency.py

@@ -1,4 +1,5 @@
 """Convert input data to adjacency information"""
+
 from __future__ import annotations
 
 import numpy as np

+ 1 - 0
tests/test_wfc/test_wfc_tiles.py

@@ -1,4 +1,5 @@
 """Breaks an image into consituant tiles."""
+
 from __future__ import annotations
 
 from minigrid.envs.wfc.wfclogic import tiles as wfc_tiles

+ 1 - 0
tests/utils.py

@@ -1,4 +1,5 @@
 """Finds all the specs that we can test with"""
+
 from __future__ import annotations
 
 from importlib.util import find_spec