zsozso21 commited on
Commit
302a5d2
1 Parent(s): 8c35c28

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. agent.py +33 -0
agent.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from stable_baselines3 import A2C
2
+ from sokoban_gym.wrappers.observation import ImageObservationWrapper
3
+
4
+ class Agent:
5
+ """
6
+ A kötelező programként beadandó ágens leírása.
7
+ """
8
+
9
+ def __init__(self, env) -> None:
10
+ """
11
+ A konsztruktorban van lehetőség például a modell betöltésére
12
+ vagy a környezet wrapper-ekkel való kiterjesztésére.
13
+ """
14
+
15
+ self.model = A2C.load("models/Sokoban-v1_5_8_1box_A2C")
16
+
17
+ # A környezetet kiterjeszthetjük wrapper-ek segítségével.
18
+ # Ha tanításkor modosítottuk a megfigyeléseket,
19
+ # akkor azt a módosítást kiértékeléskor is meg kell adnunk.
20
+ self.observation_wrapper = ImageObservationWrapper(env)
21
+
22
+ def act(self, observation):
23
+ """
24
+ A megfigyelés alapján visszaadja a következő lépést.
25
+ Ez a függvény fogja megadni az ágens működését.
26
+ """
27
+
28
+ # Ha tanításkor modosítottuk a megfigyeléseket,
29
+ # akkor azt a módosítást kiértékeléskor is meg kell adnunk.
30
+ extended_obsetvation = self.observation_wrapper.observation(observation)
31
+
32
+ return self.model.predict(extended_obsetvation, deterministic=True)
33
+