Ich führe das Testskript von der Keras website für Multilayer Perceptron (MLP) für Multi-Klasse-Softmax-Klassifizierung. Wenn ich im jupyter Notizbuch laufe, bekomme ich den Fehler "Name 'keras' ist nicht definiert". Dies mag ein einfaches Python-Syntax-Problem sein, auf das ich nicht scharf bin, aber dieser Code kommt direkt aus Keras, also erwarte ich, dass er so funktionieren sollte wie er ist. Ich habe andere neurale Netze mit Keras laufen lassen, also bin ich mir ziemlich sicher, dass ich alles installiert habe (keras mit Anaconda installiert). Kann jemand helfen? Ich habe sowohl den Code als auch den Fehler unten eingefügt. Vielen Dank!keras.utils.to_categorical() - Name keras nicht definiert
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
# Generate dummy data
import numpy as np
x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
model = Sequential()
# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.
model.add(Dense(64, activation='relu', input_dim=20))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
model.fit(x_train, y_train,
epochs=20,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
Dies ist die Fehlermeldung:
NameError Traceback (most recent call last)
<ipython-input-1-6d8174e3cf2a> in <module>()
6 import numpy as np
7 x_train = np.random.random((1000, 20))
----> 8 y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
9 x_test = np.random.random((100, 20))
10 y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
NameError: name 'keras' is not defined
Vielleicht importieren Keras? Oder 'von keras.utils in_categorical importieren? – devforfu
@devforfu Beide arbeiten! Bitte post als Antwort Ich kann Bild Ich werde nicht der einzige sein, der dieses Problem hat. – xjtc55