code: def create_reader(path, is_training, input_dim, label_dim):
      return MinibatchSource(
          CTFDeserializer(
              path,
              StreamDefs(
                  features=StreamDef(
                      field="x", shape=input_dim, is_sparse=True
                  ),
                  labels=StreamDef(
                      field="y", shape=label_dim, is_sparse=False
                  ),
              ),
          ),
          randomize=is_training,
          max_sweeps=INFINITELY_REPEAT if is_training else 1,
      )
  
file_path: CNTK/bindings/python/doc/simplernn.py
imports: import sys
  import os
  from cntk import Trainer, Axis
  from cntk.io import MinibatchSource, CTFDeserializer, StreamDef, StreamDefs, INFINITELY_REPEAT
  from cntk.learners import sgd, learning_parameter_schedule_per_sample
  from cntk import input_variable, cross_entropy_with_softmax, classification_error, sequence
  from cntk.logging import ProgressPrinter
  from cntk.layers import Sequential, Embedding, Recurrence, LSTM, Dense
label_desc: Use image node_id 1 for calling a global function with example usage: create_reader(path, is_training, input_dim, label_dim) and returns: MinibatchSource