@torch.no_grad()
def sample_action(self, x: torch.Tensor) -> np.ndarray:
    self.eval()
    (alpha, beta, _) = self(x)
    beta_dist = D.Beta(alpha, beta)
    action = beta_dist.sample()
    self.train()
    return action.detach().cpu().numpy()
@torch.no_grad()
def sample_action(self, x: torch.Tensor) -> np.ndarray:
    self.eval()
    (alpha, beta, _) = self(x)
    beta_dist = D.Beta(alpha, beta)
    action = beta_dist.sample()
    self.train()
    return action.detach().cpu().numpy()