class_docstr: Executes a policy- and value-network guided MCTS search.
class_docstr_tok: ["Executes","a","policy-","and","value-network","guided","MCTS","search","."]
docstr: Performs a forward pass of the policy-value network.
docstr_tok: ["Performs","a","forward","pass","of","the","policy-value","network","."]
code: def _forward(
      self, observation: types.Observation
  ) -> Tuple[types.Probs, types.Value]:
      """Performs a forward pass of the policy-value network."""
      logits, value = self._network(tf.expand_dims(observation, axis=0))
  
      # Convert to numpy & take softmax.
      logits = logits.numpy().squeeze(axis=0)
      value = value.numpy().item()
      probs = special.softmax(logits)
  
      return probs, value
  
imports: from typing import Optional, Tuple
  import acme
  from acme import adders
  from acme import specs
  from acme.agents.tf.mcts import models
  from acme.agents.tf.mcts import search
  from acme.agents.tf.mcts import types
  from acme.tf import variable_utils
  import dm_env
  import numpy
  from scipy import special
  import sonnet
  import tensorflow
label_desc: Use image node_id 2 for calling the MCTSActor obj's underlying member method code with example usage: obj._forward(observation) and returns: probs,  value