使用tensorflow创建模型会在结果中产生0输出吗? 它从不显示带有-ve值的输出。如果预测输入张量具有-ve值,则将产生+ ve结果。如果+ ve输入-ve值为ys,则输出为0
const tf = require('@tensorflow/tfjs-node');
var a=[[1,2,3,4]];
const model = tf.sequential();
const learninrate=0.1;
const optimizer=tf.train.adam(learninrate);
model.add(tf.layers.dense({units: 3, inputShape: [7,3]}));
model.add(tf.layers.dense({units: 3, activation: 'relu'}));
model.compile({optimizer: optimizer, loss: 'meanSquaredError',metrics:['accuracy']});
const xs = tf.tensor([[
[11, 23, 1],
[12, 23, 0],
[13, 23, 0],
[14, 23, 0],
[15, 23, 0],[0,0,0],[0,0,0]]]).toInt();
const ys = tf.tensor([[[-12,-23,0],[-13,-23,0],[-14,-23,0],[-15,-23,0],[-11,-23,-1],[0,0,0],[0,0,0]]]).toInt();
console.log(xs);
model.fit(xs, ys, {epochs: 1000}).then(()=>{
model.predict(tf.tensor([[[15,23,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]])).toInt().print();
}).catch((e)=>{
console.log(e);
});
这是在tensorflow js中创建的模型。仅预测结果中的零输出。为什么-ve在ys中总是产生零结果。如何处理这个问题?
在该模型预测中输出张量是这个
Tensor
[[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]]