itsrocktime9696's picture
Upload 6 files
037569d verified
Raw History Blame Contribute Delete
840 Bytes
from stable_baselines3.common.callbacks import BaseCallback
class MetricsCallback(BaseCallback):
def __init__(self, verbose=0):
super(MetricsCallback, self).__init__(verbose)
self.success_count = 0
self.episode_count = 0
def _on_step(self) -> bool:
if self.locals["dones"][0]:
self.episode_count += 1
info = self.locals["infos"][0]
if "distance" in info:
self.logger.record("custom/final_distance", info["distance"])
if "is_success" in info:
if info["is_success"]:
self.success_count += 1
success_rate = self.success_count / self.episode_count
self.logger.record("custom/success_rate", success_rate)
return True