Fehler: Fehler beim Überprüfen der Eingabe: Es wird erwartet, dass dens_Dense1_input 3 Dimensionen hat. aber bekam Array mit Form 1,9
Jan 05 2021
Ich bin wirklich neu in tensorflow.js und ich versuche ein einfaches Modell zu erstellen, das dir sagt, auf welcher Seite der Leinwand du geklickt hast
const model = tf.sequential();
model.add(
tf.layers.dense({
units: 200,
activation: "sigmoid",
inputShape: [0, 1],
})
);
model.add(
tf.layers.dense({
units: 2,
activation: "softmax",
})
);
model.compile({
optimizer: optimizer,
loss: "categoricalCrossentropy",
metrics: ["accuracy"],
});
meine Trainings- und Testdaten
const yTrain = tf.tensor2d(
[10, 130, 60, 20, 150, 110, 3, 160, 99],
[1, 9]
);
const xTrain = tf.tensor2d([0, 1, 0, 0, 1, 1, 0, 1, 0], [1, 9]);
const yTest = tf.tensor2d(
[5, 106, 33, 88, 104, 140, 7, 60, 154],
[1, 9]
);
const xTest = tf.tensor2d([0, 1, 0, 0, 1, 1, 0, 0, 1], [1, 9]);
Antworten
edkeveked Jan 05 2021 at 22:11
Die inputShape hat die Größe 2, daher sollten die Features (hier xtrain und xtest) die Dimension 3 haben.
Außerdem ist es nicht sinnvoll, eine Dimensionsgröße von 0 zu haben (dies bedeutet, dass der Tensor leer ist).
In Anbetracht Ihrer xtrain- und xtest-Form [a, b]
sollte die inputShape sein [b]
.
Diese Formfehlanpassung zwischen dem Modell und den Trainingsdaten wurde hier und da diskutiert