Skip to content

Commit 68d355a

Browse files
authored
Merge pull request #134 from cpnota/release/0.5.1
Release/0.5.1
2 parents 57536b2 + 629cd63 commit 68d355a

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

all/experiments/experiment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def test(self, episodes=100):
5353

5454
def _log_training_episode(self, returns, fps):
5555
if not self._quiet:
56-
print('episode: {}, frame: {}, fps: {}, returns: {}'.format(self.episode, self.frame, fps, returns))
56+
print('episode: {}, frame: {}, fps: {}, returns: {}'.format(self.episode, self.frame, int(fps), returns))
5757
if returns > self._best_returns:
5858
self._best_returns = returns
5959
self._returns100.append(returns)

all/experiments/parallel_env_experiment.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
from timeit import default_timer as timer
23
import torch
34
import numpy as np
45
from all.environments import State
@@ -26,6 +27,8 @@ def __init__(
2627
self._returns = []
2728
self._frame = 1
2829
self._episode = 1
30+
self._episode_start_times = [] * self._n_envs
31+
self._episode_start_frames = [] * self._n_envs
2932

3033
# test state
3134
self._test_episodes = 100
@@ -66,6 +69,8 @@ def _reset(self):
6669
device=self._envs[0].device
6770
)
6871
self._returns = rewards
72+
self._episode_start_times = [timer()] * self._n_envs
73+
self._episode_start_frames = [self._frame] * self._n_envs
6974

7075
def _step(self):
7176
states = self._aggregate_states()
@@ -80,10 +85,12 @@ def _step_envs(self, actions):
8085

8186
if env.done:
8287
self._returns[i] += env.reward
83-
self._log_training_episode(self._returns[i].item(), 0)
88+
self._log_training_episode(self._returns[i].item(), self._fps(i))
8489
env.reset()
8590
self._returns[i] = 0
8691
self._episode += 1
92+
self._episode_start_times[i] = timer()
93+
self._episode_start_frames[i] = self._frame
8794
else:
8895
action = actions[i]
8996
if action is not None:
@@ -134,5 +141,9 @@ def _aggregate_rewards(self):
134141
device=self._envs[0].device
135142
)
136143

144+
def _fps(self, i):
145+
end_time = timer()
146+
return (self._frame - self._episode_start_frames[i]) / (end_time - self._episode_start_times[i])
147+
137148
def _make_writer(self, agent_name, env_name, write_loss):
138149
return ExperimentWriter(self, agent_name, env_name, loss=write_loss)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name="autonomous-learning-library",
5-
version="0.5.0",
5+
version="0.5.1",
66
description=("A library for building reinforcement learning agents in Pytorch"),
77
packages=find_packages(),
88
url="https://github.com/cpnota/autonomous-learning-library.git",

0 commit comments

Comments
 (0)