Skip to content

Commit

Permalink
Remove env seed and add torch manual seed
Browse files Browse the repository at this point in the history
lukeluocn committed Oct 29, 2020
1 parent 395c531 commit 5899f16
Showing 3 changed files with 4 additions and 12 deletions.
2 changes: 1 addition & 1 deletion display.ipynb
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@
"model_name = f\"model_{target:03d}_best\"\n",
"model_path = f\"./saved_models/{model_name}\"\n",
"device = torch.device(\"cpu\")\n",
"env = MyEnv(device, seed=0) # FIXME: seed is currently useless\n",
"env = MyEnv(device)\n",
"agent = Agent(env.get_action_dim(), device, 0.99, 0, 0, 0, 1, model_path)"
]
},
3 changes: 2 additions & 1 deletion main.py
Original file line number Diff line number Diff line change
@@ -33,8 +33,9 @@
new_seed = lambda: rand.randint(0, 1000_000)
os.mkdir(SAVE_PREFIX)

torch.manual_seed(new_seed())
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
env = MyEnv(device, new_seed())
env = MyEnv(device)
agent = Agent(
env.get_action_dim(),
device,
11 changes: 1 addition & 10 deletions utils_env.py
Original file line number Diff line number Diff line change
@@ -7,7 +7,6 @@
import base64
from collections import deque
import pathlib
import random

from IPython import display as ipydisplay
import numpy as np
@@ -33,28 +32,20 @@

class MyEnv(object):

def __init__(self, device: TorchDevice, seed: Optional[int] = None) -> None:
"""A seed can be provided to make the environment deterministic."""
def __init__(self, device: TorchDevice) -> None:
env_raw = make_atari("BreakoutNoFrameskip-v4")
self.__env_train = wrap_deepmind(env_raw, episode_life=True)
env_raw = make_atari("BreakoutNoFrameskip-v4")
self.__env_eval = wrap_deepmind(env_raw, episode_life=True)
self.__env = self.__env_train
self.__device = device
self.__rand = random.Random()
if seed is not None:
self.__rand.seed(seed)
self.__new_seed = lambda: self.__rand.randint(0, 1000_000)

def reset(
self,
render: bool = False,
) -> Tuple[List[TensorObs], float, List[GymImg]]:
"""reset resets and initializes the underlying gym environment."""
self.__env.reset()
# FIXME: seems like the wrapper is not compatible with the seed
# self.__env.seed(self.__new_seed())

init_reward = 0.
observations = []
frames = []

0 comments on commit 5899f16

Please sign in to comment.