模型预测0值?

时间:2019-04-22 20:44:30

标签: javascript machine-learning tensorflow.js

使用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]]]

0 个答案:

没有答案