Avec Keras2 implémenté dans TensorFlow et TensorFlow 2.0 à l'horizon, si vous utilisez Keras ImageDataGenerator
avec par exemple flow_from_directory
ou tf.data
de TensorFlow qui peut également être utilisé avec fit_genearator
de Keras maintenant?
Les deux méthodes auront-elles leur place en poursuivant un objectif différent ou tf.data
être la nouvelle voie à suivre et les générateurs Keras obsolètes à l'avenir?
Merci, je voudrais emprunter le chemin qui me tient au courant un peu plus longtemps dans ce domaine en évolution rapide.
Pour moi, je préfère construire un générateur avec yield
:
def generator(batch_size=4,path):
imgs=glob(path+'*.jpg')
while True:
batch=[]
for i in range(batch_size):
idx=np.random.randint(0,len(imgs))
img=cv.resize(cv.imread(imgs[idx]),(256,256))/255
batch.append(img)
batch=np.array(batch)
yield batch
Créez ensuite le générateur et saisissez-le dans model.fit_generator
, ça va marcher.
Vous pouvez choisir des données de manière aléatoire comme celle-ci ou utiliser des méthodes récurrentes.
Bien que le code soit approximatif, il est facile de le changer pour générer un lot complexe.
Notez que c'est un moyen de générer pour TF 1.X avec Keras2 et non avec TensorFlow 2.0.