Aimbot-PPO/Aimbot-PPO-Python/PPOHistoryRecorder.py

59 lines
2.2 KiB
Python
Raw Normal View History

from turtle import color
import matplotlib.pyplot as plt
class PPOHistory(object):
def __init__(self):
self.meanRewards = []
self.entropys = []
self.actorLosses = []
self.criticLosses = []
def saveHis(self, rewards, entropys, aLosses, cLosses):
self.meanRewards.extend([rewards])
self.entropys.extend([entropys])
self.actorLosses.extend(aLosses)
self.criticLosses.extend(cLosses)
def drawHis(self):
plt.figure(figsize=(21, 13), facecolor="#011627")
ax = plt.subplot(2, 2, 1)
ax.set_facecolor("#011627")
ax.spines["top"].set_color("#c9d2df")
ax.spines["bottom"].set_color("#c9d2df")
ax.spines["left"].set_color("#c9d2df")
ax.spines["right"].set_color("#c9d2df")
ax.plot(
range(len(self.meanRewards)), self.meanRewards, color="#c9d2df", label="AverageRewards"
)
ax.set_title("meanRewards", color="#c9d2df")
ax = plt.subplot(2, 2, 2)
ax.set_facecolor("#011627")
ax.spines["top"].set_color("#c9d2df")
ax.spines["bottom"].set_color("#c9d2df")
ax.spines["left"].set_color("#c9d2df")
ax.spines["right"].set_color("#c9d2df")
ax.plot(range(len(self.entropys)), self.entropys, color="#c9d2df", label="AverageEntropys")
ax.set_title("entropys", color="#c9d2df")
ax = plt.subplot(2, 2, 3)
ax.set_facecolor("#011627")
ax.spines["top"].set_color("#c9d2df")
ax.spines["bottom"].set_color("#c9d2df")
ax.spines["left"].set_color("#c9d2df")
ax.spines["right"].set_color("#c9d2df")
ax.plot(
range(len(self.actorLosses)), self.actorLosses, color="#c9d2df", label="actorLosses"
)
ax.set_title("actorLosses", color="#c9d2df")
ax = plt.subplot(2, 2, 4)
ax.set_facecolor("#011627")
ax.spines["top"].set_color("#c9d2df")
ax.spines["bottom"].set_color("#c9d2df")
ax.spines["left"].set_color("#c9d2df")
ax.spines["right"].set_color("#c9d2df")
ax.plot(
range(len(self.criticLosses)), self.criticLosses, color="#c9d2df", label="criticLosses"
)
ax.set_title("criticLosses", color="#c9d2df")
plt.show()