Far*_*han 7 javascript json node.js brain.js
我刚刚开始学习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"
}
]
Run Code Online (Sandbox Code Playgroud)
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 //
Run Code Online (Sandbox Code Playgroud)
Ter*_*nox 18
您可以将脚本分成两个。在其中一种方法中,我们使用数据训练网络,然后使用network.toJSON()函数将其保存到 JSON 文件。
在第二个例子中,我们使用network.fromJSON()函数从 JSON 文件加载网络状态,然后针对我们的数据运行它。
火车网络.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");
Run Code Online (Sandbox Code Playgroud)
加载网络.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'));
Run Code Online (Sandbox Code Playgroud)