AttributeError: module ‘tensorflow’ has no attribute ‘optimizers’

SOLUZIONI

Se stai usando una versione di tensorflow < 2.0.0 potresti ever ricevuto il seguente errore:

module 'tensorflow' has no attribute 'optimizers'

in fase di training del modello usando questa sintassi:

model.compile(optimizer = tf.optimizers.Adam(),
              loss = 'sparse_categorical_crossentropy',
              metrics=['accuracy'])()

Questo errore si presenta perché  le versioni di tensorflow inferiori alle 2 non includono nativamente keras; per risolvere il problema sarà sufficiente importare keras nel tuo progetto

from tensorflow.keras import optimizers

e sostituire la riga precedente con con  la seguente:

model.compile(optimizer = optimizers.Adam(),
              loss = 'sparse_categorical_crossentropy',
              metrics=['accuracy'])()

oppure

model.compile(optimizer = tf.keras.optimizers.Adam(),
              loss = 'sparse_categorical_crossentropy',
              metrics=['accuracy'])

Comments