Current collected state Current
Observed since 20 Oct, 19:49 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
3net.js
A simple library for implementing 3 layer neural networks
A simple library for implementing 3 layer neural networks
var three_net = require('3net.js'); // Install with 'npm install 3net.js'
var inputLayer = 400;
var hiddenLayer = 25;
var outputLayer = 10;
var neuron = "rectifier"; // The activation function. Can be "rectifier", "sigmoid", or "tanh"
//If neuron is not specified, the default sigmoid will be used
var net = three_net.createNet(inputLayer, hiddenLayer, outputLayer, neuron);
// If options is not specified, the default values will be used.
options = {
"learning_rate": 0.3, // Learning rate for gradient descent. The default is 0.5
"dropconnect": 0.5, // DropConnect parameter to prevent overfitting. Must be a value between 0 and 1. It represents the chance that a weight will be randomly set to 0 during training. The default is 0
"regularization": 0.3, // L2 regularization parameter to prevent overfitting. The default is 0
};
// Data and label must be an array matching the dimensions of the input layer and output layer
var success = net.train(data, label, options);
//Returns true if training was successful
if (success) console.log("training complete");
// If options is not specified, the default values will be used.
options = {
"iters": 100, // Maximum amount of time stochastic gradient descent will run. The default is 1000
"learning_rate": 0.5, // Learning rate for gradient descent. The default is 0.5
"regularization": 1, // L2 regularization parameter to prevent overfitting. The default is 0
"dropconnect": 0.5, // DropConnect parameter to prevent overfitting. Must be a value between 0 and 1. It represents the chance that a weight will be randomly set to 0 during training. The default is 0
"change_cost": 0.00001, // If the change in cross entropy cost between iterations is less than this, the net will stop training. The default is 0.00001
};
// Data and label are arrays containing the training set
var success = net.trainSet(dataset, labels, options);
//Returns true if training was successful
if (success) console.log("training complete");
net.predict(data); // Returns an array with the output layer activations
var savedNet = net.exportNet(); // Exports as JSON
var copiedNet = three_net.importNet(savedNet); // Imports from JSON
var three_net = require('3net.js');
var net = three_net.createNet(2, 3, 1);
inputs = [[0, 0], [0, 1], [1, 0], [1, 1]];
labels = [[0], [1], [1], [0]];
// Uses default options since it is not specified
net.trainSet(inputs, labels);
console.log(net.predict([1, 1])); // Outputs 0.020773462753469724
console.log(net.predict([1, 0])); // Outputs 0.9836636258293651
// Output values be slightly different when you try it because of random intialization
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
mathjsEnvironment{
"local_name": "mathjs",
"alias": false,
"peer_metadata": null
} | ^2.1.1 | runtime |
Source distribution
{
"shasum": "fb125148cf10a0b16d1438bbe73ab147ef2eb84c",
"tarball": "https://registry.npmjs.org/3net.js/-/3net.js-0.2.2.tgz",
"integrity": "sha512-roRTt0v+UVoa7vsh+Spf3YVuWseOGmKycj2+avasXfnMKydGxufvIhxBJ/K7Y017uC7whJuDpuER35Rf1vsGFA==",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEUCICPlFKAyxjIgpNadOjoPlOnN2pYppNTAE0yKFM73i4a6AiEAyOfqBEmKihjDGzM3DILGpYGJt84g2Q9RCIlvWYFy140="
}
]
}Observed since 20 Oct, 19:49 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:613cc2f83e1de37a8fd8b2dcfdfcaca3bb67f00d317ef7cf6d8682bc49e44673