class_docstr: Agents than plays through a torch neural network
class_docstr_tok: ["Agents","than","plays","through","a","torch","neural","network"]
code: def act(
      self,
      observation: tp.Any,
      reward: tp.Any,
      done: bool,
      info: tp.Optional[tp.Dict[tp.Any, tp.Any]] = None,
  ) -> tp.Any:
      obs = torch.from_numpy(observation.astype(np.float32))
      forward = self.module.forward(obs)  # type: ignore
      probas = F.softmax(forward, dim=0)
      if self.deterministic:
          return probas.max(0)[1].view(1, 1).item()
      else:
          return next(iter(WeightedRandomSampler(probas, 1)))
  
imports: import warnings
  import operator
  import copy
  import typing
  import gym
  import numpy
  from nevergrad.common.tools import pytorch_import_fix
  from nevergrad.parametrization import parameter
  from ..base import ExperimentFunction
  from .None import base
  from .None import envs
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.utils.data import WeightedRandomSampler
label_desc: Use image node_id 3 for calling the TorchAgent obj's underlying member method code with example usage: obj.act(observation, reward, done, info) and returns: probas, next