code: def split_tuple(samples):
      samples = np.array(samples, dtype=object)
      screen_buf = tf.stack(samples[:, 0])
      actions = samples[:, 1]
      rewards = tf.stack(samples[:, 2])
      next_screen_buf = tf.stack(samples[:, 3])
      dones = tf.stack(samples[:, 4])
      return screen_buf, actions, rewards, next_screen_buf, dones
  
imports: import itertools
  import os
  from collections import deque
  from random import sample
  from time import sleep, time
  import numpy
  import skimage.color
  import skimage.transform
  import tensorflow
  from tensorflow.keras import Model, Sequential
  from tensorflow.keras.layers import BatchNormalization, Conv2D, Dense, Flatten, ReLU
  from tensorflow.keras.optimizers import SGD
  from tqdm import trange
  import vizdoom
label_desc: Use image node_id 3 for calling a global function with example usage: split_tuple(samples) and returns: screen_buf,  actions,  rewards,  next_screen_buf,  dones