මෙය PyTorch කඩදාසි සාමාන්යකරණය කරන ලද වාසි ඇස්තමේන්තු ක්රියාත්මක කිරීමකි .
එයභාවිතා කරන අත්හදා බැලීමක් ඔබට සොයාගත හැකිය මෙහි.
15import numpy as np18class GAE:19    def __init__(self, n_workers: int, worker_steps: int, gamma: float, lambda_: float):
20        self.lambda_ = lambda_
21        self.gamma = gamma
22        self.worker_steps = worker_steps
23        self.n_workers = n_workersඉහළ නැඹුරුව, අඩු විචලතාව, අපක්ෂපාතී වන අතර ඉහළ විචලතාව.
නැඹුරුවසහ විචලතාව සමතුලිත කිරීම සඳහා අපි බර තැබූ සාමාන්යයක් ගනිමු. මෙය සාමාන්යකරණය කළ වාසි ඇස්තමේන්තුව ලෙස හැඳින්වේ. අපි සකස් කළෙමු , මෙය පිරිසිදු ගණනය කිරීමක් ලබා දෙයි
25    def __call__(self, done: np.ndarray, rewards: np.ndarray, values: np.ndarray) -> np.ndarray:වාසිවගුව
59        advantages = np.zeros((self.n_workers, self.worker_steps), dtype=np.float32)
60        last_advantage = 063        last_value = values[:, -1]
64
65        for t in reversed(range(self.worker_steps)):පියවරෙන්පසු කථාංගය සම්පූර්ණ වුවහොත් වෙස් මුහුණ
67            mask = 1.0 - done[:, t]
68            last_value = last_value * mask
69            last_advantage = last_advantage * mask71            delta = rewards[:, t] + self.gamma * last_value - values[:, t]74            last_advantage = delta + self.gamma * self.lambda_ * last_advantageඅපිප්රතිලෝම අනුපිළිවෙලින් එකතු කරන බව සලකන්න. මගේආරම්භක කේතය ලැයිස්තුවකට එකතු වෙමින් තිබූ අතර පසුව එය ආපසු හැරවීමට මට අමතක විය. දෝෂය සොයා ගැනීමට මට පැය 4 සිට 5 දක්වා ගත විය. ආදර්ශ කාර්ය සාධනය ආරම්භක ලකුණු තුළ තරමක් වැඩි දියුණු විය, බොහෝ විට සාම්පල සමාන නිසා.
83            advantages[:, t] = last_advantage
84
85            last_value = values[:, t]
86
87        return advantages