预期 dense_Dense1_input 的形状为 "a" 但得到的数组形状为 "b"
Expected dense_Dense1_input to have shape "a" but got array with shape "b"
有人愿意帮助我完成这个 TensorFlow JS 项目吗?
这是一个具有机器学习功能的聊天机器人,我坚持 'build neural network' ,
giveme this error
项目Link:https://github.com/ran-j/ChatBotNodeJS
训练代码在/routes/index.js第189行
//Build neural network
model = tf.sequential();
model.add(tf.layers.dense({inputShape: [documents.length], units: 100}));
model.add(tf.layers.dense({units: 4}));
model.compile({loss: 'categoricalCrossentropy', optimizer: 'sgd'});
model.fit(xs, ys, {epochs: 1000});
documents.length
是您拥有的训练数据量,而不是模型的 inputShape。所以你的训练数据没有适合你模型的正确形状。
正确的形状应该是 xs.shape
。
所以你的第一层应该是:
tf.layers.dense({inputShape: xs.shape, units: 100})
该错误表明为模型定义的形状与模型使用的张量(无论是训练张量还是测试张量)之间存在不匹配。
为了消除错误,您需要两个形状匹配。
Expected dense_Dense1_input to have shape a but got array with shape b
错误中 a 是模型的形状,b 是引发错误的张量的形状。因此需要将模型的形状更改为 b 或将张量的形状更改为 a。
最简单的方法是将模型形状更改为 b,因为第二种方法将意味着重塑张量,即
model.add(tf.layers.dense({inputShape: b, units: 100}));
鉴于问题的模型,它将是
model.add(tf.layers.dense({inputShape: [27, 48], units: 100}));
有人愿意帮助我完成这个 TensorFlow JS 项目吗? 这是一个具有机器学习功能的聊天机器人,我坚持 'build neural network' , giveme this error
项目Link:https://github.com/ran-j/ChatBotNodeJS
训练代码在/routes/index.js第189行
//Build neural network
model = tf.sequential();
model.add(tf.layers.dense({inputShape: [documents.length], units: 100}));
model.add(tf.layers.dense({units: 4}));
model.compile({loss: 'categoricalCrossentropy', optimizer: 'sgd'});
model.fit(xs, ys, {epochs: 1000});
documents.length
是您拥有的训练数据量,而不是模型的 inputShape。所以你的训练数据没有适合你模型的正确形状。
正确的形状应该是 xs.shape
。
所以你的第一层应该是:
tf.layers.dense({inputShape: xs.shape, units: 100})
该错误表明为模型定义的形状与模型使用的张量(无论是训练张量还是测试张量)之间存在不匹配。
为了消除错误,您需要两个形状匹配。
Expected dense_Dense1_input to have shape a but got array with shape b
错误中 a 是模型的形状,b 是引发错误的张量的形状。因此需要将模型的形状更改为 b 或将张量的形状更改为 a。
最简单的方法是将模型形状更改为 b,因为第二种方法将意味着重塑张量,即
model.add(tf.layers.dense({inputShape: b, units: 100}));
鉴于问题的模型,它将是
model.add(tf.layers.dense({inputShape: [27, 48], units: 100}));