Générateur de données pour keras

Un rapide partage sur diverses approches pour coder un générateurs de données pour entrainer vos IA.

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

La version la plus simple : le Yield

NB_BLOCK = 5
def mygen(filelist):
  while 1:
    for i in range(0,len(filelist)-20,NB_BLOCK):
      x_train = []
      y_train = []
      nimage = []
      for j in range(25):
        nimage.append(rgb2gray(mpimg.imread(filelist[i+j])))
      input_data = np.array(nimage)
      for i in range(NB_BLOCK):
        x_train.append(input_data[i:i+10].reshape((-1,IMG_W,IMG_H,1)))
        y_train.append(input_data[i+10:i+20].reshape((-1,IMG_W,IMG_H,1)))
      x_train = np.array(x_train)
      y_train = np.array(y_train)
      yield x_train,y_train

La version plus complexe

Il est possible de passer par une classe pour gérer ses données

Le data generator de Baidu pour son projet DeepSpeech
https://github.com/baidu-research/ba-dls-deepspeech/blob/master/data_generator.py