pygame import only when needed
This commit is contained in:
parent
62d72e0712
commit
8960cf622b
@ -11,7 +11,6 @@ from gym import spaces
|
|||||||
from gym.wrappers import FrameStack
|
from gym.wrappers import FrameStack
|
||||||
|
|
||||||
from environments.factory.base.shadow_casting import Map
|
from environments.factory.base.shadow_casting import Map
|
||||||
from environments.factory.renderer import Renderer, RenderEntity
|
|
||||||
from environments.helpers import Constants as c, Constants
|
from environments.helpers import Constants as c, Constants
|
||||||
from environments import helpers as h
|
from environments import helpers as h
|
||||||
from environments.factory.base.objects import Agent, Tile, Action
|
from environments.factory.base.objects import Agent, Tile, Action
|
||||||
@ -545,6 +544,8 @@ class BaseFactory(gym.Env):
|
|||||||
|
|
||||||
def render(self, mode='human'):
|
def render(self, mode='human'):
|
||||||
if not self._renderer: # lazy init
|
if not self._renderer: # lazy init
|
||||||
|
from environments.factory.renderer import Renderer, RenderEntity
|
||||||
|
global Renderer, RenderEntity
|
||||||
height, width = self._obs_cube.shape[1:]
|
height, width = self._obs_cube.shape[1:]
|
||||||
self._renderer = Renderer(width, height, view_radius=self._pomdp_r, fps=5)
|
self._renderer = Renderer(width, height, view_radius=self._pomdp_r, fps=5)
|
||||||
|
|
||||||
|
@ -1,12 +1,29 @@
|
|||||||
from environments.factory import make
|
from environments.factory import make
|
||||||
import salina
|
import salina
|
||||||
|
import torch
|
||||||
from gym.wrappers import FrameStack
|
from gym.wrappers import FrameStack
|
||||||
|
|
||||||
n_agents = 4
|
|
||||||
env = make('DirtyFactory-v0', n_agents=n_agents)
|
|
||||||
env = FrameStack(env, num_stack=3)
|
|
||||||
state, *_ = env.reset()
|
|
||||||
|
|
||||||
for i in range(1000):
|
class MyAgent(salina.TAgent):
|
||||||
state, *_ = env.step([env.unwrapped.action_space.sample() for _ in range(n_agents)])
|
def __init__(self):
|
||||||
env.render()
|
super(MyAgent, self).__init__()
|
||||||
|
|
||||||
|
def forward(self, t, **kwargs):
|
||||||
|
self.set(('timer', t), torch.tensor([t]))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
n_agents = 1
|
||||||
|
env = make('DirtyFactory-v0', n_agents=n_agents)
|
||||||
|
env = FrameStack(env, num_stack=3)
|
||||||
|
env.reset()
|
||||||
|
agent = MyAgent()
|
||||||
|
workspace = salina.Workspace()
|
||||||
|
agent(workspace, t=0, n_steps=10)
|
||||||
|
|
||||||
|
print(workspace)
|
||||||
|
|
||||||
|
|
||||||
|
for i in range(1000):
|
||||||
|
state, *_ = env.step([env.unwrapped.action_space.sample() for _ in range(n_agents)])
|
||||||
|
#env.render()
|
Loading…
x
Reference in New Issue
Block a user