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
Classification models 1D Zoo - Keras and TF.Keras

Classification models 1D Zoo - Keras and TF.Keras This repository contains 1D variants of popular CNN models for classification like ResNets, DenseNet

Roman Solovyev 12 Jan 6, 2023
GrabGpu_py: a scripts for grab gpu when gpu is free

GrabGpu_py a scripts for grab gpu when gpu is free. WaitCondition: gpu_memory >

tianyuluan 3 Jun 18, 2022
Train/evaluate a Keras model, get metrics streamed to a dashboard in your browser.

Hera Train/evaluate a Keras model, get metrics streamed to a dashboard in your browser. Setting up Step 1. Plant the spy Install the package pip

Keplr 495 Dec 10, 2022
This demo showcase the use of onnxruntime-rs with a GPU on CUDA 11 to run Bert in a data pipeline with Rust.

Demo BERT ONNX pipeline written in rust This demo showcase the use of onnxruntime-rs with a GPU on CUDA 11 to run Bert in a data pipeline with Rust. R

Xavier Tao 14 Dec 17, 2022
Run Effective Large Batch Contrastive Learning on Limited Memory GPU

Gradient Cache Gradient Cache is a simple technique for unlimitedly scaling contrastive learning batch far beyond GPU memory constraint. This means tr

Luyu Gao 198 Dec 29, 2022
A Genetic Programming platform for Python with TensorFlow for wicked-fast CPU and GPU support.

Karoo GP Karoo GP is an evolutionary algorithm, a genetic programming application suite written in Python which supports both symbolic regression and

Kai Staats 149 Jan 9, 2023
A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

A simplistic and efficient pure-python neural network library from Phys Whiz with CPU and GPU support.

Manas Sharma 19 Feb 28, 2022
This is an implementation of Googles Yogi-Optimizer in Keras (tf.keras)

Yogi-Optimizer_Keras This is an implementation of Googles Yogi-Optimizer in Keras (tf.keras) The NeurIPS-Paper can be found here: http://papers.nips.c

null 14 Sep 13, 2022
Keras udrl - Keras implementation of Upside Down Reinforcement Learning

keras_udrl Keras implementation of Upside Down Reinforcement Learning This is me

Eder Santana 7 Jan 24, 2022
Example-custom-ml-block-keras - Custom Keras ML block example for Edge Impulse

Custom Keras ML block example for Edge Impulse This repository is an example on

Edge Impulse 8 Nov 2, 2022
Header-only library for using Keras models in C++.

frugally-deep Use Keras models in C++ with ease Table of contents Introduction Usage Performance Requirements and Installation FAQ Introduction Would

Tobias Hermann 927 Jan 5, 2023
Learning recognition/segmentation models without end-to-end training. 40%-60% less GPU memory footprint. Same training time. Better performance.

InfoPro-Pytorch The Information Propagation algorithm for training deep networks with local supervision. (ICLR 2021) Revisiting Locally Supervised Lea

null 78 Dec 27, 2022
NVIDIA Merlin is an open source library providing end-to-end GPU-accelerated recommender systems, from feature engineering and preprocessing to training deep learning models and running inference in production.

NVIDIA Merlin NVIDIA Merlin is an open source library designed to accelerate recommender systems on NVIDIA’s GPUs. It enables data scientists, machine

null 419 Jan 3, 2023
Recognize Handwritten Digits using Deep Learning on the browser itself.

MNIST on the Web An attempt to predict MNIST handwritten digits from my PyTorch model from the browser (client-side) and not from the server, with the

Harjyot Bagga 7 May 28, 2022
A tutorial showing how to train, convert, and run TensorFlow Lite object detection models on Android devices, the Raspberry Pi, and more!

A tutorial showing how to train, convert, and run TensorFlow Lite object detection models on Android devices, the Raspberry Pi, and more!

Evan 1.3k Jan 2, 2023
A Python package to create, run, and post-process MODFLOW-based models.

Version 3.3.5 — release candidate Introduction FloPy includes support for MODFLOW 6, MODFLOW-2005, MODFLOW-NWT, MODFLOW-USG, and MODFLOW-2000. Other s

null 388 Nov 29, 2022
The fastest way to visualize GradCAM with your Keras models.

VizGradCAM VizGradCam is the fastest way to visualize GradCAM in Keras models. GradCAM helps with providing visual explainability of trained models an

null 58 Nov 19, 2022
MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.

MMdnn MMdnn is a comprehensive and cross-framework tool to convert, visualize and diagnose deep learning (DL) models. The "MM" stands for model manage

Microsoft 5.7k Jan 9, 2023