class_docstr: Creating Q-graph, FGSM graph
  Supports loading multiple graphs - needed for blackbox attacks
class_docstr_tok: ["Creating","Q-graph",",","FGSM","graph","Supports","loading","multiple","graphs","-","needed","for","blackbox","attacks"]
code: def __init__(self, env, dueling, noisy, fname):
      self.g = tf.Graph()
      self.noisy = noisy
      self.dueling = dueling
      self.env = env
      with self.g.as_default():
          self.act = deepq.build_act_enjoy(
              make_obs_ph=lambda name: U.Uint8Input(
                  env.observation_space.shape, name=name
              ),
              q_func=dueling_model if dueling else model,
              num_actions=env.action_space.n,
              noisy=noisy,
          )
          self.saver = tf.train.Saver()
      self.sess = tf.Session(graph=self.g)
  
      if fname is not None:
          print("Loading Model...")
          self.saver.restore(self.sess, fname)
  
imports: import argparse
  import gym
  import os
  import numpy
  from gym.monitoring import VideoRecorder
  import rlattack.common.tf_util
  from rlattack import deepq
  from rlattack.common.misc_util import boolean_flag, SimpleMonitor
  from rlattack.common.atari_wrappers_deprecated import wrap_dqn
  import tensorflow
  import cv2
  from collections import deque
  from model import model, dueling_model
  from statistics import statistics
label_desc: Use image node_id 1 to create a new DQNModel object  with example: obj = DQNModel(env, dueling, noisy, fname)