gym-examples 3.0.126__py3-none-any.whl → 3.0.128__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gym_examples/__init__.py CHANGED
@@ -6,4 +6,4 @@ register(
6
6
  max_episode_steps=50,
7
7
  )
8
8
 
9
- __version__ = "3.0.126"
9
+ __version__ = "3.0.128"
@@ -59,11 +59,34 @@ class WSNRoutingEnv(gym.Env):
59
59
  # Initialize the position of the sensors randomly
60
60
 
61
61
  # Define observation space
62
- self.observation_space = Tuple(
63
- tuple([self._get_observation_space() for _ in range(self.n_sensors)])
62
+ # self.observation_space = Tuple(
63
+ # tuple([self._get_observation_space() for _ in range(self.n_sensors)])
64
+ # )
65
+ # self.action_space = Tuple(tuple([Discrete(self.n_sensors + 1)] * self.n_agents))
66
+
67
+ # Define the flattened observation space
68
+ single_sensor_obs_space = self._get_observation_space()
69
+ obs_low = np.concatenate([
70
+ single_sensor_obs_space['remaining_energy'].low,
71
+ single_sensor_obs_space['consumption_energy'].low,
72
+ single_sensor_obs_space['sensor_positions'].low,
73
+ single_sensor_obs_space['number_of_packets'].low
74
+ ])
75
+ obs_high = np.concatenate([
76
+ single_sensor_obs_space['remaining_energy'].high,
77
+ single_sensor_obs_space['consumption_energy'].high,
78
+ single_sensor_obs_space['sensor_positions'].high,
79
+ single_sensor_obs_space['number_of_packets'].high
80
+ ])
81
+ self.observation_space = Box(
82
+ low=np.tile(obs_low, self.n_sensors),
83
+ high=np.tile(obs_high, self.n_sensors),
84
+ dtype=np.float32
64
85
  )
65
- self.action_space = Tuple(tuple([Discrete(self.n_sensors + 1)] * self.n_agents))
66
-
86
+
87
+ # Define the flattened action space
88
+ self.action_space = MultiDiscrete([self.n_sensors + 1] * self.n_agents)
89
+
67
90
  self.reset()
68
91
 
69
92
  def reset(self):
@@ -172,13 +195,28 @@ class WSNRoutingEnv(gym.Env):
172
195
 
173
196
  return self._get_obs(), rewards, dones, {}
174
197
 
175
- def _get_obs(self):
198
+ # def _get_obs(self):
199
+
200
+ # return [{'remaining_energy': np.array([e]),
201
+ # 'consumption_energy': np.array([initial_energy - e]),
202
+ # 'sensor_positions': p,
203
+ # 'number_of_packets': np.array([d])
204
+ # } for e, p, d in zip(self.remaining_energy, self.sensor_positions, self.number_of_packets)]
176
205
 
177
- return [{'remaining_energy': np.array([e]),
178
- 'consumption_energy': np.array([initial_energy - e]),
179
- 'sensor_positions': p,
180
- 'number_of_packets': np.array([d])
181
- } for e, p, d in zip(self.remaining_energy, self.sensor_positions, self.number_of_packets)]
206
+ def _get_obs(self):
207
+ # Structured observation
208
+ structured_obs = [{'remaining_energy': np.array([e]),
209
+ 'consumption_energy': np.array([initial_energy - e]),
210
+ 'sensor_positions': p,
211
+ 'number_of_packets': np.array([d])
212
+ } for e, p, d in zip(self.remaining_energy, self.sensor_positions, self.number_of_packets)]
213
+
214
+ # Flattened observation for compatibility with Stable Baselines3
215
+ flat_obs = np.concatenate([
216
+ np.concatenate([obs['remaining_energy'], obs['consumption_energy'], obs['sensor_positions'], obs['number_of_packets']])
217
+ for obs in structured_obs
218
+ ])
219
+ return flat_obs
182
220
 
183
221
  def _get_observation_space(self):
184
222
  return Dict({
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gym-examples
3
- Version: 3.0.126
3
+ Version: 3.0.128
4
4
  Summary: A custom environment for multi-agent reinforcement learning focused on WSN routing.
5
5
  Home-page: https://github.com/gedji/CODES.git
6
6
  Author: Georges Djimefo
@@ -0,0 +1,7 @@
1
+ gym_examples/__init__.py,sha256=HtlSQQsIPVhRkM90RZRf4j2KCKHhI4jQzcBnLzxNT1U,194
2
+ gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
+ gym_examples/envs/wsn_env.py,sha256=cPfhzLLoAMoBonuR7PdgS-OjU9e1AbaJlgRo4AxHTqY,23329
4
+ gym_examples-3.0.128.dist-info/METADATA,sha256=CCcUSZp8Tyavj_Gxy9eWmZH1XJgvrMbItHuVR6BlRXM,412
5
+ gym_examples-3.0.128.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
+ gym_examples-3.0.128.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
+ gym_examples-3.0.128.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- gym_examples/__init__.py,sha256=rl8PAXoiDtLF7ZyDztNrX_Fr0KG9KzKHWiQ7FSiYF3s,194
2
- gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
- gym_examples/envs/wsn_env.py,sha256=2SL0mSy2hAjNpiV0PxkCyO49HBr-5an8zapgnNX6EuA,21533
4
- gym_examples-3.0.126.dist-info/METADATA,sha256=L4gO7s8aSNejF1RTBgw8drEmymu3Ysm8hsmVkm3Guos,412
5
- gym_examples-3.0.126.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
- gym_examples-3.0.126.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
- gym_examples-3.0.126.dist-info/RECORD,,