28 lines
714 B
Python
28 lines
714 B
Python
|
import os
|
||
|
from dataclasses import dataclass
|
||
|
from typing import TYPE_CHECKING, Optional
|
||
|
|
||
|
if TYPE_CHECKING:
|
||
|
from tianshou.data import Collector
|
||
|
from tianshou.highlevel.env import Environments
|
||
|
from tianshou.highlevel.logger import Logger
|
||
|
from tianshou.policy import BasePolicy
|
||
|
from tianshou.trainer import BaseTrainer
|
||
|
|
||
|
|
||
|
@dataclass
|
||
|
class World:
|
||
|
envs: "Environments"
|
||
|
policy: "BasePolicy"
|
||
|
train_collector: "Collector"
|
||
|
test_collector: "Collector"
|
||
|
logger: "Logger"
|
||
|
trainer: Optional["BaseTrainer"] = None
|
||
|
|
||
|
@property
|
||
|
def directory(self):
|
||
|
return self.logger.log_path
|
||
|
|
||
|
def path(self, filename: str) -> str:
|
||
|
return os.path.join(self.directory, filename)
|