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 craft_adv(self):
      with self.sess.as_default():
          with self.g.as_default():
              craft_adv_obs = deepq.build_adv(
                  make_obs_tf=lambda name: U.Uint8Input(
                      self.env.observation_space.shape, name=name
                  ),
                  q_func=dueling_model if self.dueling else model,
                  num_actions=self.env.action_space.n,
                  epsilon=1.0 / 255.0,
                  noisy=self.noisy,
              )
      return craft_adv_obs
  
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 4 for calling the DQNModel obj's underlying member method code with example usage: obj.craft_adv() and returns: craft_adv_obs