Performance on different image size.
tholcman opened this issue · comments
Same trained resnet50 but converted with different mo_mxnet_converter.py ... --img-width 160 --img-height 300 ...
Image size => net size => Deeplens FPS
224 x 224 => 150528 => ~5/s
300 x 300 => 270000 => ~2.7/s
160 x 160 => 76800 => ~5.6/s
Where is bottleneck?
Found your issue trying to validate my own framerate checks. I get 3.4 frames per second for the 300x300, just running inference (not getting a new image or writing anything to disk, etc.). I get 2.7 f/s when I'm getting a new image and writing a little bit to disk, etc. So I think our results are in agreement.
I think the bottleneck really is just the compute engine: the Intel Atom processor isn't very good for deep networks, even with the conversion to single precision and whatever other optimizations AWS put in there.
For comparison, the NVIDIA TX2 can get around 18 frames per second with this kind of network at 300x300. That device is more expensive and a little harder to work with, maybe, but it's way faster.