在 node.js 中导入神经网络(突触)

Importing neural network in node.js (synaptic)

我使用 node.js/synaptic 并想要 save/import 训练有素的网络。我发现 here 我可以通过

保存我的网络
var standalone = myNetwork.standalone();

var standalone = myNetwork.toJSON();

我使用下面的代码导出它

fs.writeFile("./exported.js", standalone, function(err) {
if(err) {
    return console.log(err);
}

console.log("The file was saved!");

});

导出的文件如下所示:

function (input) {
F = {
0: 0,
1: 1,
7: 0.0014116593126537414,
2: 3.596792839201632,
3: -6.56157679237169,
4: 0.9270641863334851,
5: 2.6804007136091412,
6: -7.488640978705175,
8: 0.0014096665306387395,
14: 0.9735501068596871,
9: -6.581289638080665,
10: 3.6056971760921814,
11: 0.90400906009467,
12: -7.485852355023438,
13: 2.7016881159975115,
15: 0.025750296293178904,
21: 0.05645764940459668,
16: -2.7936895640563675,
17: -2.8161504614692587,
18: -8.094384439882408,
19: 5.277628422194746,
20: 5.278233978413149,
22: 0.053270183228304326
};
F[0] = input[0];
F[1] = input[1];
F[2] = F[3];F[3] = F[4];F[3] += F[0] * F[5];F[3] += F[1] * F[6];F[7] = (1 / (1 + Math.exp(-F[3])));F[8] = F[7] * (1 - F[7]);
F[9] = F[10];F[10] = F[11];F[10] += F[0] * F[12];F[10] += F[1] * F[13];F[14] = (1 / (1 + Math.exp(-F[10])));F[15] = F[14] * (1 - F[14]);
F[16] = F[17];F[17] = F[18];F[17] += F[0] * F[19];F[17] += F[1] * F[20];F[21] = (1 / (1 + Math.exp(-F[17])));F[22] = F[21] * (1 - F[21]);
var output = [];
output[0] = F[7];
output[1] = F[14];
output[2] = F[21];
return output;
}

要导入它,我发现我应该使用 require 方法。但是 运行 简单文件

var imp=require('./exported.js')

报错

Unexpected token (

好的,您的 exported.js 必须实际导出一些东西供您使用。 将您的 exported.js 文件更改为如下内容:

module.exports = exports = function ( input ) {
    F = { something: input };
    // this is where all your content of your original exported.js goes

    return F;
}

然后在您的代码中,当您需要文件时,您可以 运行 函数。

const imp = require('./exported.js');

console.log( imp('test') );

希望对您有所帮助