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
UDP++ (ECCVW 2020 Oral), (Winner of COCO 2020 Keypoint Challenge).

UDP-Pose This is the pytorch implementation for UDP++, which won the Fisrt place in COCO Keypoint Challenge at ECCV 2020 Workshop. Top-Down Results on

20 Jul 29, 2022
GANimation: Anatomically-aware Facial Animation from a Single Image (ECCV'18 Oral) [PyTorch]

GANimation: Anatomically-aware Facial Animation from a Single Image [Project] [Paper] Official implementation of GANimation. In this work we introduce

Albert Pumarola 1.8k Dec 28, 2022
Research code for the paper "Variational Gibbs inference for statistical estimation from incomplete data".

Variational Gibbs inference (VGI) This repository contains the research code for Simkus, V., Rhodes, B., Gutmann, M. U., 2021. Variational Gibbs infer

Vaidotas Šimkus 1 Apr 08, 2022
PyTorch code for our ECCV 2020 paper "Single Image Super-Resolution via a Holistic Attention Network"

HAN PyTorch code for our ECCV 2020 paper "Single Image Super-Resolution via a Holistic Attention Network" This repository is for HAN introduced in the

五维空间 140 Nov 23, 2022
Unit-Convertor - Unit Convertor Built With Python

Python Unit Converter This project can convert Weigth,length and ... units for y

Mahdis Esmaeelian 1 May 31, 2022
Generative Art Using Neural Visual Grammars and Dual Encoders

Generative Art Using Neural Visual Grammars and Dual Encoders Arnheim 1 The original algorithm from the paper Generative Art Using Neural Visual Gramm

DeepMind 231 Jan 05, 2023
PyTorch Personal Trainer: My framework for deep learning experiments

Alex's PyTorch Personal Trainer (ptpt) (name subject to change) This repository contains my personal lightweight framework for deep learning projects

Alex McKinney 8 Jul 14, 2022
Pytorch implementation of the paper SPICE: Semantic Pseudo-labeling for Image Clustering

SPICE: Semantic Pseudo-labeling for Image Clustering By Chuang Niu and Ge Wang This is a Pytorch implementation of the paper. (In updating) SOTA on 5

Chuang Niu 154 Dec 15, 2022
This is the official implementation of "One Question Answering Model for Many Languages with Cross-lingual Dense Passage Retrieval".

CORA This is the official implementation of the following paper: Akari Asai, Xinyan Yu, Jungo Kasai and Hannaneh Hajishirzi. One Question Answering Mo

Akari Asai 59 Dec 28, 2022
Few-Shot Object Detection via Association and DIscrimination

Few-Shot Object Detection via Association and DIscrimination Code release of our NeurIPS 2021 paper: Few-Shot Object Detection via Association and DIs

Cao Yuhang 49 Dec 18, 2022
Locally Enhanced Self-Attention: Rethinking Self-Attention as Local and Context Terms

LESA Introduction This repository contains the official implementation of Locally Enhanced Self-Attention: Rethinking Self-Attention as Local and Cont

Chenglin Yang 20 Dec 31, 2021
Nsdf: A mesh SDF with just some code we can directly paste into our raymarcher

nsdf Representing SDFs of arbitrary meshes has been a bit tricky so far. Express

Jan Ivanecky 5 Feb 18, 2022
Implementation detail for paper "Multi-level colonoscopy malignant tissue detection with adversarial CAC-UNet"

Multi-level-colonoscopy-malignant-tissue-detection-with-adversarial-CAC-UNet Implementation detail for our paper "Multi-level colonoscopy malignant ti

CVSM Group - email: <a href=[email protected]"> 84 Nov 22, 2022
DaReCzech is a dataset for text relevance ranking in Czech

Dataset DaReCzech is a dataset for text relevance ranking in Czech. The dataset consists of more than 1.6M annotated query-documents pairs,

Seznam.cz a.s. 8 Jul 26, 2022
Improving Generalization Bounds for VC Classes Using the Hypergeometric Tail Inversion

Improving Generalization Bounds for VC Classes Using the Hypergeometric Tail Inversion Preface This directory provides an implementation of the algori

Jean-Samuel Leboeuf 0 Nov 03, 2021
Basit bir burç modülü.

Bu modulu burclar hakkinda gundelik bir sekilde bilgi alin diye yaptim ve sizler icin kullanima sunuyorum. Modulun kullanimi asiri basit: Ornek Kullan

Special 17 Jun 08, 2022
A template repository for submitting a job to the Slurm Cluster installed at the DISI - University of Bologna

Cluster di HPC con GPU per esperimenti di calcolo (draft version 1.0) Per poter utilizzare il cluster il primo passo è abilitare l'account istituziona

20 Dec 16, 2022
pyspark🍒🥭 is delicious,just eat it!😋😋

如何用10天吃掉pyspark? 🔥 🔥 《10天吃掉那只pyspark》 🚀

lyhue1991 578 Dec 30, 2022
Official implementation of "Articulation Aware Canonical Surface Mapping"

Articulation-Aware Canonical Surface Mapping Nilesh Kulkarni, Abhinav Gupta, David F. Fouhey, Shubham Tulsiani Paper Project Page Requirements Python

Nilesh Kulkarni 56 Dec 16, 2022
Awesome Long-Tailed Learning

Awesome Long-Tailed Learning This repo pays specially attention to the long-tailed distribution, where labels follow a long-tailed or power-law distri

Stomach_ache 284 Jan 06, 2023