def get_train_data(self, states: torch.Tensor, actions: torch.Tensor) -> Tuple[(torch.Tensor, torch.Tensor, torch.Tensor)]:
    (alpha, beta, V_hat) = self(states)
    num_actions = actions.shape[(- 1)]
    alpha = alpha.expand((- 1), num_actions)
    beta = beta.expand((- 1), num_actions)
    beta_dist = GeneralizedBeta(alpha, beta, self.action_bound)
    log_probs = beta_dist.log_prob(actions)
    entropy = (- log_probs.mean(dim=(- 1)))
    return (log_probs, entropy, V_hat)
def get_train_data(self, states: torch.Tensor, actions: torch.Tensor) -> Tuple[(torch.Tensor, torch.Tensor, torch.Tensor)]:
    (alpha, beta, V_hat) = self(states)
    num_actions = actions.shape[(- 1)]
    alpha = alpha.expand((- 1), num_actions)
    beta = beta.expand((- 1), num_actions)
    beta_dist = GeneralizedBeta(alpha, beta, self.action_bound)
    log_probs = beta_dist.log_prob(actions)
    entropy = (- log_probs.mean(dim=(- 1)))
    return (log_probs, entropy, V_hat)