Erro: Erro ao verificar a entrada: esperava-se que dense_Dense1_input tivesse 3 dimensão (ões). mas obteve matriz com forma 1,9
Eu sou realmente novo em tensorflow.js e estou tentando fazer um modelo simples que diga de que lado da tela você clicou
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"],
});
meus dados de treinamento e teste
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]);
Respostas
edkeveked
O inputShape é de tamanho 2, portanto, os recursos (aqui xtrain e xtest) devem ser de dimensão 3.
Além disso, não faz sentido ter um tamanho de dimensão igual a 0 (isso significa que o tensor está vazio).
Dados seus formatos xtrain e xtest [a, b]
,, o inputShape, deve ser [b]
.
Esta incompatibilidade de forma entre o modelo e os dados de treinamento foi discutida aqui e ali
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?