How fast are autoencoders?


I was exploring image/video compression using Machine Learning. In there I discovered that autoencoders are used very frequently for this sort of thing. So I wanted to enquire:-

  1. How fast are autoencoders? I need something to compress an image in milliseconds?
  2. How much resources do they take? I am not talking about the training part but rather the deployment part. Could it work fast enough to compress a video on a Mi phone (like note8 maybe)?

Do you know of any particularly new and interesting research in AI that has enabled a technique to this fast and efficiently?

neel g

Posted 2020-04-21T13:40:50.160

Reputation: 121



Actually it depends on the size of your AE, if you use a small AE with just 500.000 to 1M weigths, the inferencing can be stunningly fast. But even large networks can run very fast, using Tensorflow lite for example, models are compressed and optimized to run faster on Edge-devices (Handys for example, end-user devices). You can find a lot of videos on Youtube, where people test inferencing large networks like Resnet-51 or Resnet-101 on a raspberrypi, or other SOC Chips. Handys are comparable to that, but maybe not that optimized.

For example,I have an Jetson Nano (SOC of Nvidia costs arround 100 euro) and i tried to inference a large Resnet with arround 30 million parameters over my fullHD Webcam. Stable 30 FPS, so speaking in milliseconds its around 33 ms per image.

To answer your question, yes Autoencoders can be fast, also very fast in combination with an optimized model and hardware. Autoencoder structures are quite easy, check out this medium,keras example

Paul Higazi

Posted 2020-04-21T13:40:50.160

Reputation: 86

Well, I will be testing it out. But my assumption is that the encoder is able to compress at least a single image in milliseconds, so as to process a continuous stream of video. Is that idea viable, or too much to hope for? Maybe the autoencoder might take more time for mobile devices.... – neel g – 2020-04-21T16:05:23.637