code: def _start_optimizer_process(
      self,
      model,
      n_envs,
      memory_queue,
      model_update_queue,
      done_queue,
      discount_factor,
      batch_size,
      learning_rate,
      memory_capacity,
  ):
      optimizer_process = ParallelDQNOptimizer(
          model,
          n_envs,
          memory_queue,
          model_update_queue,
          done_queue,
          discount_factor,
          batch_size,
          learning_rate,
          memory_capacity,
      )
  
      optimizer_process.daemon = True
      optimizer_process.start()
  
      return optimizer_process
  
imports: from deprecated import deprecated
  import time
  import numpy
  import multiprocessing
  from typing import Callable
  from tensortrade.agents import Agent
  from tensortrade.agents.parallel.parallel_dqn_model import ParallelDQNModel
  from tensortrade.agents.parallel.parallel_dqn_optimizer import ParallelDQNOptimizer
  from tensortrade.agents.parallel.parallel_dqn_trainer import ParallelDQNTrainer
  from tensortrade.agents.parallel.parallel_queue import ParallelQueue
label_desc: Use image node_id 8 for calling the ParallelDQNAgent obj's underlying member method code with example usage: obj._start_optimizer_process(model, n_envs, memory_queue, model_update_queue, done_queue, discount_factor, batch_size, learning_rate, memory_capacity) and returns: optimizer_process