Squ*_*y47 1 javascript machine-learning neural-network node.js brain.js
我在 node.js 项目中使用 Brain.js。现在每次运行程序更新内容时,训练都需要很长时间才能运行,因此我使用 Github 页面中提到的预期方法将网络保存在 json 文件中。它似乎保存正确,但是当我尝试加载它时,它说“ node_modules/brain/lib/neuralnetwork.js:341 var size = json.layers.length; ”我可能做错了什么,因为我还没有找到这个Github 或这里的问题,任何帮助将不胜感激。不要放置整个文件,因为其中大部分是要加载到文件中的重复代码。在加载文件之前,这一切正常,没有任何错误。如果需要更多代码,我会发布它
主文件
function run(){
console.log("training network...");
var trainingNet0 = net0.train([
{input: pixels0, output: [1]},
{input: pixels1, output: [1]},
{input: pixels2, output: [1]},
{input: pixels3, output: [1]},
{input: pixels6, output: [0]},
{input: pixels7, output: [0]},
{input: pixels8, output: [0]},
{input: pixels9, output: [0]}],
{
errorThresh: 5, // error threshold to reach
iterations: 1000, // maximum training iterations
log: false, // console.log() progress periodically
logPeriod: 10, // number of iterations between logging
learningRate: 0.003 // learning rate);
})
console.log(net0.run(pixels4))
console.log(net0.run(pixels5))
console.log(net0.run(pixels6))
console.log(net0.run(pixels3))
saveFile();
}
function saveFile(){
fs.writeFile("network.json", net0.toJSON(), function(err) {
if(err)
return console.log(err);
console.log("The file was saved!");
loadFile()
});
console.log(net0.toJSON())
}
function loadFile(){
fs.readFile('network.json', function (err, data) {
if (err)
throw err;
console.log(data.layers);
net0.fromJSON(data);
console.log("file loaded");
});
}
Run Code Online (Sandbox Code Playgroud)
正在保存的 json 文件的内容
[object Object]
Run Code Online (Sandbox Code Playgroud)
小智 5
我相信您需要为要写入的数据传递一个字符串fs.writeFile
。所以 JSON.stringify() 你传入的数据。
function saveFile(){
fs.writeFile("network.json", JSON.stringify(net0.toJSON()), function(err) {
if(err)
return console.log(err);
console.log("The file was saved!");
loadFile()
});
}
Run Code Online (Sandbox Code Playgroud)
不要忘记,你将不得不在 fs.readFile() 之后对数据进行 JSON.parse
var obj = JSON.parse(fs.readFileSync('network.json', 'utf8'));
Run Code Online (Sandbox Code Playgroud)
或者您可以使用此节点模块将 json 保存到文件:https : //github.com/jprichardson/node-jsonfile