Erreur: Erreur lors de la vérification de l'entrée: densité_Dense1_input attendue d'avoir 3 dimension (s). mais j'ai un tableau avec la forme 1,9
Jan 05 2021
Je suis vraiment nouveau sur tensorflow.js et j'essaie de faire un modèle simple qui vous indique de quel côté de la toile vous avez cliqué
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"],
});
mes données d'entraînement et de test
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]);
Réponses
edkeveked Jan 05 2021 at 22:11
Le inputShape est de taille 2, par conséquent, les fonctionnalités (ici xtrain et xtest) doivent être de dimension 3.
De plus, cela n'a pas de sens d'avoir une taille de dimension égale à 0 (cela signifiera que le tenseur est vide).
Compte tenu de votre forme xtrain et xtest,, la forme d' [a, b]
entrée devrait être [b]
.
Cette discordance de forme entre le modèle et les données d'apprentissage a été discutée ici et là