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
Time Series Cross-Validation -- an extension for scikit-learn

TSCV: Time Series Cross-Validation This repository is a scikit-learn extension for time series cross-validation. It introduces gaps between the traini

Wenjie Zheng 222 Jan 01, 2023
JumpDiff: Non-parametric estimator for Jump-diffusion processes for Python

jumpdiff jumpdiff is a python library with non-parametric Nadaraya─Watson estimators to extract the parameters of jump-diffusion processes. With jumpd

Rydin 28 Dec 10, 2022
Volumetric parameterization of the placenta to a flattened template

placenta-flattening A MATLAB algorithm for volumetric mesh parameterization. Developed for mapping a placenta segmentation derived from an MRI image t

Mazdak Abulnaga 12 Mar 14, 2022
Code for the CVPR 2021 paper "Triple-cooperative Video Shadow Detection"

Triple-cooperative Video Shadow Detection Code and dataset for the CVPR 2021 paper "Triple-cooperative Video Shadow Detection"[arXiv link] [official l

Zhihao Chen 24 Oct 04, 2022
Functional TensorFlow Implementation of Singular Value Decomposition for paper Fast Graph Learning

tf-fsvd TensorFlow Implementation of Functional Singular Value Decomposition for paper Fast Graph Learning with Unique Optimal Solutions Cite If you f

Sami Abu-El-Haija 14 Nov 25, 2021
Nb workflows - A workflow platform which allows you to run parameterized notebooks programmatically

NB Workflows Description If SQL is a lingua franca for querying data, Jupyter sh

Xavier Petit 6 Aug 18, 2022
[BMVC2021] "TransFusion: Cross-view Fusion with Transformer for 3D Human Pose Estimation"

TransFusion-Pose TransFusion: Cross-view Fusion with Transformer for 3D Human Pose Estimation Haoyu Ma, Liangjian Chen, Deying Kong, Zhe Wang, Xingwei

Haoyu Ma 29 Dec 23, 2022
A very tiny, very simple, and very secure file encryption tool.

Picocrypt is a very tiny (hence "Pico"), very simple, yet very secure file encryption tool. It uses the modern ChaCha20-Poly1305 cipher suite as well

Evan Su 1k Dec 30, 2022
Training Certifiably Robust Neural Networks with Efficient Local Lipschitz Bounds (Local-Lip)

Training Certifiably Robust Neural Networks with Efficient Local Lipschitz Bounds (Local-Lip) Introduction TL;DR: We propose an efficient and trainabl

17 Dec 01, 2022
Code release for "Self-Tuning for Data-Efficient Deep Learning" (ICML 2021)

Self-Tuning for Data-Efficient Deep Learning This repository contains the implementation code for paper: Self-Tuning for Data-Efficient Deep Learning

THUML @ Tsinghua University 101 Dec 11, 2022
Official repository of IMPROVING DEEP IMAGE MATTING VIA LOCAL SMOOTHNESS ASSUMPTION.

IMPROVING DEEP IMAGE MATTING VIA LOCAL SMOOTHNESS ASSUMPTION This is the official repository of IMPROVING DEEP IMAGE MATTING VIA LOCAL SMOOTHNESS ASSU

电线杆 14 Dec 15, 2022
HeatNet is a python package that provides tools to build, train and evaluate neural networks designed to predict extreme heat wave events globally on daily to subseasonal timescales.

HeatNet HeatNet is a python package that provides tools to build, train and evaluate neural networks designed to predict extreme heat wave events glob

Google Research 6 Jul 07, 2022
Sound and Cost-effective Fuzzing of Stripped Binaries by Incremental and Stochastic Rewriting

StochFuzz: A New Solution for Binary-only Fuzzing StochFuzz is a (probabilistically) sound and cost-effective fuzzing technique for stripped binaries.

Zhuo Zhang 164 Dec 05, 2022
Towards End-to-end Video-based Eye Tracking

Towards End-to-end Video-based Eye Tracking The code accompanying our ECCV 2020 publication and dataset, EVE. Authors: Seonwook Park, Emre Aksan, Xuco

Seonwook Park 76 Dec 12, 2022
Code for "On Memorization in Probabilistic Deep Generative Models"

On Memorization in Probabilistic Deep Generative Models This repository contains the code necessary to reproduce the experiments in On Memorization in

The Alan Turing Institute 3 Jun 09, 2022
Large scale PTM - PPI relation extraction

Large-scale protein-protein post-translational modification extraction with distant supervision and confidence calibrated BioBERT The silver standard

1 Feb 25, 2022
A machine learning benchmark of in-the-wild distribution shifts, with data loaders, evaluators, and default models.

WILDS is a benchmark of in-the-wild distribution shifts spanning diverse data modalities and applications, from tumor identification to wildlife monitoring to poverty mapping.

P-Lambda 437 Dec 30, 2022
Code for Transformers Solve Limited Receptive Field for Monocular Depth Prediction

Official PyTorch code for Transformers Solve Limited Receptive Field for Monocular Depth Prediction. Guanglei Yang, Hao Tang, Mingli Ding, Nicu Sebe,

stanley 152 Dec 16, 2022
Official PaddlePaddle implementation of Paint Transformer

Paint Transformer: Feed Forward Neural Painting with Stroke Prediction [Paper] [Paddle Implementation] Update We have optimized the serial inference p

TianweiLin 284 Dec 31, 2022
Implementation of the Point Transformer layer, in Pytorch

Point Transformer - Pytorch Implementation of the Point Transformer self-attention layer, in Pytorch. The simple circuit above seemed to have allowed

Phil Wang 501 Jan 03, 2023