import tensorflow as tf

        capacity=1000 + 3 * batch_size,
        # Ensures a minimum amount of shuffling of examples.
        min_after_dequeue=1000)

    return images, sparse_labels

def weight_variable(shape):
  initial = tf.truncated_normal(shape, stddev=0.1)
  return tf.Variable(initial)

def bias_variable(shape):
  initial = tf.constant(0.1, shape=shape)
  return tf.Variable(initial)

def conv_scale(x, W):
  return tf.nn.conv3d(x, W, strides=[1,1,1,1,1], padding='VALID')


def inference(x):
  """ Creates a model with pooling across space and scales.
  Always we have a conv-relu-spatial_pool-scale_pool x N layers structure
  with one fully connected layer on top.
