[RLlib] Make rollout always use evaluation_config. (#7396)

This commit is contained in:
Sven Mika
2020-03-04 02:20:35 +01:00
committed by GitHub
parent 3a134c7224
commit 7faf0d8f89
2 changed files with 10 additions and 2 deletions
+3
View File
@@ -594,6 +594,9 @@ class Trainer(Trainable):
if self.config.get("evaluation_interval"):
# Update env_config with evaluation settings:
extra_config = copy.deepcopy(self.config["evaluation_config"])
# Assert that user has not unset "in_evaluation".
assert "in_evaluation" not in extra_config or \
extra_config["in_evaluation"] is True
extra_config.update({
"batch_mode": "complete_episodes",
"batch_steps": 1,
+7 -2
View File
@@ -2,11 +2,12 @@
import argparse
import collections
import copy
import json
import os
from pathlib import Path
import pickle
import shelve
from pathlib import Path
import gym
import ray
@@ -210,7 +211,8 @@ def create_parser(parser_creator=None):
default="{}",
type=json.loads,
help="Algorithm-specific configuration (e.g. env, hyperparams). "
"Gets merged with loaded configuration from checkpoint file.")
"Gets merged with loaded configuration from checkpoint file and "
"`evaluation_config` settings therein.")
parser.add_argument(
"--save-info",
default=False,
@@ -258,6 +260,9 @@ def run(args, parser):
if "num_workers" in config:
config["num_workers"] = min(2, config["num_workers"])
# Merge with `evaluation_config`.
evaluation_config = copy.deepcopy(config.get("evaluation_config", {}))
config = merge_dicts(config, evaluation_config)
# Merge with command line `--config` settings.
config = merge_dicts(config, args.config)
if not args.env: