"Konnte nicht interpretiert optimizer Bezeichner" error in Keras
Bekam ich diese Fehlermeldung, wenn ich versuchte, ändern die learning-rate-parameter SGD-Optimierer in Keras. Habe ich da etwas verpasst in meiner codes oder meine Keras war nicht richtig installiert?
Hier ist mein code:
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Flatten, GlobalAveragePooling2D, Activation
import keras
from keras.optimizers import SGD
model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('softmax'))
model.compile(loss='mean_squared_error', optimizer=SGD(lr=0.01), metrics= ['accuracy'])*
und hier ist die Fehlermeldung:
Traceback (most recent call last): File
"C:\TensorFlow\Keras\ResNet-50\test_sgd.py", line 10, in
Modell.kompilieren(Verlust='mean_squared_error', optimizer=SGD(lr=0.01), Metrik=['accuracy']) Datei
"C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\models.py",
line 787, in kompilieren
**kwargs) File "C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\engine\training.py",
Linie 632 in kompilieren
selbst.optimizer = Optimierer.bekommen(optimizer) Datei "C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\optimizers.py",
Linie 788, in get
raise ValueError('Konnte nicht interpretieren optimizer-Bezeichner:', Bezeichner) ValueError: ("Konnte nicht interpretiert optimizer-Bezeichner:',
)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vor kurzem vor ähnlichen problem.
Der Grund ist Sie mit tensorflow.python.keras api für das Modell und die Schichten und keras.Optimierer für die SGD. Es sind zwei verschiedene keras Versionen von tensorflow und rein keras. Sie konnten nicht zusammen arbeiten. Sie haben, um alles zu ändern, um eine version. Dann sollte es funktionieren. 🙂
Hoffe, das hilft.
Ich bin etwas spät dran hier, Ihr Problem ist, Sie haben gemischt Tensorflow keras und keras-API im code. Die Optimierung und das Modell kommen sollte derselben Ebene definition. Verwenden Keras API für alles, was als unten:
Benutzt habe ich adam in diesem Beispiel. Bitte verwenden Sie Ihre relevanten optimizer-wie oben dargelegt-code.
Hoffe, das hilft.
Dieses problem ist im wesentlichen verursacht durch die verschiedenen Versionen. Die tensorflow.keras version kann nicht derselbe sein wie der der keras.
So verursacht der Fehler wie erwähnt von @Priyanka.
Für mich ein, wenn dieser Fehler Auftritt, ich pass auf den Namen des Optimierers als string, und das backend zahlen Sie es aus.
Zum Beispiel, anstatt
oder
Ich tun
Läuft die Keras documentaion Beispiel https://keras.io/examples/cifar10_cnn/
und die Installation der neuesten keras und tensor-flow Versionen
(zum Zeitpunkt des Schreibens dieses Artikels
tensorflow 2.0.0a0-und Keras version 2.2.4 )
Musste ich importieren explizit der Optimierer die keras Beispiel ist die Verwendung,insbesondere die Linie, auf der oben das Beispiel :
wurde ersetzt durch
In der jüngsten version der api "brach" und keras.Zeug in einer Menge von Fällen wurde tensorflow.keras.Zeug.
Versuchen Sie, Ihre import-Zeilen
Ihre Importe scheinen ein wenig seltsam für mich. Vielleicht könnten Sie dies näher auszuführen auf, dass.
Nur geben