不能 运行 brain.js 与 json 文件

Can't run brain.js with json file

尝试从 JSON 加载网络导致以下错误

Error: Sizes must be set before initializing.

我的js代码:

let brain = require('brain.js');
let fs = require('fs');
let fileContent = fs.readFileSync("network.j
son", "utf8");
const net = new brain.NeuralNetwork();
console.log(fileContent);
net.fromJSON(fileContent);
console.log(net.run([1,0]));

如果我只是要求输出 json 到控制台,那么一切正常,如果我在代码中创建

let json = {...};

一切正常,但是当我尝试从 Json 文件加载时,出现错误

fs.readFileSync returns 根据 https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options

的字符串

fs.readFileSync(path[, options])#

path string | Buffer | URL | integer filename or file descriptor

options Object | string

encoding string | null Default: null

Returns: string | Buffer

因此,您需要将您的 fileContent 传递给 JSON.parse 来解析您的 JSON 字符串,fs.readFileSync 的结果,到 JavaScript 值或使用 net.fromJSON 之前的对象,例如


let fileContent = fs.readFileSync("network.json", "utf8");
let fileContentJSON = JSON.parse(fileContent);
const net = new brain.NeuralNetwork();

net.fromJSON(fileContentJSON);