import tensorflow as tf

        eps = tf.get_variable("eps", (), initializer=tf.constant_initializer(0.0))

        q_func_results = q_func(observations_ph.get(), num_actions, scope="q_func")
        q_values = q_func_results['q']
        s_value = q_func_results['s']
        a_values = q_func_results['a']
        deterministic_actions = tf.argmax(q_values, axis=1)

        batch_size = tf.shape(observations_ph.get())[0]
        random_actions = tf.random_uniform(tf.stack([batch_size]), minval=0, maxval=num_actions, dtype=tf.int64)
        chose_random = tf.random_uniform(tf.stack([batch_size]), minval=0, maxval=1, dtype=tf.float32) < eps
        stochastic_actions = tf.where(chose_random, random_actions, deterministic_actions)
