'Utility to create ComputeSession management ops.
Creates a new ComputeSession handle and provides the following
named nodes:
ComputeSession/InputBatch -- a placeholder for attaching a string
specification for AttachReader.
ComputeSession/AttachReader -- the AttachReader op.
Args:
enable_tracing: bool, whether to enable tracing before attaching the data.
Returns:
handle: handle to a new ComputeSession returned by the AttachReader op.
input_batch: InputBatch placeholder.'

def _get_session_with_reader(self, enable_tracing):

    with tf.name_scope('ComputeSession'):
        input_batch = tf.placeholder(dtype=tf.string, shape=[None], name='InputBatch')
        handle = self._get_compute_session()
        if enable_tracing:
            handle = dragnn_ops.set_tracing(handle, True)
        handle = dragnn_ops.attach_data_reader(handle, input_batch, name='AttachReader')
    return (handle, input_batch)
