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, затем ошибка исчезает, но на этот раз прогноз не точный. Заранее благодарю за любую помощь.