[rllib] Don't shuffle samples in PPO when using lstm

This commit is contained in:
Eric Liang
2018-09-30 01:13:56 -07:00
committed by GitHub
parent b06c604a51
commit 747253e0f6
3 changed files with 7 additions and 3 deletions
+2 -1
View File
@@ -166,11 +166,12 @@ if __name__ == "__main__":
tune.run_experiments({
"test": {
"env": "cartpole_stateless",
"run": "PG",
"run": "PPO",
"stop": {
"episode_reward_mean": args.stop
},
"config": {
"num_sgd_iter": 5,
"model": {
"use_lstm": True,
},
@@ -108,7 +108,10 @@ class LocalMultiGPUOptimizer(PolicyOptimizer):
value = samples[field]
standardized = (value - value.mean()) / max(1e-4, value.std())
samples[field] = standardized
samples.shuffle()
# Important: don't shuffle RNN sequence elements
if not self.policy._state_inputs:
samples.shuffle()
with self.load_timer:
tuples = self.policy._get_loss_inputs_dict(samples)