class_docstr: Continuous deterministic policy.
  
  Args:
      model (chainer.Link):
          Link that is callable and outputs action values.
      model_call (callable or None):
          Callable used instead of model.__call__ if not None
      action_filter (callable or None):
          Callable applied to the outputs of the model if not None
class_docstr_tok: ["Continuous","deterministic","policy",".","Args",":","model","(","chainer.Link",")",":","Link","that","is","callable","and","outputs","action","values",".","model_call","(","callable","or","None",")",":","Callable","used","instead","of","model.__call__","if","not","None","action_filter","(","callable","or","None",")",":","Callable","applied","to","the","outputs","of","the","model","if","not","None"]
code: def __call__(self, x):
      # Model
      if self.model_call is not None:
          h = self.model_call(self.model, x)
      else:
          h = self.model(x)
      # Action filter
      if self.action_filter is not None:
          h = self.action_filter(h)
      # Wrap by Distribution
      return distribution.ContinuousDeterministicDistribution(h)
  
imports: from logging import getLogger
  import chainer
  from chainer import functions
  from chainer.initializers import LeCunNormal
  from chainer import links
  from chainerrl import distribution
  from chainerrl.functions.bound_by_tanh import bound_by_tanh
  from chainerrl.links.mlp import MLP
  from chainerrl.links.mlp_bn import MLPBN
  from chainerrl.policy import Policy
  from chainerrl.recurrent import RecurrentChainMixin
label_desc: Use image node_id 2 for calling the ContinuousDeterministicPolicy obj's underlying member method code with example usage: obj.__call__(x) and returns: distribution