From 5048e4204e1d9891c04132e96bfccb03086140fe Mon Sep 17 00:00:00 2001 From: romue Date: Thu, 11 Nov 2021 12:45:28 +0100 Subject: [PATCH 1/4] adjusted setup.py --- setup.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index ac693c5..3abd256 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,12 @@ -# setup.py -from setuptools import setup, find_packages +from setuptools import find_packages, setup + +with open("requirements.txt") as f: + reqs = [line.strip() for line in f] setup( - name='F_IKS', - packages=find_packages() -) + name="EDYs", + version="0.1", + python_requires=">=3.6", + packages=find_packages(), + install_requires=reqs, +) \ No newline at end of file From eb2ecba149722da02500977094d2f08194481a7e Mon Sep 17 00:00:00 2001 From: romue Date: Thu, 11 Nov 2021 17:16:50 +0100 Subject: [PATCH 2/4] added clean and tested requirements.txt --- environments/factory/levels/shelves.txt | 13 ++++++++ requirements.txt | 44 +++++++------------------ setup.py | 12 ------- studies/sat_mad.py | 2 +- 4 files changed, 26 insertions(+), 45 deletions(-) create mode 100644 environments/factory/levels/shelves.txt delete mode 100644 setup.py diff --git a/environments/factory/levels/shelves.txt b/environments/factory/levels/shelves.txt new file mode 100644 index 0000000..7154cb6 --- /dev/null +++ b/environments/factory/levels/shelves.txt @@ -0,0 +1,13 @@ +############ +#----------# +#--######--# +#----------# +#--######--# +#----------# +#--######--# +#----------# +#--######--# +#----------# +#--######--# +#----------# +############ \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 1d1a27c..270a9fd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,32 +1,12 @@ -appdirs==1.4.4 -click==7.1.2 -cycler==0.10.0 -distlib==0.3.1 -filelock==3.0.12 -kiwisolver==1.3.1 -matplotlib==3.4.1 -numpy==1.20.2 -pandas~=1.2.3 -pygame~=2.0.1 -pep517==0.10.0 -Pillow==8.2.0 -pyparsing==2.4.7 -python-dateutil==2.8.1 -pytz==2021.1 -scipy==1.6.3 -seaborn==0.11.1 -six==1.16.0 -toml==0.10.2 -torch==1.8.1 -torchaudio==0.8.1 -torchvision==0.9.1 -typing-extensions==3.10.0.0 -virtualenv==20.4.6 - -gym~=0.18.0 -PyYAML~=5.3.1 -pyglet~=1.5.0 -optuna~=2.7.0 -natsort~=7.1.1 -tqdm~=4.60.0 -networkx~=2.6.1 \ No newline at end of file +numpy +scipy +tqdm +seaborn>=0.11.1 +matplotlib>=3.4.1 +stable-baselines3>=1.0 +pygame>=2.1.0 +gym>=0.18.0 +networkx>=2.6.1 +simplejson>=3.17.5 +PyYAML>=6.0 +git+https://github.com/facebookresearch/salina.git@main#egg=salina \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 3abd256..0000000 --- a/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from setuptools import find_packages, setup - -with open("requirements.txt") as f: - reqs = [line.strip() for line in f] - -setup( - name="EDYs", - version="0.1", - python_requires=">=3.6", - packages=find_packages(), - install_requires=reqs, -) \ No newline at end of file diff --git a/studies/sat_mad.py b/studies/sat_mad.py index 9eb270d..000e0bc 100644 --- a/studies/sat_mad.py +++ b/studies/sat_mad.py @@ -1,5 +1,5 @@ from environments.factory import make -import random +import salina from gym.wrappers import FrameStack n_agents = 4 From 62d72e0712c21410cb5460cf927809bc1a0a28a9 Mon Sep 17 00:00:00 2001 From: romue Date: Thu, 11 Nov 2021 17:18:12 +0100 Subject: [PATCH 3/4] corrected install instructions --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 0fa13a7..65ac50b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,5 @@ Tackling emergent dysfunctions (EDYs) in cooperation with Fraunhofer-IKS 1. Make sure to install `virtualenv` using `pip install virtualenv` 2. Create a new virtual environment `virtualenv venv` 3. Activate the virtual environment `source venv/bin/activate` -4. Install the required dependencies `pip install requirements.txt` - +4. Install the required dependencies `pip install -r requirements.txt` ## From 8960cf622b137d065c4dc25c02dd45130bff7b81 Mon Sep 17 00:00:00 2001 From: romue Date: Thu, 11 Nov 2021 17:52:48 +0100 Subject: [PATCH 4/4] pygame import only when needed --- environments/factory/base/base_factory.py | 3 ++- studies/sat_mad.py | 31 ++++++++++++++++++----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/environments/factory/base/base_factory.py b/environments/factory/base/base_factory.py index f788ebe..df05fa7 100644 --- a/environments/factory/base/base_factory.py +++ b/environments/factory/base/base_factory.py @@ -11,7 +11,6 @@ from gym import spaces from gym.wrappers import FrameStack 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 import helpers as h from environments.factory.base.objects import Agent, Tile, Action @@ -545,6 +544,8 @@ class BaseFactory(gym.Env): def render(self, mode='human'): if not self._renderer: # lazy init + from environments.factory.renderer import Renderer, RenderEntity + global Renderer, RenderEntity height, width = self._obs_cube.shape[1:] self._renderer = Renderer(width, height, view_radius=self._pomdp_r, fps=5) diff --git a/studies/sat_mad.py b/studies/sat_mad.py index 000e0bc..6b3b1f6 100644 --- a/studies/sat_mad.py +++ b/studies/sat_mad.py @@ -1,12 +1,29 @@ from environments.factory import make import salina +import torch 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): - state, *_ = env.step([env.unwrapped.action_space.sample() for _ in range(n_agents)]) - env.render() \ No newline at end of file +class MyAgent(salina.TAgent): + def __init__(self): + 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() \ No newline at end of file