-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.py
More file actions
73 lines (61 loc) · 1.44 KB
/
settings.py
File metadata and controls
73 lines (61 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Agent SETTINGS
EPISODES = 500_000
REPLAY_MEMORY_SIZE = 50_000
MIN_REPLAY_MEMORY_SIZE = 1_000
MINIBATCH_SIZE = 64
UPDATE_TARGET_EVERY = 5
DISCOUNT = 0.99
LEARNING_RATE = 0.001
NORMALIZE_BY = 255
MEMORY_FRACTION = 1
# Running Settings
EXPLORE_EVERY = 5
EXPLOIT_EVERY = 5
EXPLORE_RANDOM_RATE = 0.3
epsilon = 1
START_EPSILON = 0
START_EPSILON_DECAYING = 1
END_EPSILON_DECAYING = 20000
MIN_EPSILON = 0.01
EXPAND_RATIO = 5
STACK_SETBACK = 1
NUM_STACKED = 5
USE_STACK = False
RANDOM_MODE = "random"
# STATS
MIN_REWARD = 10
AGGREGATE_STATS_EVERY = 100
UPDATE_STATS_EVERY = 10
SAVE_EVERY = 1_000
MODEL_NAME = f"Snake10-Conv512x3-v0"
GAME_SAVE = f"past_games/{MODEL_NAME}/"
SHOW_PREVIEW = False
LOAD_PREV_MODEL = False
LOAD_BEST_MODEL = False
USE_CHECKPOINT = False
MODEL_TO_LOAD = None
CKPT_TO_LOAD = None
unit_to_find = "avgfood"
# Snake Env
WIN_NAME = "Snake Game"
USE_PIXELS = True
SHOW_SENSORS = False
WINDOW_VIEW_MODE = False
VIEW_WINDOW_SIZE = 0
world_size = 10
pixels_per_unit = round(1200 / world_size)
state_pixels_per_unit = 3
RENDER_GAP = 5
STATE_GAP = 1
WORLD_INFO = {"body": 1, "empty": 0, "head": 2, "food": 3}
COLORS = {WORLD_INFO["body"]: (0, 255, 0), WORLD_INFO["empty"]: (0, 0, 0), WORLD_INFO["head"]: (255, 255, 255), WORLD_INFO["food"]: (255, 0, 0)}
FOOD_FOR_REWARD = 10
TIMEOUT_STEPS = 500
foodForTimeout = 10
REWARD_FOR_WIN = 200
TIMEOUT_PENALTY = -10
CRASH_PENALTY = -50
PENALTY_PER_FRAME = -0.1
REWARD_PER_FRAME = 0
FOOD_REWARD = 10
FPS = 20