class_docstr: Data reader for kinetics dataset of two format mp4 and pkl.
  1. mp4, the original format of kinetics400
  2. pkl, the mp4 was decoded previously and stored as pkl
  In both case, load the data, and then get the frame data in the form of numpy and label as an integer.
   dataset cfg: format
                num_classes
                seg_num
                short_size
                target_size
                num_reader_threads
                buf_size
                image_mean
                image_std
                batch_size
                list
class_docstr_tok: ["Data","reader","for","kinetics","dataset","of","two","format","mp4","and","pkl",".","1.","mp4",",","the","original","format","of","kinetics400","2.","pkl",",","the","mp4","was","decoded","previously","and","stored","as","pkl","In","both","case",",","load","the","data",",","and","then","get","the","frame","data","in","the","form","of","numpy","and","label","as","an","integer",".","dataset","cfg",":","format","num_classes","seg_num","short_size","target_size","num_reader_threads","buf_size","image_mean","image_std","batch_size","list"]
code: def create_reader(self):
      _reader = self._reader_creator(
          self.filelist,
          self.mode,
          seg_num=self.seg_num,
          seglen=self.seglen,
          short_size=self.short_size,
          target_size=self.target_size,
          img_mean=self.img_mean,
          img_std=self.img_std,
          shuffle=(self.mode == "train"),
          num_threads=self.num_reader_threads,
          buf_size=self.buf_size,
          format=self.format,
      )
  
      def _batch_reader():
          batch_out = []
          for imgs, label in _reader():
              if imgs is None:
                  continue
              batch_out.append((imgs, label))
              if len(batch_out) == self.batch_size:
                  yield batch_out
                  batch_out = []
  
      return _batch_reader
  
file_path: PaddleHub/modules/video/classification/videotag_tsn_lstm/resource/reader/kinetics_reader.py
imports: import sys
  import random
  import functools
  import logging
  import paddle
  import cv2
  import numpy
  from PIL import Image
  from .reader_utils import DataReader
label_desc: Use image node_id 2 for calling the KineticsReader obj's underlying member method code with example usage: obj.create_reader() and returns: _batch_reader