class_docstr: Deep Deterministic Policy Gradients.
  
  This can be used as SVG(0) by specifying a Gaussian policy instead of a
  deterministic policy.
  
  Args:
      policy (torch.nn.Module): Policy
      q_func (torch.nn.Module): Q-function
      actor_optimizer (Optimizer): Optimizer setup with the policy
      critic_optimizer (Optimizer): Optimizer setup with the Q-function
      replay_buffer (ReplayBuffer): Replay buffer
      gamma (float): Discount factor
      explorer (Explorer): Explorer that specifies an exploration strategy.
      gpu (int): GPU device id if not None nor negative.
      replay_start_size (int): if the replay buffer's size is less than
          replay_start_size, skip update
      minibatch_size (int): Minibatch size
      update_interval (int): Model update interval in step
      target_update_interval (int): Target model update interval in step
      phi (callable): Feature extractor applied to observations
      target_update_method (str): 'hard' or 'soft'.
      soft_update_tau (float): Tau of soft target update.
      n_times_update (int): Number of repetition of update
      batch_accumulator (str): 'mean' or 'sum'
      episodic_update (bool): Use full episodes for update if set True
      episodic_update_len (int or None): Subsequences of this length are used
          for update if set int and episodic_update=True
      logger (Logger): Logger used
      batch_states (callable): method which makes a batch of observations.
          default is `pfrl.utils.batch_states.batch_states`
      burnin_action_func (callable or None): If not None, this callable
          object is used to select actions before the model is updated
          one or more times during training.
class_docstr_tok: ["Deep","Deterministic","Policy","Gradients",".","This","can","be","used","as","SVG","(","0",")","by","specifying","a","Gaussian","policy","instead","of","a","deterministic","policy",".","Args",":","policy","(","torch.nn.Module",")",":","Policy","q_func","(","torch.nn.Module",")",":","Q-function","actor_optimizer","(","Optimizer",")",":","Optimizer","setup","with","the","policy","critic_optimizer","(","Optimizer",")",":","Optimizer","setup","with","the","Q-function","replay_buffer","(","ReplayBuffer",")",":","Replay","buffer","gamma","(","float",")",":","Discount","factor","explorer","(","Explorer",")",":","Explorer","that","specifies","an","exploration","strategy",".","gpu","(","int",")",":","GPU","device","id","if","not","None","nor","negative",".","replay_start_size","(","int",")",":","if","the","replay","buffer","'s","size","is","less","than","replay_start_size",",","skip","update","minibatch_size","(","int",")",":","Minibatch","size","update_interval","(","int",")",":","Model","update","interval","in","step","target_update_interval","(","int",")",":","Target","model","update","interval","in","step","phi","(","callable",")",":","Feature","extractor","applied","to","observations","target_update_method","(","str",")",":","'hard","'","or","'soft","'",".","soft_update_tau","(","float",")",":","Tau","of","soft","target","update",".","n_times_update","(","int",")",":","Number","of","repetition","of","update","batch_accumulator","(","str",")",":","'mean","'","or","'sum'","episodic_update","(","bool",")",":","Use","full","episodes","for","update","if","set","True","episodic_update_len","(","int","or","None",")",":","Subsequences","of","this","length","are","used","for","update","if","set","int","and","episodic_update=True","logger","(","Logger",")",":","Logger","used","batch_states","(","callable",")",":","method","which","makes","a","batch","of","observations",".","default","is","`","pfrl.utils.batch_states.batch_states","`","burnin_action_func","(","callable","or","None",")",":","If","not","None",",","this","callable","object","is","used","to","select","actions","before","the","model","is","updated","one","or","more","times","during","training","."]
code: def _batch_select_greedy_actions(self, batch_obs):
      with torch.no_grad(), evaluating(self.policy):
          batch_xs = self.batch_states(batch_obs, self.device, self.phi)
          batch_action = self.policy(batch_xs).sample()
          return batch_action.cpu().numpy()
  
imports: import collections
  import copy
  from logging import getLogger
  import numpy
  import torch
  from torch import nn
  from torch.nn import functional
  from pfrl.agent import AttributeSavingMixin, BatchAgent
  from pfrl.replay_buffer import ReplayUpdater, batch_experiences
  from pfrl.utils.batch_states import batch_states
  from pfrl.utils.contexts import evaluating
  from pfrl.utils.copy_param import synchronize_parameters
label_desc: Use image node_id 9 for calling the DDPG obj's underlying member method code with example usage: obj._batch_select_greedy_actions(batch_obs) and returns: batch_action