I Floyd-Hub verwendet haben, um das folgende Modell zu trainieren und sie gespeichertLaden Keras Modellfehler: Keine Opkernel wurde registriert Op zu unterstützen ‚Assign‘ mit diesen attrs
# Create the model
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(3, 32, 32), activation='relu', padding='same'))
model.add(Dropout(0.2))
model.add(Conv2D(32, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(Dropout(0.2))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(128, (3, 3), activation='relu', padding='same'))
model.add(Dropout(0.2))
model.add(Conv2D(128, (3, 3), activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dropout(0.2))
model.add(Dense(1024, activation='relu', kernel_constraint=maxnorm(3)))
model.add(Dropout(0.2))
model.add(Dense(512, activation='relu', kernel_constraint=maxnorm(3)))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activation='softmax'))
# Compile model
epochs = 50
adammax = keras.optimizers.Adamax(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)
model.compile(loss='categorical_crossentropy', optimizer=adammax, metrics=['accuracy'])
print(model.summary())
Wenn ich versuche, es auf laden mein PC, es funktioniert gut. Aber wenn ich es auf den Raspberry Pi lade bekomme ich den folgenden Fehler. Ich habe auch versucht, nur die Gewichte zu speichern und zu laden, aber es hat nicht funktioniert und den gleichen Fehler bekommen. Ich benutze die gleiche Version von Tensorflow wie Floyd Hub auf dem Raspberry Pi.
Hallo! Sie versuchen, Operationen mit einem Int64-Datentyp auszuführen, aber Tensorflow unterstützt nur Int32 auf ARM. (Nur ARM 32 Bit wird offiziell unterstützt.) Bitte versuchen Sie auf der Seite, Ihren Traceback als Text und nicht als Bild einzufügen. – Lescurel
@Lescurel irgendwelche Empfehlungen, wie man ein Tensorflow-Modell richtig in Raspberry portiert? – Paddy
@Paddy: Ich weiß nicht, was Sie erreichen möchten, aber Sie könnten einfach Tensoren mit 'tf.int32' Datentyp anstelle von' tf.int64' verwenden. In vielen Fällen benötigen Sie die zusätzlichen 32 Bits nicht. Keine Ahnung wie man es mit Keras oder Floydhub macht. Sie könnten auch versuchen, dieser [Anleitung] zu folgen (http://zhiyisun.github.io/2017/02/15/Running-Google-Machine-Learning-Library-Tensorflow-On-ARM-64-bit-Platform.html) wie Tensorflow für ARM64 kompiliert wird (Beachten Sie, dass ich es nicht getestet habe) – Lescurel