嗨,我想知道如何在节点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]))
})
答案 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