在 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') );
希望对您有所帮助
我使用 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') );
希望对您有所帮助