Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Popular Computer Vision Model Benchmarks

Input Dimensions

  1. Batch Size = 8, Image = 3 x 224 x 224 (IF NOTHING SPECIFIED / CPU USED)
  2. Batch Size = 4, Image = 3 x 224 x 224
    • Resnet 101
    • Resnet 152

GPU USED --- Titan 1080Ti 12 GB

ModelFrameworkForward PassBackward PassTotal TimeInference
VGG16Pytorch 0.4.10.0245 s0.0606 s0.0852 s0.0234 s
Flux 0.6.8+0.0287 s0.0760 s0.1047 s0.0288 s
VGG16 BNPytorch 0.4.10.0271 s0.0672 s0.0943 s0.0273 s
Flux 0.6.8+0.0333 s0.0818 s0.1151 s0.0327 s
VGG19Pytorch 0.4.10.0281 s0.0741 s0.1021 s0.0280 s
Flux 0.6.8+0.0355 s0.0923 s0.1278 s0.0356 s
VGG19 BNPytorch 0.4.10.0321 s0.0812 s0.1134 s0.0325 s
Flux 0.6.8+0.0377 s0.0965 s0.1342 s0.0371 s
Resnet18Pytorch 0.4.10.0064 s0.0125 s0.0190 s0.0050 s
Flux 0.6.8+0.0079 s0.0218 s0.0297 s0.0079 s
Resnet34Pytorch 0.4.10.0092 s0.0216 s0.0307 s0.0092 s
Flux 0.6.8+0.0137 s0.0313 s0.0450 s0.0151 s
Resnet50Pytorch 0.4.10.0155 s0.0351 s0.0506 s0.0152 s
Flux 0.6.8+0.0205 s0.1795 s0.2000 s-
Resnet101Pytorch 0.4.10.0297 s0.0379 s0.0676 s0.0298 s
Flux 0.6.8+0.0215 s0.0616 s0.0831 s0.0208 s
Resnet152Pytorch 0.4.10.0431 s0.05337 s0.0965 s0.0429 s
Flux 0.6.8+0.0308 s0.0807 s0.1115 s0.0298 s

CPU USED --- Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz

ModelFrameworkForward PassBackward PassTotal TimeInference
VGG16Pytorch 0.4.16.6024 s9.4336 s16.036 s6.4216 s
Flux 0.6.8+10.458 s10.245 s20.703 s10.111 s
VGG16 BNPytorch 0.4.17.0793 s9.0536 s16.132 s6.7909 s
Flux 0.6.8+29.633 s18.649 s49.282 s24.047 s
VGG19Pytorch 0.4.18.3075 s10.899 s19.207 s8.0593 s
Flux 0.6.8+12.226 s12.457 s24.683 s12.029 s
VGG19 BNPytorch 0.4.18.7794 s12.739 s21.519 s8.4044 s
Flux 0.6.8+28.518 s21.464 s49.982 s22.649 s

Individual Layer Benchmarks

Layer Descriptions

  1. Conv3x3/1 = Conv2d, 3x3 Kernel, 1x1 Padding, 1x1 Stride
  2. Conv5x5/1 = Conv2d, 5x5 Kernel, 2x2 Padding, 1x1 Stride
  3. Conv3x3/2 = Conv2d, 3x3 Kernel, 1x1 Padding, 2x2 Stride
  4. Conv5x5/2 = Conv2d, 5x5 Kernel, 2x2 Padding, 2x2 Stride
  5. Dense = 1024 => 512
  6. BatchNorm = BatchNorm2d

GPU USED --- Titan 1080Ti 12 GB

LayerFrameworkForward PassBackward PassTotal Time
Conv3x3/1Pytorch 0.4.10.2312 ms0.5359 ms0.7736 ms
Flux 0.6.8+0.1984 ms0.7640 ms0.9624 ms
Conv5x5/1Pytorch 0.4.10.2667 ms0.5345 ms0.8299 ms
Flux 0.6.8+0.2065 ms0.8075 ms1.014 ms
Conv3x3/2Pytorch 0.4.10.1170 ms0.2203 ms0.3376 ms
Flux 0.6.8+0.0927 ms0.5988 ms0.6915 ms
Conv5x5/2Pytorch 0.4.10.1233 ms0.2162 ms0.3407 ms
Flux 0.6.8+0.0941 ms0.6515 ms0.7456 ms
DensePytorch 0.4.10.0887 ms0.1523 ms0.2411 ms
Flux 0.6.8+0.0432 ms0.2044 ms0.2476 ms
BatchNormPytorch 0.4.10.1096 ms0.1999 ms0.3095 ms
Flux 0.6.8+0.2211 ms0.2849 ms0.5060 ms

NOTE

To reproduce the benchmarks checkout Flux 0.6.8+avik-pal/cudnn_batchnorm and CuArraysmaster. Since the Batchnorm GPU is broken for Flux 0.6.8+ master so we cannot perform the benchmarks using that.

About

Benchmarks across Deep Learning Frameworks in Julia and Python

Topics

Resources

Stars

25 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages