Powerful Neural Network for Node.js

Overview

NeuralN

Powerful Neural Network for Node.js

NeuralN is a C++ Neural Network library for Node.js with multiple advantages compared to existing solutions:

  • Works with extra large datasets (>1Go allowed by nodejs)
  • Multi-Threaded training available.

Large datasets

With Node.js and the V8, it is not possible to work with large datasets since the maximum allowed memory is around 512MB for 32-bits machines and 1GB for 64-bits machines. When you are working with datasets of several gigabytes, it quickly becomes difficult to train you network with all your data.

NeuralN allows you to use datasets as big as your memory can contain.

Multi-Threaded

Working with large datasets increases the performances of your final network, but the learning phase can sometimes take up to several days or even weeks to obtain good results.

With the multi-threaded training method of NeuralN, you can significantly reduce the duration of the learning phase, by training your network simultaneously on different parts of your dataset. The results of each iteration are then combined.

Install

npm install neuraln

How it works

var NeuralN = require('neuraln');

/* Create a neural network with 4 layers (2 hidden layers) */
var network = new NeuralN([ 1, 4, 3, 1 ]);

/* Add points to the training set */
for(var i = -1; i < 1; i+=0.1) {
  network.train_set_add([ i ], [ Math.abs(Math.sin(i)) ]);
}

/* Train the network with one of the two available methods */
/* monothread (blocking) vs multithread (non-blocking)     */
network.train({
  target_error: 0.01,
  iterations: 20000,

  multithread: true,
  /* Relevant only when multithread is true: */
  step_size: 100,
  threads: 4
}, function(err) {

});

/* Run */
var result = network.run([ (Math.random() * 2) - 1 ]);

/* Retrieve the network's string representation */
var string = network.to_string();

/* Retrieve the network's state string */
var state = network.get_state();

Instantiation & Methods

var network = new NeuralN(layers, momentum, learning_rate, bias);
var network = new NeuralN(network_string);

Instantiate a new network with the following parameters:

  • layers is an array representing the layers of the network
  • momentum is a number between 0 and 1. This parameter is optional and defaults to 0.3
  • learning_rate is a number. This parameter is optional and defaults to 0.1
  • bias is a number. This parameter is optional and defaults to -1

Or

  • network_string a string from a previous network (using to_string)
network.train_set_add(input, output);

Add a training data point with input and output being arrays of numbers. input and output must contain as many values as the number of neurons of the first and last layers

network.train([options, ]callback);

Train the network with the training set until the target_error or the max_iterations has been reached. The options are optional parameters:

  • target_error: 0.01
  • iterations: 20000
  • multithread is a boolean, which defaults to false.
  • step_size represents the number of points of the training set to use by thread at each iteration. Default to 100 (only with multithread: true)
  • threads represents the number of threads to be used for the training. Default to 4 (only with multithread: true)
  • callback(err) is called once the training is done.

All these parameters are optional except for the callback

network.run(input)

Runs the given input throught the network and returns its output

network.to_string()

Returns a string representation of the network in order to save and reload it later

network.get_state()

Returns a string representation of each neuron of the network. It allows you to understand which entrance neurons most impacted the final result.

network.to_json();

// Example:
{ layers: [ 1, 4, 3, 1 ],
  momentum: 0.3,
  learning_rate: 0.1,
  bias: -1,
  biases:
   [ [],
     [ -0.00000901958, -0.00000414136, 0.00000156238, -0.00000275219 ],
     [ 0.000125352, 0.000145129, 0.000285706 ],
     [ -0.00914877 ] ],
  weights:
   [ [],
     [ [ 0.218714 ], [ 0.285424 ], [ 0.236087 ], [ 0.329174 ] ],
     [ [ 0.0541952, -0.057953, -0.0293854, 0.030311 ],
       [ -0.106412, -0.0125738, 0.0167244, -0.117874 ],
       [ -0.0977025, -0.0275803, 0.0262269, 0.00674729 ] ],
     [ [ -0.0480921, -0.0574143, -0.118449 ] ] ] }

Returns a json representation of the network. This is not recommended when the network structure gets big.

network.get_state_json();

// Example:
{ layers: [ 1, 4, 3, 1 ],
  values:
   [ ,
     [ [ 0.978927 ], [ 1.10844 ], [ 0.926947 ], [ 0.974797 ] ],
     [ [ 2.39933, -2.49017, -5.58942, 3.32711 ],
       [ -2.09446, -0.193907, 1.53176, -2.44019 ],
       [ -2.62491, -0.0477072, 2.40908, -3.03165 ] ],
     [ [ 1.38492, -0.294276, -0.362479 ] ] ] }

Returns a json representation of the network's state. This is not recommended when the network structure gets big.

Contact us

Feel free to contact us at [email protected]

License

Distributed under the MIT License.

Copyright Teleportd Ltd. and other Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You might also like...

general natural language facilities for node

natural "Natural" is a general natural language facility for nodejs. It offers a broad range of functionalities for natural language processing. Docum

Jan 9, 2023

Machine-learning for Node.js

Limdu.js Limdu is a machine-learning framework for Node.js. It supports multi-label classification, online learning, and real-time classification. The

Dec 16, 2022

Run XGBoost model and make predictions in Node.js

XGBoost-Node eXtreme Gradient Boosting Package in Node.js XGBoost-Node is a Node.js interface of XGBoost. XGBoost is a library from DMLC. It is design

Nov 15, 2022

Machine Learning library for node.js

Machine Learning library for node.js

shaman Machine Learning library for node.js Linear Regression shaman supports both simple linear regression and multiple linear regression. It support

Feb 26, 2021

Bayesian bandit implementation for Node and the browser.

#bayesian-bandit.js This is an adaptation of the Bayesian Bandit code from Probabilistic Programming and Bayesian Methods for Hackers, specifically d3

Aug 19, 2022

Latent Dirichlet allocation (LDA) topic modeling in javascript for node.js.

LDA Latent Dirichlet allocation (LDA) topic modeling in javascript for node.js. LDA is a machine learning algorithm that extracts topics and their rel

Nov 4, 2022

Simple Javascript implementation of the k-means algorithm, for node.js and the browser

#kMeans.js Simple Javascript implementation of the k-means algorithm, for node.js and the browser ##Installation npm install kmeans-js ##Example (JS)

Aug 19, 2022

Clustering algorithms implemented in Javascript for Node.js and the browser

Clustering.js ####Clustering algorithms implemented in Javascript for Node.js and the browser Examples License Copyright (c) 2013 Emil Bay github@tixz

Aug 19, 2022

architecture-free neural network library for node.js and the browser

architecture-free neural network library for node.js and the browser

Synaptic Important: Synaptic 2.x is in stage of discussion now! Feel free to participate Synaptic is a javascript neural network library for node.js a

Dec 27, 2022

FANN (Fast Artificial Neural Network Library) bindings for Node.js

node-fann node-fann is a FANN bindings for Node.js. FANN (Fast Artificial Neural Network Library) is a free open source neural network library, which

Oct 31, 2022

[UNMAINTAINED] Simple feed-forward neural network in JavaScript

This project has reached the end of its development as a simple neural network library. Feel free to browse the code, but please use other JavaScript

Dec 26, 2022

A neural network library built in JavaScript

A neural network library built in JavaScript

A flexible neural network library for Node.js and the browser. Check out a live demo of a movie recommendation engine built with Mind. Features Vector

Dec 31, 2022

Deep Neural Network Sandbox for JavaScript.

Deep Neural Network Sandbox for JavaScript.

Deep Neural Network Sandbox for Javascript Train a neural network with your data & save it's trained state! Demo • Installation • Getting started • Do

Jan 4, 2023

Visualizer for neural network, deep learning, and machine learning models

Visualizer for neural network, deep learning, and machine learning models

Netron is a viewer for neural network, deep learning and machine learning models. Netron supports ONNX, TensorFlow Lite, Caffe, Keras, Darknet, Paddle

Jan 5, 2023

Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

May 18, 2022

Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

May 3, 2022

Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

Jan 3, 2023

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Dec 9, 2022

🤖 GPU accelerated Neural networks in JavaScript for Browsers and Node.js

🤖 GPU accelerated Neural networks in JavaScript for Browsers and Node.js

brain.js GPU accelerated Neural networks in JavaScript for Browsers and Node.js About brain.js is a GPU accelerated library for Neural Networks writte

Jan 7, 2023
Comments
  • Compile error when installing on Windows

    Compile error when installing on Windows

    Thank you for nice library for Nodejs! But I faced to the compile error when installing. My platform is Windows7/32bit. (I already have Python2.7 and Visual Studio, node-gyp is installed fine).

    <my_visual_studio_path>\VC\include\xlocale(337): warning C4530: 
    C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(452): error C2057: expected constant expression 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(452): error C2466: cannot allocate an array of constant size 0 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(452): error C2133: 'nns' : unknown size 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(474): error C2057: expected constant expression 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(474): error C2466: cannot allocate an array of constant size 0 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(474): error C2133: 'nns_ids' : unknown size 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(475): error C2057: expected constant expression 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(475): error C2466: cannot allocate an array of constant size 0 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    ..\lib\nn.cc(475): error C2133: 'workers' : unknown size 
    [<my_project_path>\node_modules\neuraln\build\nn.vcxproj]
    
    opened by icoxfog417 0
  • Cant install using upstream Node version

    Cant install using upstream Node version

    Errors installing:

    Quintons-MacBook-Pro:statkit qrpike$ npm install neuraln
    ▌ ╢░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
    WARN engine [email protected]: wanted: {"node":"v0.10.x"} (current: {"node":"5.3.0","npm":"3.5.2"})
    
    > [email protected] install /Users/qrpike/code/statkit/node_modules/neuraln
    > node-gyp rebuild
    
      CXX(target) Release/obj.target/nn/lib/nn.o
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:38:19: error: expected class name
    class NN : public ObjectWrap {
                      ^
    ../lib/nn.hh:143:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> New(const Arguments& args);
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:144:42: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> TrainSetAdd(const Arguments& args);
                                             ^~~~~~~~~
                                             v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:145:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> Train(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:146:38: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> MTTrain(const Arguments& args);
                                         ^~~~~~~~~
                                         v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:147:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> Run(const Arguments& args);
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:148:39: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> ToString(const Arguments& args);
                                          ^~~~~~~~~
                                          v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:149:39: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> GetState(const Arguments& args);
                                          ^~~~~~~~~
                                          v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:150:37: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
      static Handle<Value> SetLog(const Arguments& args);
                                        ^~~~~~~~~
                                        v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:701:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
    Handle<Value> NN::ToString(const Arguments& args) {
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:702:15: error: calling a protected constructor of class 'v8::HandleScope'
      HandleScope scope;
                  ^
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:889:13: note: declared protected here
      V8_INLINE HandleScope() {}
                ^
    ../lib/nn.cc:705:12: error: use of undeclared identifier 'ObjectWrap'
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
               ^
    ../lib/nn.cc:705:31: error: 'NN' does not refer to a value
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
                                  ^
    ../lib/nn.hh:38:7: note: declared here
    class NN : public ObjectWrap {
          ^
    ../lib/nn.cc:705:39: error: member access into incomplete type 'const v8::internal::Arguments'
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
                                          ^
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: forward declaration of 'v8::internal::Arguments'
    class Arguments;
          ^
    ../lib/nn.cc:708:47: error: no member named 'New' in 'v8::String'
      v8::Handle<v8::String> result = v8::String::New(nn->to_string().c_str());
                                      ~~~~~~~~~~~~^
    ../lib/nn.cc:710:16: error: no member named 'Close' in 'v8::HandleScope'
      return scope.Close(result);
             ~~~~~ ^
    ../lib/nn.cc:716:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
    Handle<Value> NN::GetState(const Arguments& args) {
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:717:15: error: calling a protected constructor of class 'v8::HandleScope'
      HandleScope scope;
                  ^
    /Users/qrpike/.node-gyp/5.3.0/include/node/v8.h:889:13: note: declared protected here
      V8_INLINE HandleScope() {}
                ^
    ../lib/nn.cc:720:12: error: use of undeclared identifier 'ObjectWrap'
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
               ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    make: *** [Release/obj.target/nn/lib/nn.o] Error 1
    
    opened by qrpike 0
  • Fixed code for iojs v2.3.1 (don't merge yet) Fixes #6

    Fixed code for iojs v2.3.1 (don't merge yet) Fixes #6

    I created a pull request to update the code for current io.js version.

    I can compile it with iojs 2.3.1 on my Mac machine, unfortunately I don't have access to any other system right now.

    One thing I couldn't fix is the callback execution in the multithreaded training scenario (Line 1062 and 1069). I don't know what's wrong with the implementation. There is no error, but the callback doesn't get executed.

    Maybe somebody else with more experience can look at this portion and maybe fix it.

    opened by ghost 0
  • Cannot install module (error while compilation) with io.js

    Cannot install module (error while compilation) with io.js

    I get a lot of errors when trying to install the package. Is this a io.js <-> node.js compatibility issue?

    > node-gyp rebuild
    
      CXX(target) Release/obj.target/nn/lib/nn.o
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:38:19: error: expected class name
    class NN : public ObjectWrap {
                      ^
    ../lib/nn.hh:143:34: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> New(const Arguments& args);
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:144:42: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> TrainSetAdd(const Arguments& args);
                                             ^~~~~~~~~
                                             v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:145:36: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> Train(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:146:38: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> MTTrain(const Arguments& args);
                                         ^~~~~~~~~
                                         v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:147:34: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> Run(const Arguments& args);
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:148:39: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> ToString(const Arguments& args);
                                          ^~~~~~~~~
                                          v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:149:39: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> GetState(const Arguments& args);
                                          ^~~~~~~~~
                                          v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    In file included from ../lib/nn.cc:22:
    ../lib/nn.hh:150:37: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
      static Handle<Value> SetLog(const Arguments& args);
                                        ^~~~~~~~~
                                        v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:701:34: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
    Handle<Value> NN::ToString(const Arguments& args) {
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:702:15: error: calling a protected constructor of class
          'v8::HandleScope'
      HandleScope scope;
                  ^
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:869:13: note: declared
          protected here
      V8_INLINE HandleScope() {}
                ^
    ../lib/nn.cc:705:12: error: use of undeclared identifier 'ObjectWrap'
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
               ^
    ../lib/nn.cc:705:31: error: 'NN' does not refer to a value
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
                                  ^
    ../lib/nn.hh:38:7: note: declared here
    class NN : public ObjectWrap {
          ^
    ../lib/nn.cc:705:39: error: member access into incomplete type 'const
          v8::internal::Arguments'
      NN* nn = ObjectWrap::Unwrap<NN>(args.This());
                                          ^
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: forward
          declaration of 'v8::internal::Arguments'
    class Arguments;
          ^
    ../lib/nn.cc:708:35: error: no member named 'New' in 'v8::String'; did you mean
          simply 'New'?
      v8::Handle<v8::String> result = v8::String::New(nn->to_string().c_str());
                                      ^~~~~~~~~~~~~~~
                                      New
    ../lib/nn.hh:143:24: note: 'New' declared here
      static Handle<Value> New(const Arguments& args);
                           ^
    ../lib/nn.cc:708:51: error: reference to type 'const v8::internal::Arguments'
          could not bind to an rvalue of type 'const char *'
      v8::Handle<v8::String> result = v8::String::New(nn->to_string().c_str());
                                                      ^~~~~~~~~~~~~~~~~~~~~~~
    ../lib/nn.hh:143:45: note: passing argument to parameter 'args' here
      static Handle<Value> New(const Arguments& args);
                                                ^
    ../lib/nn.cc:710:16: error: no member named 'Close' in 'v8::HandleScope'
      return scope.Close(result);
             ~~~~~ ^
    ../lib/nn.cc:716:34: error: unknown type name 'Arguments'; did you mean
          'v8::internal::Arguments'?
    Handle<Value> NN::GetState(const Arguments& args) {
                                     ^~~~~~~~~
                                     v8::internal::Arguments
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 
          'v8::internal::Arguments' declared here
    class Arguments;
          ^
    ../lib/nn.cc:717:15: error: calling a protected constructor of class
          'v8::HandleScope'
      HandleScope scope;
                  ^
    /Users/Johannes/.node-gyp/2.2.1/deps/v8/include/v8.h:869:13: note: declared
          protected here
      V8_INLINE HandleScope() {}
                ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    make: *** [Release/obj.target/nn/lib/nn.o] Error 1
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
    gyp ERR! stack     at emitTwo (events.js:87:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:199:12)
    gyp ERR! System Darwin 14.3.0
    gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /Users/Johannes/Documents/Development/holmes/node_modules/neuraln
    gyp ERR! node -v v2.2.1
    gyp ERR! node-gyp -v v1.0.3
    gyp ERR! not ok 
    npm ERR! Darwin 14.3.0
    npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install" "neuraln" "--save-dev"
    npm ERR! node v2.2.1
    npm ERR! npm  v2.11.0
    npm ERR! code ELIFECYCLE
    
    npm ERR! [email protected] install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
    npm ERR! This is most likely a problem with the neuraln package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node-gyp rebuild
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls neuraln
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /Users/Johannes/Documents/Development/holmes/npm-debug.log
    
    opened by ghost 8
Owner
TOTEMS::Tech
TOTEMS::Tech
FANN (Fast Artificial Neural Network Library) bindings for Node.js

node-fann node-fann is a FANN bindings for Node.js. FANN (Fast Artificial Neural Network Library) is a free open source neural network library, which

Alex Kocharin 186 Oct 31, 2022
[UNMAINTAINED] Simple feed-forward neural network in JavaScript

This project has reached the end of its development as a simple neural network library. Feel free to browse the code, but please use other JavaScript

Heather 8k Dec 26, 2022
A neural network library built in JavaScript

A flexible neural network library for Node.js and the browser. Check out a live demo of a movie recommendation engine built with Mind. Features Vector

Steven Miller 1.5k Dec 31, 2022
Deep Neural Network Sandbox for JavaScript.

Deep Neural Network Sandbox for Javascript Train a neural network with your data & save it's trained state! Demo • Installation • Getting started • Do

Matias Vazquez-Levi 420 Jan 4, 2023
Visualizer for neural network, deep learning, and machine learning models

Netron is a viewer for neural network, deep learning and machine learning models. Netron supports ONNX, TensorFlow Lite, Caffe, Keras, Darknet, Paddle

Lutz Roeder 21k Jan 5, 2023
Deep Learning in Javascript. Train Convolutional Neural Networks (or ordinary ones) in your browser.

ConvNetJS ConvNetJS is a Javascript implementation of Neural networks, together with nice browser-based demos. It currently supports: Common Neural Ne

Andrej 10.4k Dec 31, 2022
DN2A - Digital Neural Networks Architecture

DN2A (JavaScript) Digital Neural Networks Architecture About DN2A is a set of highly decoupled JavaScript modules for Neural Networks and Artificial I

Antonio De Luca 464 Jan 1, 2023
A lightweight library for neural networks that runs anywhere

Synapses A lightweight library for neural networks that runs anywhere! Getting Started Why Sypapses? It's easy Add one dependency to your project. Wri

Dimos Michailidis 65 Nov 9, 2022
DN2A - Digital Neural Networks Architecture

DN2A (JavaScript) Digital Neural Networks Architecture About DN2A is a set of highly decoupled JavaScript modules for Neural Networks and Artificial I

Antonio De Luca 464 Jan 1, 2023
DN2A - Digital Neural Networks Architecture in JavaScript

DN2A (JavaScript) Digital Neural Networks Architecture About DN2A is a set of highly decoupled JavaScript modules for Neural Networks and Artificial I

Antonio De Luca 464 Jan 1, 2023