json 预训练大脑js模型

mv1qrgav  于 2023-01-03  发布在  其他
关注(0)|答案(2)|浏览(95)

我的问题
我刚刚开始学习brain js,并开发了一个模型,它可以基于input text为您提供类别。
我想问的是,每次运行模型都依赖于iterationsiterations的数量越大,花费的时间就越多,但它改善了模型的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 //
u5rb5r59

u5rb5r591#

你可以把脚本分成两部分,一部分是用数据训练网络,然后用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");

负载网络.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'));
c8ib6hqw

c8ib6hqw2#

您还可以使用net.toFunction()将nn保存到函数中,并在其他地方使用它,如下所述

相关问题