8 ms·
Show HN: TensorFire
- rjeli 9y agoReally cool - just want to point out that the flashing rectangles might trigger epilepsy. I'm not sure if they're intended, but on Chrome on Linux I get a bunch of 1 frame brightly colored rectangles flashing before the result. Might want to disable that or put a warning to avoid an accident. That said, well done, very impressive project!
- synt 9y agohey, stop it. i'm running 55.0b13 (64-bit) firefox on windows 10 and clicking on that demo froze the browser, froze my box - hard reboot. whatever you're doing some of it's wrong. bad wrong.
- usefulcat 9y agoI could see plausibly assigning blame any combination of the browser (a beta version at that), the OS, or video drivers, but instead you're seriously going to blame a web page for locking up your machine? Is that really how low we want to set that bar?
- jstsch 9y agoSeriously cool. Great work. I did get a glitch every now and then in the rendered output (say 1 out of 5 times) using Safari 10.1.2, MBP touchbar 2016 15", Radeon Pro 460 4096 MB.
- zitterbewegung 9y agoReally cool demo. How does this compare to https://github.com/transcranial/keras-js https://github.com/transcranial/keras-js ? Do the authors have a licence in mind?
- bijection 9y agoTensorFire is up to an order of magnitude faster than keras-js because it doesn't have to shuffle data back and forth between the gpu and cpu. Also TensorFire can run on browsers and devices that don't support OES_TEXTURE_FLOAT. We will probably release it under an MIT license.
- espadrine 9y agoHow does it compare to WebDNN[0]? It seems like a closer comparison, especially with WebGPU. It would be good if you had a comparative benchmark on the website. [0]: https://mil-tokyo.github.io/webdnn/ https://mil-tokyo.github.io/webdnn/
- bijection 9y agoAt the moment WebDNN only runs models on the GPU in Safari Technology Preview, falling back to CPU on all other platforms / browsers: https://mil-tokyo.github.io/webdnn/#compatibility https://mil-tokyo.github.io/webdnn/#compatibility
- zitterbewegung 9y agoI'm really interested in using Smartphones / Mobile devices for inference. Can this work with react-native so that I can build it without a bridge ? I would assume I would create a webview that would load a local website.
- cs702 9y agoWhere is the repo?
- bijection 9y agoWe're still finishing up a few things (documentation etc) and planning on releasing more stuff tomorrow. You can also sign up for the mailing list if you'd like us to email you when the repo goes live!
- antimatter15 9y agoHey HN! We're really excited to finally share this with you all! This is the first of a series of demos that we're working to release this week, and we're hoping you'll keep us to that promise :) Sorry if it doesn't work on your computer! There's still a few glitches and browser compatibility problems that we need to iron out, and we're collecting some telemetry data with LogRocket (https://logrocket.com/ https://logrocket.com/) to help us do so (so you all know what kind of data is being collected). We'll open source the library under an MIT license once we finish writing up the API docs, and fixing these bugs.
- rahimnathwani 9y agoThis looks awesome! It looks like it (like keras-js) is only for inference (running already-trained models) and not for training. Is this correct? Are the operations or memory required for training very different?
- bijection 9y agoYes, you are correct! Training benefits much more from available memory through batching and, since in many cases you only need to train once, it usually makes sense to train on beefy GPUs. TensorFire is useful in situations where you want to perform inference, but you don't want to ship user-supplied data to your servers, either because you would run out of bandwidth, you would run out of compute power, or your users want to keep their data private.
- incompatible 9y agoI'm not sure if it's working with my browser or not. It says "Compiling network", then shows a lot of flashing rectangles, then stops and displays a single grey rectangle. Is that what it's supposed to do?
- gilbertstein 9y agoDude what it did was paint , as in recognizing thats its a picture of 2 cubs and then paint it like the way humans can, its freaking amazing
- fulafel 9y agoVery nice to see webgl gpgpu apps, they have been slow in coming. Any plans for webgl 2?
- caio1982 9y agoKudos for providing a minimum experience on mobile! I was afraid I would have to wait until I got home :-)
- motoboi 9y agoCould someone explains whats is going on here? What are the steps? Why those colorful artifacts appear before the final result?
- dordoka 9y agoIt´s just a demo of an upcoming open source API that allows running deep neural network models on the browser. Steps (disclaimer: I´m not related to the creators, so this is just what I understand it does) 1.- You upload your image 2.- Select an image to be the origin of the style 3.- Downloading Model: downloads a trained (on style transfering) deep neural net 4.- Colorful artifacts: the model is applied to your image. Probably the artifacts are a visualization of the network weights being transformed to WebGL shaders, or just a simple visualization of the internal hidden steps of the transformation 5.- You get your image with the style applied
- antimatter15 9y agoIt's showing a visualization of all the intermediate activations of the style transfer network. The intermediate pictures are 4D, so they're visualized as a sequence of tiles. The network being run is defined here https://github.com/lengstrom/fast-style-transfer/blob/master/src/transform.py#L5 https://github.com/lengstrom/fast-style-transfer/blob/master... This post provides a pretty good explanation of what's happening: https://shafeentejani.github.io/2017-01-03/fast-style-transfer/#image-transformation-network https://shafeentejani.github.io/2017-01-03/fast-style-transf... There's a sequence of 9x9 and 3x3 convolutions that transforms that one big input image into a bunch of smaller images. They're processed by a sequence of residual convolutions. Finally, these tiny tiles are merged together back into a stylized image of the same size as the original input with a few deconvolution operations.
- nametube 9y ago"running networks in the browser with TensorFire can be faster than running it natively with TensorFlow." could you elaborate on this statement ?. What kinds of architectures does this hold true for ?.
- plingamp 9y agoFrom the github issue referenced in the FAQ, I think they mean that because TensorFlow only natively supports CUDA, TensorFire may outperform TensorFlow on computers that have non Nvidia GPUs, such as the new MacBook Pro.
- draaglom 9y agoThis is really cool!!
- arnioxux 9y agoIs the end goal to allow people to donate computing power for training? (a la Folding@home or SETI@home except just by visiting a webpage) If so that's amazingly clever!
- nametube 9y agoI think the goal is to allow people to develop webapps with models built using neural network libraries like keras and tensorflow. This would greatly improve the distribution of applications that are powered by deep learning because you wont have to install a bunch of dependencies in order to use the app.
- narrator 9y agoI guess WebGL is now the "good enough" cross-platform vendor neutral replacement for CUDA. Tensorflow should add a WebGL backend that runs in NodeJS.
- binarymax 9y agoNot quite. Training is not really supported in WebGL. For running a trained model this is cutting edge, and still has varying browser quirks.
- smaili 9y agoWell done! Also important to note this project is one of the 10 recipients of the Spring 2017 AI Grants[1]. [1] https://aigrant.org/#finalists https://aigrant.org/#finalists
- uyoakaoma 9y agoFailed when I uploaded an image >> framebuffer configuration not supported, status = undefined
- mholt 9y agoThis is amazing. I can't use GPU Tensorflow (natively) on my Macbook Pro because it doesn't have an NVIDIA graphics card. But I can... in the browser! Honestly didn't see that one coming.
- dgacmu 9y agoTo be clear, you can use it - just without GPU acceleration. The CPU-only build is supported and should work for you. If it's not, please let (me, us) know. Be sure to compile with AVX2 if you're on haswell or later; it helps quite a bit with some models.
- iXce 9y ago> as fast as CPU TensorFlow on a desktop > You can learn more about TensorFire and what makes it fast (spoiler: WebGL) Does this mean that using a GPU in a browser through WebGL yields the same speed than a desktop CPU?
- symlinkk 9y agoActually it seems like WebGL is doing it even faster. Which makes sense - machine learning involves a lot of matrix math, which GPUs are made for and CPUs aren't.
- iXce 9y agoThis is actually what I'd expect, but the website feels quite misleading. Advertising that a GPU-based approach can outbeat a CPU for neural nets is not a very strong commercial claim :)
- sonofaragorn 9y agoThis is really cool! Great work! I wanted to download the resulting image but got a "Failed - Network" error :(
- zo1 9y ago>"Could not initialize WebGL, try another browser". Happening in both Firefox and Chrome on Ubuntu. What exactly am I missing here?
- SXX 9y agoFor instance you might run on LLVMPipe or use some very old driver blacklisted in both browsers. Firefox: about:support Chrome: chrome://gpu
- fabian2k 9y agoI've played around with doing some computation in WebGL, but it was rather tedious and difficult with my limited knowledge about the topic. It's possible, but you can't even rely on floating point texture to be available on all systems, especially mobile. And for anything more complicated, you probably need to be able to render to floating point textures, which is even more rare than support for plain floating point textures. This only makes it more impressive when people do cool computational stuff in WebGL, but I'd wish there were some easier ways for non-experts in shader programming to do some calculations in WebGL.
- fulafel 9y agoWebGL 2 provides a much nicer base feature set and has been shipping & enabled in browsers since January or so.
- ccheever 9y agoThis is amazing. Very cool.
- danicgross 9y agoTensorFire was a finalist of AI Grant. Applications for the next batch are open now! Get $2,500 to work on your AI project: https://aigrant.org https://aigrant.org. It should only take five minutes or so to apply.
- backpropaganda 9y agoDoes it make sense for an active PhD student to apply?
- badlogic 9y agoYes!
- batmansmk 9y agoThis is awesome! Quick question: is the code compiled from js to webgl in browser as well, or do I need to compile beforehand? I see this as a great way to learn and teach AI without having to bring a large toolchain. Edit : it seems it is just a runtime for now for Tensorflow models!
- dennykane 9y agoCool! Awesome! New MIT grads playing with JS who think "this whole deep learning thing is pretty neat"! Most "normal" humans -- and application developers -- will just see this as "yet another webapp" running some crazy ass code in a browser tab with no apparent rhyme or reason. We've gotta stop the insanity! We need regulation! We need: "Linux on the Web" (a web-based OS that I've been developing for the past 5 years, see it here: https://linuxontheweb.org https://linuxontheweb.org) to start putting this kind of crazy, experimental stuff into actual use. I'm really not trying to be too much of a jerk, but I've been working on my project for about as long as it takes to get an entire college degree, and I'm going to start needing some help here!
- aluhut 9y agoRespect. This pretty much killed the PC I'm on now. Wasn't even able to get to the task manager :D Windows7, Firefox 54(64bit)
- setgree 9y agoI love it
- ruste 9y agoNice, Leonid Afremov is a great choice of input art.
- cpcarey 9y agoAmazing work! That was incredibly fast (2013 MBA 13" 1.7 GHz i7, Intel HD Graphics 5000 1536 MB, Chrome 59).
- jacquesm 9y agoAwesome demo. Happy to report it works without a hitch on Firefox/Ubuntu.
- hughes 9y agoHmm, this seems to lock up & crash my whole browser (Chrome 59, windows, nvidia graphics) when I try to run any of the examples. It gets past Downloading Network, then gets about 5% through Compiling before getting stuck.
- singularity2001 9y agoCrashed my Firefox as well
- deleted 9y ago[deleted]
- tmbsundar 9y agoYup Crashed mine as well and my whole machine also hung up on me.
- deleted 9y ago[deleted]
- udia 9y agoLots of potential here. Looking forward to seeing the source once it's released.
- fletchowns 9y agoI get an SSL error SEC_ERROR_UNKNOWN_ISSUER when I try to load this page. I tried removing https from the URL but then it's blocked by OpenDNS with message "This domain is blocked due to a security threat"
- slenk 9y agoI am receiving the same error when going to it on my companies DNS. Apparently we use OpenDNS for some anti-malware and it was flagged by that
- tambourine_man 9y agoDidn't work here, just a bunch of colored squares on Safari, Chrome or Firefox. The latter actually managed to hang my machine. I could ssh to it but kill -9 wouldn't terminate Firefox. Had to force reboot the machine, haven't done that in years. Amazing and scary, this WebGL thing is. iMac 2011, latest OS Edit: worked on MacBookAir
- oatmealsnap 9y agoWorked fine with Safari 10.1.1 for me.
- spartanatreyu 9y agoSounds like some dodgy graphics driver on your old iMac
- tambourine_man 9y ago> old iMac I object that qualifier, if you don't mind :)
- ChristianBundy 9y agoIt's not old for a computer, but it _is_ old for an Apple product (which is very unfortunate).
- tambourine_man 9y agoHow so? In my experience Apple products outlast their competitor by a long margin. All my Macs have lasted about 6/7 years, meaning, being used everyday with latest software for paid work. Most still boot and work today, but are impractical. Same with iPhones, usually stop using because lithium batteries have a 4/5 years life span.
- sharkoz 9y agoFor a 2011 product I guess we're arriving in the 6/7 year zone :)
- synt 9y agohey, stop it. i'm running 55.0b13 (64-bit) firefox on windows 10 and clicking on that demo froze the browser, froze my box - hard reboot. whatever you're doing some of it's wrong. bad wrong.
- Dowwie 9y agoIt is with great pleasure that I may present to you, Denali: https://imgur.com/gallery/ASRQg https://imgur.com/gallery/ASRQg
- shams93 9y agoThis would be an interesting way to generate a self-updating blog or an automated news site.
- hackpert 9y agoInference speed looks brilliant. Eager to read the source! (Also, somehow I had a feeling before even reading that this project was by the people who made Project Naptha etc. Have you written/talked about this anywhere earlier?)
- gilbertstein 9y agois there a way to download and play with it?
- realworlddl 9y agoNice demo! I made a shop where you can buy images like these (www.deepartistry.com). Would be happy to see more designs coming in.
- dizzy3gg 9y agoSo I could build a model using the Google Detection API then do the actual inference within the browser?
- martinmusio7 9y agoWhenever I click on an image in the lower left corner it compiles the kittens. This shouldn't be like this, right? The NN is supposed to take example I'm choosing. (?) And, as everyone else mentioned already: f*ing wow!
- hobarrera 9y agoThe lower bottom one shows different "filters" (that's surely not the right term) from what I've understood. The upper left corner let you pick different images.
- hobarrera 9y agoThe lower bottom one shows different "filters" (that's surely not the right term) from what I've understood. The upper left corner let you pick different images.
- GChevalier 9y agoNo GitHub?