ข้อผิดพลาด: เกิดข้อผิดพลาดขณะตรวจสอบอินพุต: คาดว่าหนาแน่น _Dense1_input จะมี 3 มิติ แต่มีอาร์เรย์ที่มีรูปร่าง 1,9
ฉันใหม่มากสำหรับ tensorflow.js และฉันกำลังพยายามทำโมเดลง่ายๆที่บอกคุณว่าคุณเลือกผ้าใบด้านใด
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"],
});
ข้อมูลการฝึกอบรมและการทดสอบของฉัน
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]);
คำตอบ
edkeveked
inputShape มีขนาด 2 ดังนั้นคุณสมบัติ (ในที่นี้คือ xtrain และ xtest) ควรมีขนาด 3
นอกจากนี้มันไม่สมเหตุสมผลที่จะมีขนาดมิติเป็น 0 (นั่นหมายความว่าเทนเซอร์ว่างเปล่า)
ได้รับ xtrain และรูปร่าง xtest ของคุณ[a, b]
ที่ inputShape [b]
ควรจะเป็น
รูปร่างไม่ตรงกันระหว่างแบบจำลองและข้อมูลการฝึกอบรมได้รับการกล่าวถึงที่นี่และที่นั่น