Run Keras models in the browser, with GPU support using WebGL

Overview

**This project is no longer active. Please check out TensorFlow.js.**
The Keras.js demos still work but is no longer updated.

Run Keras models in the browser, with GPU support using WebGL



Run Keras models in the browser, with GPU support provided by WebGL 2. Models can be run in Node.js as well, but only in CPU mode. Because Keras abstracts away a number of frameworks as backends, the models can be trained in any backend, including TensorFlow, CNTK, etc.

Library version compatibility: Keras 2.1.2

Interactive Demos

Check out the demos/ directory for real examples running Keras.js in VueJS.

  • Basic Convnet for MNIST
  • Convolutional Variational Autoencoder, trained on MNIST
  • Auxiliary Classifier Generative Adversarial Networks (AC-GAN) on MNIST
  • 50-layer Residual Network, trained on ImageNet
  • Inception v3, trained on ImageNet
  • DenseNet-121, trained on ImageNet
  • SqueezeNet v1.1, trained on ImageNet
  • Bidirectional LSTM for IMDB sentiment classification

Documentation

MIT License

Comments
  • Error: [Model] error loading weights.

    Error: [Model] error loading weights.

    I'm running the latest Keras JS on a trained Keras model. Following the instructions given on the README, I tested loading my model before training (random initialized weights) and it works.

    However, after I perform training and use the exact same way to called model.save_weights, Keras JS is unable to read the model file. When trying to parse the metadata, it gives [Model] error loading weights.

    Any insight into why this would happen?

    opened by calclavia 10
  • Multi-dimensional Sequential Inputs  / unflattened float32 arrays

    Multi-dimensional Sequential Inputs / unflattened float32 arrays

    This library appears to be focused on the Model structure, which is okay, but most of my trained networks are in Sequential form. Specifically LSTM Sequentials.

    LSTM Sequentials generally expect a three-dimensional input (batchSize, X,Y). However this repo requires there to be only one flattened input for Sequential, named "input". Has anyone found a good way to convert Sequentials to a Model or a way around this?

    I would like to just do prediction in javascript. That means the model shouldn't even need to be compiled, so maybe I can just hack something together myself.

    opened by LRonHubs 9
  • Error loading demo model (

    Error loading demo model ("RangeError: Invalid typed array length")

    Hi, I am trying to load the mnist_vae model weights demo with the following html:

    <html>
    <head>
      <meta charset="utf-8">
      <script language="javascript" type="text/javascript" src="scripts/lib/keras.js"></script>
    </head>
    <body>
      <script language="javascript" type="text/javascript">
    	  const model = new KerasJS.Model({
    	  filepaths: {
    	    model: 'static/model/mnist_vae.json',
    	    weights: 'static/model/mnist_vae_weights.buf',
    	    metadata: 'static/model/mnist_vae_metadata.json'
    	  },
    	  gpu: false
    	});
      </script>
    </body>
    </html>
    

    This is the error I get in Chrome:

    RangeError: Invalid typed array length
        at new Float32Array (native)
        at http://0.0.0.0:8000/scripts/lib/keras.js:4:18505
        at Array.map (native)
        at http://0.0.0.0:8000/scripts/lib/keras.js:4:18250
        at Array.forEach (native)
        at t.value (http://0.0.0.0:8000/scripts/lib/keras.js:4:16687)
        at http://0.0.0.0:8000/scripts/lib/keras.js:4:15092
    From previous event:
        at t.value (http://0.0.0.0:8000/scripts/lib/keras.js:4:15067)
        at new t (http://0.0.0.0:8000/scripts/lib/keras.js:4:14730)
        at http://0.0.0.0:8000/keras.html:8:18
    

    I get a similar error in Firefox that begins with:

    Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
    RangeError: attempting to construct out-of-bounds TypedArray on ArrayBuffer
    Stack trace:
    [...]
    

    Any ideas what might be going wrong?

    opened by mobeets 7
  • Weights have been permuted for Convolution1D

    Weights have been permuted for Convolution1D

    I noticed an error building Convolutional1D layer in js when the input has 1 feature layer. I added a failing test for it to this fork, so that it can be easily reproduced.

    Here is the error reported at localhost:3000/test (all other tests pass)

    Error: cwise: Arrays do not all have the same shape!
        at assign_cwise_thunk (eval at createThunk (eval at <anonymous> (http://localhost:3000/dist/keras.js:2858:1)), <anonymous>:8:71)
        at Object.assign_ndarrayops [as assign] (eval at makeOp (eval at <anonymous> (http://localhost:3000/dist/keras.js:108:1)), <anonymous>:3:43)
        at Convolution2D._w2row (eval at <anonymous> (http://localhost:3000/dist/keras.js:493:1), <anonymous>:274:30)
        at Convolution2D.setWeights (eval at <anonymous> (http://localhost:3000/dist/keras.js:493:1), <anonymous>:126:12)
        at Convolution1D.setWeights (eval at <anonymous> (http://localhost:3000/dist/keras.js:1355:1), <anonymous>:103:20)
        at r.<anonymous> (convolutional/Convolution1D.js:61:19)
        at r (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:7852)
        at r.run (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:8853)
        at i.runTest (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:13553)
        at https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:14192
        at r (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:13024)
        at https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:13000
        at n (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:12791)
        at https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:2:12855
        at i (https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.min.js:1:559)
    
    opened by wassname 7
  • Conv1D layer: check for legacy shape of weights

    Conv1D layer: check for legacy shape of weights

    Keras changed the ordering of the weights (see https://github.com/fchollet/keras/commit/9f6acd960c0a0c699c79ca1d571783e1692568fb and https://github.com/fchollet/keras/commit/305b3bed747bb8dd358cf82d11bcb1aee5b6e517).

    This will only transpose the weights if in legacy format. Fixes issue #22.

    opened by stekaiser 6
  • Fira sans is broken in Chrome and Firefox on Linux

    Fira sans is broken in Chrome and Firefox on Linux

    On Debian testing at least but probably on other distros as well. Could be also broken on Mac, the issue with Fira sans was revealed in habrahabr.ru redesign (worked fine on Windows but was totally invisible on Mac/Linux). It looks like this: 2016-12-07_21-01-23 Disabling font-family in body reveals the text. Please replace the font with the working version.

    opened by rkfg 4
  • Demo is not working

    Demo is not working

    webgl.js:56Uncaught TypeError: Cannot read property 'getShaderPrecisionFormat' of null keras.js:4 Uncaught TypeError: Cannot read property 'getParameter' of null bundle.js:15n @ bundle.js:1(anonymous function) @ bundle.js:1(anonymous function) @ bundle.js:1

    screen shot 2016-10-16 at 12 17 16

    opened by AlexanderKozhevin 4
  • Can not initiate model in nodejs with demo models

    Can not initiate model in nodejs with demo models

    Hi

    I am trying to predict on the IMDB bidrectional LSTM demo in NodeJS, so I have this code:

    const KerasJS = require('keras-js');
    const model = new KerasJS.Model({
        filepaths: {
            model: 'imdb_bidirectional_lstm.json',
            weights: 'imdb_bidirectional_lstm_weights.buf',
            metadata: 'imdb_bidirectional_lstm_metadata.json'
        },
        filesystem: true
    });
    

    When I run this, it throws this error:

    RangeError: Invalid typed array length at Float32Array (native) at D:\development\webserving\node_modules\core-js\modules_typed-array.js:416:15 at new Float32Array (D:\development\webserving\node_modules\core-js\modules\es6.typed.float32-array.js:3:12) at D:\development\webserving\node_modules\keras-js\lib\Model.js:465:30 at Array.map (native) at D:\development\webserving\node_modules\keras-js\lib\Model.js:433:37 at Array.forEach (native) at Model._createLayers (D:\development\webserving\node_modules\keras-js\lib\Model.js:352:19) at D:\development\webserving\node_modules\keras-js\lib\Model.js:195:15 at tryCatcher (D:\development\webserving\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (D:\development\webserving\node_modules\bluebird\js\release\promise.js:512:31) at Promise._settlePromise (D:\development\webserving\node_modules\bluebird\js\release\promise.js:569:18) at Promise._settlePromise0 (D:\development\webserving\node_modules\bluebird\js\release\promise.js:614:10) at Promise._settlePromises (D:\development\webserving\node_modules\bluebird\js\release\promise.js:693:18) at Promise._fulfill (D:\development\webserving\node_modules\bluebird\js\release\promise.js:638:18) at PromiseArray._resolve (D:\development\webserving\node_modules\bluebird\js\release\promise_array.js:126:19)

    Any idea what I am doing wrong here?

    Thanks :-)

    opened by spec2e 3
  • simply importing keras.js results in

    simply importing keras.js results in "Uncaught SyntaxError: Invalid regular expression"

    Hi transcranial, I just wanted to write a simple web page to import keras-js. After cloning this repo, I create a file test.html containing the following codes:

    <html>
    <head>
    <title>keras-js test</title>
    
    <script src="dist/keras.js"></script>
    
    <script type="text/javascript">
    
    function periodic() {
      var d = document.getElementById('egdiv');
      d.innerHTML = 'Random number: ' + Math.random()
    }
    
    var net; // declared outside -> global variable in window scope
    function start() {
    
      setInterval(periodic, 500);
    }
    
    }
    </script>
    </head>
    
    <body onload="start()">
    
    <div id="egdiv"></div>
    
    </body>
    </html>
    
    

    Then I dragged this file into my Chrome browser, but in the console I received the following error:

    Uncaught SyntaxError: Invalid regular expression: /[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]/: Range out of order in character class
        at new RegExp (<anonymous>)
        at Object.<anonymous> (keras.js:31478)
        at keras.js:31221
        at Object.e.read.s (keras.js:31221)
        at e (keras.js:1)
        at Object.<anonymous> (keras.js:31221)
        at Object.o (keras.js:31221)
        at e (keras.js:1)
        at Object.<anonymous> (keras.js:1)
        at e (keras.js:1)
        at Object.<anonymous> (keras.js:1)
        at e (keras.js:1)
        at Object.t.__esModule.default (keras.js:10644)
        at e (keras.js:1)
        at Object.t.__esModule.default (keras.js:10644)
        at e (keras.js:1)
    

    Can you tell me why this happened and how to deal with it?

    Best wishes, Yiming

    opened by yiminglin-ai 3
  • Error when call model.predict

    Error when call model.predict

    It's saying that there are a token |= but my code only has one file index.html and it has no such symbol. What is the cause here?

    SyntaxError: Unexpected token |=
        at new Function (<anonymous>)
        at u (https://off99555.github.io/HoNNeT/keras-js/keras.js:13:8807)
        at assigns_cwise_thunk (eval at r (https://off99555.github.io/HoNNeT/keras-js/keras.js:13:10619), <anonymous>:7:29)
        at Object.assigns_ndarrayops [as assigns] (eval at i (https://off99555.github.io/HoNNeT/keras-js/keras.js:1:6744), <anonymous>:3:44)
        at e.value (https://off99555.github.io/HoNNeT/keras-js/keras.js:7:19739)
        at e.value (https://off99555.github.io/HoNNeT/keras-js/keras.js:7:21879)
        at t.value (https://off99555.github.io/HoNNeT/keras-js/keras.js:4:15902)
        at t.<anonymous> (https://off99555.github.io/HoNNeT/keras-js/keras.js:4:16786)
        at o (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:7592)
        at Generator._invoke (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:9001)
        at Generator.t.(anonymous function) [as next] (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:7771)
        at Generator.i (https://off99555.github.io/HoNNeT/keras-js/keras.js:11:1532)
        at u._promiseFulfilled (https://off99555.github.io/HoNNeT/keras-js/keras.js:9:22799)
        at t.<anonymous> (https://off99555.github.io/HoNNeT/keras-js/keras.js:9:24615)
    From previous event:
        at t (https://off99555.github.io/HoNNeT/keras-js/keras.js:4:15972)
        at t.<anonymous> (https://off99555.github.io/HoNNeT/keras-js/keras.js:4:18474)
        at o (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:7592)
        at Generator._invoke (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:9001)
        at Generator.t.(anonymous function) [as next] (https://off99555.github.io/HoNNeT/keras-js/keras.js:16:7771)
    From previous event:
        at t (https://off99555.github.io/HoNNeT/keras-js/keras.js:4:17225)
        at model.ready.then (https://off99555.github.io/HoNNeT/:165:16)
    From previous event:
        at https://off99555.github.io/HoNNeT/:158:20
    

    Here's the javascript part of that index.html file:

         const N_AVAIL_HEROES = 260
         const HERO_INPUT = new Array(2 * N_AVAIL_HEROES).fill(0)
         const vm = new Vue({
             el: '#app',
             data() {
                 return {
                     model: null,
                     modelReady: false
                 }
             },
             watch: {
                 modelReady: function() {
                     if (this.modelReady)
                         console.log('the model is ready now')
                 }
             }
         })
         const model = new KerasJS.Model({
             filepaths: {
                 model: 'honnet_brain_architecture.json',
                 weights: 'honnet_brain_weights_weights.buf',
                 metadata: 'honnet_brain_weights_metadata.json'
             }
         })
         function getInputData(legion, hellbourne) {
            console.log('predicting with data')
            const inputData = {
                'hero_input': new Float32Array(HERO_INPUT)
            }
            return inputData
         }
         model.ready().then(() => {
             vm.model = model
             vm.modelReady = true
    
             // make predictions
             // outputData is an object keyed by names of the output layers
             // or `output` for Sequential models
             model.predict(getInputData([], [])).then(function(outputData) { // <====== error happens here!
                 console.log('output')
                 console.log(outputData)
             }).catch(err => {
                 // handle error
                 console.log('pred error: ')
                 console.log(err)
             })
         }).catch(err => {
             // handle error
             console.log('ready error: ')
             console.log(err)
         })
    
    opened by off99555 3
  • [Model] path to protobuf-serialized model definition file is missing

    [Model] path to protobuf-serialized model definition file is missing

    Update from master 11/10/2017

    Code builds but fails in browser, see error below. What changed?

    Error: [Model] path to protobuf-serialized model definition file is missing. new Model ./src/Model.js:34 31 | } = config 32 | 33 | if (!filepath) {

    34 | throw new Error('[Model] path to protobuf-serialized model definition file is missing.') 35 | } 36 | this.filepath = filepath 37 |

    opened by dparnellmitek 2
  • Purpose of wrapping the prediction inference call in a setTimeout() and also passing in exactly 10 milliseconds

    Purpose of wrapping the prediction inference call in a setTimeout() and also passing in exactly 10 milliseconds

    I have a small question, could anyone please explain to me what's the purpose of wrapping the prediction inference call in a setTimeout() and also passing in exactly 10 milliseconds (and not something like 5 or 15 milliseconds)? Thanks!

    https://github.com/transcranial/keras-js/blob/7713c554f062a77b6897892c2d10209e72576868/demos/src/components/common/Imagenet.vue#L274-L276

    opened by jackylu0124 0
  • Can i use CRF models on keras-js ?

    Can i use CRF models on keras-js ?

    Hello ! I have created a Named Entity Recognition model with tensorflow/keras/keras_contrib. I would like run this model on my clients browser with Keras.js but i doesn't found anything for this. When i load my model, i use keras_contrib class like this in python :

    self.model = load_model( dir_path + '/v1/tools/TextAnalyzerData/model.h5', custom_objects={ 'CRF':CRF, 'crf_loss':crf_loss, 'crf_viterbi_accuracy':crf_viterbi_accuracy } )

    Any alternative or tips for javascript size ? Thanks

    opened by sandro971 0
  • model.predict() always outputs same invalid results after deployment

    model.predict() always outputs same invalid results after deployment

    Problem Statment:

    Goal: Use keras-js (https://github.com/transcranial/keras-js) to do Sentiment Analysis for input summary(NLP).

    Developing environment: React 16.6.3

    Related Dependencies: keras-js, imdb_bidirectional_lstm.bin(trained model, located in public folder), imdb_dataset_word_index_top20000.json

    Problem: The model.predict() function in keras-js always output the same result, regardless what the the actual input is, the output is always 50% after deployment.

    It works fine on my machine, I’m using Mac OS. But if we deployed it to Linux server, the problem occurred. We can load all dependencies in Linux server, no error messages, but the prediction results are totally different from that from local machine even we used completely same code. The prediction results in deployed version are always 50%, which is not valid.

    opened by zjtisme 0
  • TypeError: layer.layer is undefined

    TypeError: layer.layer is undefined

    I want to run a keras model on a browser using keras.js , but keras.js predict is not working. while loading i got the following error

    TypeError: layer.layer is undefined here is the js code:

    const model = new KerasJS.Model(
         {
         filepath: 'example.bin',
         gpu : true,
         filesystem : true
    
         })
    
           model.ready().then(() => model.predict(
           {
             input: new Float32Array(samples),
           })) .then(({output}) => 
           {
             alert(output['output']);
           })
           .catch((error) => 
           {
             alert(error);
          });
    
    
    opened by hmhwe 0
  • Error: predict() must take an object where the keys are the named inputs of the model:

    Error: predict() must take an object where the keys are the named inputs of the model:

    I have been trying to run a keras model in browser using keras.js. But whenever i try to predict I got the following error

    Error: predict() must take an object where the keys are the named inputs of the model: Here is js code

    handlePredict()
      {
        const model = new KerasJS.Model({
        filepaths: {
        model: 'model.json',
        weights: 'model_weights.buf',
        metadata: 'model_metadata.json'
      },
    
      gpu : true,
      filesystem : true
    
    })
    
      model.ready().then(() =>{
        const inputData = {
          'input_1': new Float32Array(samples)
        }
        alert('Converted text = ' + inputData['input_1'])
        return model.predict(inputData['input_1'])
      })
      .then(output =>
        {
        alert('Predicted value : ' + output['fc1000']);
        })
      .catch(err =>
        {
        alert(err);
        })
    
      }
    

    I am using keras-js 0.3.0 and keras 2.2.4 . Any help would be appreciated.

    opened by hmhwe 0
Releases(v0.3.0)
  • v0.3.0(May 20, 2017)

    • Added back legacy Merge, MaxoutDense, Highway layers
    • Fixed model creation when Model class contains branches of Sequential class
    • Added SqueezeNet v1.1 and Auxiliary Classifier Generative Adversarial Network (AC-GAN) demos
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(May 20, 2017)

  • v0.1.0(May 20, 2017)

Owner
Leon Chen
Co-founder, MD.ai. Software/ML engineer, doctor, electronic musician.
Leon Chen
Train and test machine learning models for your Arduino Nano 33 BLE Sense in the browser.

Tiny Motion Trainer Train and test IMU based TFLite models on the Web Overview Since 2009, coders have created thousands of experiments using Chrome,

Google Creative Lab 59 Nov 21, 2022
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
WebGL-accelerated ML // linear algebra // automatic differentiation for JavaScript.

This repository has been archived in favor of tensorflow/tfjs. This repo will remain around for some time to keep history but all future PRs should be

null 8.5k Dec 31, 2022
This is a JS/TS library for accelerated tensor computation intended to be run in the browser.

TensorJS TensorJS How to use Tensors Tensor operations Reading values Data types Converting between backends Onnx model support Optimizations Running

Frithjof Winkelmann 32 Jun 26, 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

暖房 / nuan.io 31 Nov 15, 2022
Support Vector Machine (SVM) library for nodejs

node-svm Support Vector Machine (SVM) library for nodejs. Support Vector Machines Wikipedia : Support vector machines are supervised learning models t

Nicolas Panel 296 Nov 6, 2022
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
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

Juan Cazala 6.9k Dec 27, 2022
The Fastest DNN Running Framework on Web Browser

WebDNN: Fastest DNN Execution Framework on Web Browser WebDNN is an open source software framework for executing deep neural network (DNN) pre-trained

Machine Intelligence Laboratory (The University of Tokyo) 1.9k Jan 1, 2023
JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js

face-api.js JavaScript face recognition API for the browser and nodejs implemented on top of tensorflow.js core (tensorflow/tfjs-core) Click me for Li

Vincent Mühler 14.6k Jan 2, 2023
A library for prototyping realtime hand detection (bounding box), directly in the browser.

Handtrack.js View a live demo in your browser here. Handtrack.js is a library for prototyping realtime hand detection (bounding box), directly in the

Victor Dibia 2.7k Jan 3, 2023
A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

Ciaran O'Reilly 207 Jan 3, 2023
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

null 44 Aug 19, 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)

Emil Bay 44 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

Emil Bay 29 Aug 19, 2022
Interactive digital art with head-coupled perspective effect using Three.js and TensorFlow.js

Interactive digital frame with head-tracking using Three.js & TensorFlow.js Using TensorFlow.js and Three.js, this project is a prototype of an intera

Charlie 61 Dec 12, 2022
NEW⚡ PancakeSwap Prediction Bot using AI live recomendations. ~70% Win rate 🔮

?? PancakeSwap Prediction SmartBot PancakeSwap Prediction Bot using live TradingView AI recomendations. ~70% Win rate. ⭐ Please consider giving a star

Eashita Sora 19 Dec 15, 2022
⚡️The Fullstack React Framework — built on Next.js

The Fullstack React Framework "Zero-API" Data Layer — Built on Next.js — Inspired by Ruby on Rails Read the Documentation “Zero-API” data layer lets y

⚡️Blitz 12.5k Jan 4, 2023
A WebGL accelerated JavaScript library for training and deploying ML models.

TensorFlow.js TensorFlow.js is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models. ⚠️ We recent

null 16.9k Jan 4, 2023