如何更新TensorFlow.js保存/训练的模型

时间:2020-02-27 12:36:56

标签: node.js machine-learning keras model tensorflow.js

嗨,我想知道如何在节点js中更新TensorFlow js保存的模型,

我使用NodeJS在TensorFlow js中创建了一个基本的神经网络,并保存了经过训练的模型,并生成了model.json和weights.bin文件。

我已经看到我们可以在Python中的keras中更新训练有素的模型。

但是在TensorFlow js,NodeJS和JS中没有用于更新模型的示例。

请有人帮助更新训练有素的模型。

模型加载和更新代码

var tf = require('@tensorflow/tfjs-node')
async funtion load(){
    const model = await tf.loadLayersModel(url);
}
load().then(() => {
    model.predict(tf.tensor1d([5]))
    model.predict(tf.tensor1d([5]), tf.tensor1d([15]));
    model.predict(tf.tensor1d([5]))
})

1 个答案:

答案 0 :(得分:1)

保存的模型可以重新加载并用于进一步的训练。

const model = await tf.loadLayersModel(url);
model.predict(feature) // predict with old model
await model.fit(features, labels); // this will update the weights of the model
model.predict(feature) // predict with new model

可以将重新训练的模型保存回去,这将更新其权重。好像该模型是在初始数据和当前数据上都经过训练的,这意味着它可以预测来自两个来源的数据。

但是,如果新数据与初始数据有显着差异,则该模型将无法再次根据初始数据进行良好的预测。这个问题讨论得很好here