Tensorflow.js возвращает Tensor [[NaN],] для больших наборов данных

Я пытаюсь обучить небольшой набор данных, и все в порядке, но когда набор данных увеличивается, я получаю этот вывод: в моем случае 17 записей набора данных работают нормально, но +18 нет.

Тензор [[NaN],]

Вот мой код:

async function learnLinear(records){
  const model = tf.sequential();
  const learningRate = 0.0001;
  const optimizer = tf.train.sgd(learningRate);
  model.add(tf.layers.dense({units: 1, inputShape: [1]}));
  model.compile({
   loss: 'meanSquaredError',
   optimizer: optimizer,
  });

  var values=[];
  var i =1;
  for(i=1;i<=20;i++){
    if(typeof records[i] === 'number'){
        values.push(records[i]);
    }else{
      alert("data is not an integer");
}
  }

  const xs = tf.tensor2d(Object.keys(values), [values.length, 1]);

  const ys = tf.tensor2d(values, [values.length, 1]);

  await model.fit(xs, ys, {epochs: 500});

  for(var j=1;j<=values.length;j++){
    $("#output_field").append(j+"::"+model.predict(tf.tensor2d([j], [1, 1]))+"<br/>");
  }

 }

Я попробовал оптимизатор Adam, затем ошибка исчезает, но на этот раз прогноз не точный. Заранее благодарю за любую помощь.

0 ответов

Другие вопросы по тегам