预训练大脑js模型

pre-train brain js model

我的问题


我刚开始学习 brain js 并开发了一个模型,它根据 input text.

为您提供类别

我想问的是,每次 运行 模型依赖于 iterations 的次数越多,iterations 的数量越多,花费的时间就越多,但它改进了 accuracy模型的。

有什么方法可以 pre-trained 我的模型,这样它就不会让用户等待输出。

一个例子对我很有帮助。

我的代码


// JSON file data //

[
  {
    "text": "my unit test failed",
    "category": "software"
  },
  {
    "text": "my driver is working",
    "category": "hardware"
  }
]

const brain = require('brain.js');
const data = require('./data.json');                 //data receiving from json//

const network = new brain.recurrent.LSTM();

const trainingData = data.map(item => ({
  input: item.text,
  output: item.category
}));

network.train(trainingData, {
  log: (error) => console.log(error),
  iterations: 1000
});

console.log(network.run('buy me a driver'));         // output is Hardware //

您可以将脚本分成两部分。在其中一个中,我们使用数据训练网络,然后使用 network.toJSON() 函数将其保存到 JSON 文件。

第二步,我们使用 network.fromJSON() 函数从 JSON 文件加载网络状态,然后 运行 根据我们的数据加载网络状态。

火车-network.js

const brain = require('brain.js');
const data = require('./data.json');    
const fs = require("fs");

const network = new brain.recurrent.LSTM();

const trainingData = data.map(item => ({
  input: item.text,
  output: item.category
}));

network.train(trainingData, {
  log: (error) => console.log(error),
  iterations: 1000
});

// Save network state to JSON file.
const networkState = network.toJSON();
fs.writeFileSync("network_state.json",  JSON.stringify(networkState), "utf-8");

加载-network.js

const brain = require('brain.js');
const fs = require("fs");

let network = new brain.recurrent.LSTM();

// Load the trained network data from JSON file.
const networkState = JSON.parse(fs.readFileSync("network_state.json", "utf-8"));
network.fromJSON(networkState);

console.log(network.run('buy me a driver'));