1
0
mirror of https://github.com/gryf/coach.git synced 2025-12-18 11:40:18 +01:00

Coach as a library (#348)

* CoachInterface + tutorial

* Some improvements and typo fixes

* merge tutorial 0 and 4

* typo fix + additional tutorial changes

* tutorial changes

* added reading signals and experiment path argument
This commit is contained in:
shadiendrawis
2019-06-19 18:05:03 +03:00
committed by GitHub
parent 1c90bc22a1
commit 8e812ef82f
6 changed files with 181 additions and 87 deletions

View File

@@ -35,6 +35,7 @@ class BasicRLGraphManager(GraphManager):
preset_validation_params: PresetValidationParameters = PresetValidationParameters(),
name='simple_rl_graph'):
super().__init__(name, schedule_params, vis_params)
self.agent_params = agent_params
self.env_params = env_params
self.preset_validation_params = preset_validation_params
@@ -71,3 +72,13 @@ class BasicRLGraphManager(GraphManager):
level_manager = LevelManager(agents=agent, environment=env, name="main_level")
return [level_manager], [env]
def log_signal(self, signal_name, value):
self.level_managers[0].agents['agent'].agent_logger.create_signal_value(signal_name, value)
def get_signal_value(self, signal_name):
return self.level_managers[0].agents['agent'].agent_logger.get_signal_value(signal_name)
def get_agent(self):
return self.level_managers[0].agents['agent']

View File

@@ -23,12 +23,10 @@ from typing import List, Tuple
import contextlib
from rl_coach.base_parameters import iterable_to_items, TaskParameters, DistributedTaskParameters, Frameworks, \
VisualizationParameters, \
Parameters, PresetValidationParameters, RunType
VisualizationParameters, Parameters, PresetValidationParameters, RunType
from rl_coach.checkpoint import CheckpointStateUpdater, get_checkpoint_state, SingleCheckpoint, CheckpointState
from rl_coach.core_types import TotalStepsCounter, RunPhase, PlayingStepsType, TrainingSteps, EnvironmentEpisodes, \
EnvironmentSteps, \
StepMethod, Transition
EnvironmentSteps, StepMethod, Transition
from rl_coach.environments.environment import Environment
from rl_coach.level_manager import LevelManager
from rl_coach.logger import screen, Logger
@@ -123,6 +121,10 @@ class GraphManager(object):
self.time_metric = TimeTypes.EpisodeNumber
def create_graph(self, task_parameters: TaskParameters=TaskParameters()):
# check if create graph has been already called
if self.graph_creation_time is not None:
return self
self.graph_creation_time = time.time()
self.task_parameters = task_parameters