Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cuDNN based implementation for Deconv (former: doing group in one call is needed) #386

Closed
CFAndy opened this issue Aug 4, 2017 · 31 comments

Comments

@CFAndy
Copy link

CFAndy commented Aug 4, 2017

cuDNN supports Grouped Convolutions start from cuDNNv7.
Please enable this feature to boost the training of mobile net.

@fengziyong
Copy link

I have try to use cuDNNv7 in original caffe, but I found it was slower than the original implementation in group mode.
@drnikolaev Do you have test this feature?

@drnikolaev
Copy link

@fengziyong could you paste v6 and v7 logs here?

@fengziyong
Copy link

This is the log of caffe time with cuDNNv7

I0808 10:10:09.390646 30966 caffe.cpp:406] Average time per layer:
I0808 10:10:09.390661 30966 caffe.cpp:409] input forward: 0.00277888 ms.
I0808 10:10:09.390683 30966 caffe.cpp:412] input backward: 0.00255168 ms.
I0808 10:10:09.390702 30966 caffe.cpp:409] conv1 forward: 0.0715469 ms.
I0808 10:10:09.390719 30966 caffe.cpp:412] conv1 backward: 0.0911002 ms.
I0808 10:10:09.390738 30966 caffe.cpp:409] conv1/bn forward: 0.304873 ms.
I0808 10:10:09.390755 30966 caffe.cpp:412] conv1/bn backward: 0.416713 ms.
I0808 10:10:09.390771 30966 caffe.cpp:409] conv1/scale forward: 0.0492749 ms.
I0808 10:10:09.390789 30966 caffe.cpp:412] conv1/scale backward: 0.294749 ms.
I0808 10:10:09.390805 30966 caffe.cpp:409] relu1 forward: 0.0202406 ms.
I0808 10:10:09.390821 30966 caffe.cpp:412] relu1 backward: 0.00262912 ms.
I0808 10:10:09.390837 30966 caffe.cpp:409] conv2_1/dw forward: 0.598963 ms.
I0808 10:10:09.390854 30966 caffe.cpp:412] conv2_1/dw backward: 0.897116 ms.
I0808 10:10:09.390872 30966 caffe.cpp:409] conv2_1/dw/bn forward: 0.350923 ms.
I0808 10:10:09.390887 30966 caffe.cpp:412] conv2_1/dw/bn backward: 0.416815 ms.
I0808 10:10:09.390903 30966 caffe.cpp:409] conv2_1/dw/scale forward: 0.0484314 ms.
I0808 10:10:09.390920 30966 caffe.cpp:412] conv2_1/dw/scale backward: 0.294549 ms.
I0808 10:10:09.390938 30966 caffe.cpp:409] relu2_1/dw forward: 0.0187565 ms.
I0808 10:10:09.390954 30966 caffe.cpp:412] relu2_1/dw backward: 0.0026176 ms.
I0808 10:10:09.390969 30966 caffe.cpp:409] conv2_1/sep forward: 0.0856237 ms.
I0808 10:10:09.390985 30966 caffe.cpp:412] conv2_1/sep backward: 0.139483 ms.
I0808 10:10:09.391001 30966 caffe.cpp:409] conv2_1/sep/bn forward: 0.449968 ms.
I0808 10:10:09.391063 30966 caffe.cpp:412] conv2_1/sep/bn backward: 0.570901 ms.
I0808 10:10:09.391083 30966 caffe.cpp:409] conv2_1/sep/scale forward: 0.0785843 ms.
I0808 10:10:09.391098 30966 caffe.cpp:412] conv2_1/sep/scale backward: 0.329257 ms.
I0808 10:10:09.391114 30966 caffe.cpp:409] relu2_1/sep forward: 0.0392538 ms.
I0808 10:10:09.391130 30966 caffe.cpp:412] relu2_1/sep backward: 0.00267648 ms.
I0808 10:10:09.391145 30966 caffe.cpp:409] conv2_2/dw forward: 1.12037 ms.
I0808 10:10:09.391161 30966 caffe.cpp:412] conv2_2/dw backward: 1.54719 ms.
I0808 10:10:09.391177 30966 caffe.cpp:409] conv2_2/dw/bn forward: 0.135922 ms.
I0808 10:10:09.391193 30966 caffe.cpp:412] conv2_2/dw/bn backward: 0.137009 ms.
I0808 10:10:09.391209 30966 caffe.cpp:409] conv2_2/dw/scale forward: 0.03288 ms.
I0808 10:10:09.391227 30966 caffe.cpp:412] conv2_2/dw/scale backward: 0.0882643 ms.
I0808 10:10:09.391242 30966 caffe.cpp:409] relu2_2/dw forward: 0.0168083 ms.
I0808 10:10:09.391258 30966 caffe.cpp:412] relu2_2/dw backward: 0.0026048 ms.
I0808 10:10:09.391274 30966 caffe.cpp:409] conv2_2/sep forward: 0.0740742 ms.
I0808 10:10:09.391290 30966 caffe.cpp:412] conv2_2/sep backward: 0.0891462 ms.
I0808 10:10:09.391306 30966 caffe.cpp:409] conv2_2/sep/bn forward: 0.159213 ms.
I0808 10:10:09.391322 30966 caffe.cpp:412] conv2_2/sep/bn backward: 0.229276 ms.
I0808 10:10:09.391338 30966 caffe.cpp:409] conv2_2/sep/scale forward: 0.0471699 ms.
I0808 10:10:09.391355 30966 caffe.cpp:412] conv2_2/sep/scale backward: 0.109355 ms.
I0808 10:10:09.391371 30966 caffe.cpp:409] relu2_2/sep forward: 0.0188134 ms.
I0808 10:10:09.391386 30966 caffe.cpp:412] relu2_2/sep backward: 0.00302912 ms.
I0808 10:10:09.391402 30966 caffe.cpp:409] conv3_1/dw forward: 2.18556 ms.
I0808 10:10:09.391420 30966 caffe.cpp:412] conv3_1/dw backward: 3.05514 ms.
I0808 10:10:09.391435 30966 caffe.cpp:409] conv3_1/dw/bn forward: 0.171671 ms.
I0808 10:10:09.391451 30966 caffe.cpp:412] conv3_1/dw/bn backward: 0.228903 ms.
I0808 10:10:09.391468 30966 caffe.cpp:409] conv3_1/dw/scale forward: 0.0470138 ms.
I0808 10:10:09.391484 30966 caffe.cpp:412] conv3_1/dw/scale backward: 0.109146 ms.
I0808 10:10:09.391499 30966 caffe.cpp:409] relu3_1/dw forward: 0.0187296 ms.
I0808 10:10:09.391515 30966 caffe.cpp:412] relu3_1/dw backward: 0.00260672 ms.
I0808 10:10:09.391530 30966 caffe.cpp:409] conv3_1/sep forward: 0.0839322 ms.
I0808 10:10:09.391546 30966 caffe.cpp:412] conv3_1/sep backward: 0.136083 ms.
I0808 10:10:09.391561 30966 caffe.cpp:409] conv3_1/sep/bn forward: 0.158383 ms.
I0808 10:10:09.391577 30966 caffe.cpp:412] conv3_1/sep/bn backward: 0.232031 ms.
I0808 10:10:09.391593 30966 caffe.cpp:409] conv3_1/sep/scale forward: 0.0474067 ms.
I0808 10:10:09.391609 30966 caffe.cpp:412] conv3_1/sep/scale backward: 0.111229 ms.
I0808 10:10:09.391624 30966 caffe.cpp:409] relu3_1/sep forward: 0.018416 ms.
I0808 10:10:09.391640 30966 caffe.cpp:412] relu3_1/sep backward: 0.00267456 ms.
I0808 10:10:09.391656 30966 caffe.cpp:409] conv3_2/dw forward: 2.17518 ms.
I0808 10:10:09.391672 30966 caffe.cpp:412] conv3_2/dw backward: 3.60101 ms.
I0808 10:10:09.391687 30966 caffe.cpp:409] conv3_2/dw/bn forward: 0.134544 ms.
I0808 10:10:09.391703 30966 caffe.cpp:412] conv3_2/dw/bn backward: 0.111064 ms.
I0808 10:10:09.391719 30966 caffe.cpp:409] conv3_2/dw/scale forward: 0.0259533 ms.
I0808 10:10:09.391734 30966 caffe.cpp:412] conv3_2/dw/scale backward: 0.0387475 ms.
I0808 10:10:09.391751 30966 caffe.cpp:409] relu3_2/dw forward: 0.0162758 ms.
I0808 10:10:09.391767 30966 caffe.cpp:412] relu3_2/dw backward: 0.00267072 ms.
I0808 10:10:09.391782 30966 caffe.cpp:409] conv3_2/sep forward: 0.0766016 ms.
I0808 10:10:09.391798 30966 caffe.cpp:412] conv3_2/sep backward: 0.1098 ms.
I0808 10:10:09.391813 30966 caffe.cpp:409] conv3_2/sep/bn forward: 0.134196 ms.
I0808 10:10:09.391829 30966 caffe.cpp:412] conv3_2/sep/bn backward: 0.115663 ms.
I0808 10:10:09.391844 30966 caffe.cpp:409] conv3_2/sep/scale forward: 0.0288358 ms.
I0808 10:10:09.391860 30966 caffe.cpp:412] conv3_2/sep/scale backward: 0.0532717 ms.
I0808 10:10:09.391876 30966 caffe.cpp:409] relu3_2/sep forward: 0.0163469 ms.
I0808 10:10:09.391904 30966 caffe.cpp:412] relu3_2/sep backward: 0.00275968 ms.
I0808 10:10:09.391921 30966 caffe.cpp:409] conv4_1/dw forward: 4.34904 ms.
I0808 10:10:09.391939 30966 caffe.cpp:412] conv4_1/dw backward: 7.09596 ms.
I0808 10:10:09.391955 30966 caffe.cpp:409] conv4_1/dw/bn forward: 0.136949 ms.
I0808 10:10:09.391971 30966 caffe.cpp:412] conv4_1/dw/bn backward: 0.114621 ms.
I0808 10:10:09.391988 30966 caffe.cpp:409] conv4_1/dw/scale forward: 0.0286419 ms.
I0808 10:10:09.392004 30966 caffe.cpp:412] conv4_1/dw/scale backward: 0.0534246 ms.
I0808 10:10:09.392019 30966 caffe.cpp:409] relu4_1/dw forward: 0.0166899 ms.
I0808 10:10:09.392035 30966 caffe.cpp:412] relu4_1/dw backward: 0.00274432 ms.
I0808 10:10:09.392050 30966 caffe.cpp:409] conv4_1/sep forward: 0.0894509 ms.
I0808 10:10:09.392066 30966 caffe.cpp:412] conv4_1/sep backward: 0.128941 ms.
I0808 10:10:09.392081 30966 caffe.cpp:409] conv4_1/sep/bn forward: 0.133632 ms.
I0808 10:10:09.392097 30966 caffe.cpp:412] conv4_1/sep/bn backward: 0.115882 ms.
I0808 10:10:09.392113 30966 caffe.cpp:409] conv4_1/sep/scale forward: 0.0291955 ms.
I0808 10:10:09.392128 30966 caffe.cpp:412] conv4_1/sep/scale backward: 0.053447 ms.
I0808 10:10:09.392144 30966 caffe.cpp:409] relu4_1/sep forward: 0.0164378 ms.
I0808 10:10:09.392160 30966 caffe.cpp:412] relu4_1/sep backward: 0.00287168 ms.
I0808 10:10:09.392176 30966 caffe.cpp:409] conv4_2/dw forward: 4.27491 ms.
I0808 10:10:09.392191 30966 caffe.cpp:412] conv4_2/dw backward: 7.54594 ms.
I0808 10:10:09.392207 30966 caffe.cpp:409] conv4_2/dw/bn forward: 0.134446 ms.
I0808 10:10:09.392223 30966 caffe.cpp:412] conv4_2/dw/bn backward: 0.121414 ms.
I0808 10:10:09.392240 30966 caffe.cpp:409] conv4_2/dw/scale forward: 0.0232659 ms.
I0808 10:10:09.392256 30966 caffe.cpp:412] conv4_2/dw/scale backward: 0.0357133 ms.
I0808 10:10:09.392271 30966 caffe.cpp:409] relu4_2/dw forward: 0.0161843 ms.
I0808 10:10:09.392287 30966 caffe.cpp:412] relu4_2/dw backward: 0.0026944 ms.
I0808 10:10:09.392302 30966 caffe.cpp:409] conv4_2/sep forward: 0.0873075 ms.
I0808 10:10:09.392318 30966 caffe.cpp:412] conv4_2/sep backward: 0.119966 ms.
I0808 10:10:09.392333 30966 caffe.cpp:409] conv4_2/sep/bn forward: 0.133564 ms.
I0808 10:10:09.392349 30966 caffe.cpp:412] conv4_2/sep/bn backward: 0.113676 ms.
I0808 10:10:09.392364 30966 caffe.cpp:409] conv4_2/sep/scale forward: 0.0244922 ms.
I0808 10:10:09.392380 30966 caffe.cpp:412] conv4_2/sep/scale backward: 0.0369024 ms.
I0808 10:10:09.392395 30966 caffe.cpp:409] relu4_2/sep forward: 0.0158253 ms.
I0808 10:10:09.392411 30966 caffe.cpp:412] relu4_2/sep backward: 0.00287424 ms.
I0808 10:10:09.392427 30966 caffe.cpp:409] conv5_1/dw forward: 8.48744 ms.
I0808 10:10:09.392443 30966 caffe.cpp:412] conv5_1/dw backward: 14.07 ms.
I0808 10:10:09.392459 30966 caffe.cpp:409] conv5_1/dw/bn forward: 0.135228 ms.
I0808 10:10:09.392474 30966 caffe.cpp:412] conv5_1/dw/bn backward: 0.122666 ms.
I0808 10:10:09.392490 30966 caffe.cpp:409] conv5_1/dw/scale forward: 0.0254214 ms.
I0808 10:10:09.392505 30966 caffe.cpp:412] conv5_1/dw/scale backward: 0.0356506 ms.
I0808 10:10:09.392521 30966 caffe.cpp:409] relu5_1/dw forward: 0.0166016 ms.
I0808 10:10:09.392537 30966 caffe.cpp:412] relu5_1/dw backward: 0.00256256 ms.
I0808 10:10:09.392552 30966 caffe.cpp:409] conv5_1/sep forward: 0.108993 ms.
I0808 10:10:09.392568 30966 caffe.cpp:412] conv5_1/sep backward: 0.189235 ms.
I0808 10:10:09.392583 30966 caffe.cpp:409] conv5_1/sep/bn forward: 0.134491 ms.
I0808 10:10:09.392599 30966 caffe.cpp:412] conv5_1/sep/bn backward: 0.124356 ms.
I0808 10:10:09.392614 30966 caffe.cpp:409] conv5_1/sep/scale forward: 0.0245869 ms.
I0808 10:10:09.392630 30966 caffe.cpp:412] conv5_1/sep/scale backward: 0.037399 ms.
I0808 10:10:09.392647 30966 caffe.cpp:409] relu5_1/sep forward: 0.0159514 ms.
I0808 10:10:09.392662 30966 caffe.cpp:412] relu5_1/sep backward: 0.00283392 ms.
I0808 10:10:09.392678 30966 caffe.cpp:409] conv5_2/dw forward: 8.45436 ms.
I0808 10:10:09.392693 30966 caffe.cpp:412] conv5_2/dw backward: 13.9284 ms.
I0808 10:10:09.392720 30966 caffe.cpp:409] conv5_2/dw/bn forward: 0.134526 ms.
I0808 10:10:09.392737 30966 caffe.cpp:412] conv5_2/dw/bn backward: 0.112565 ms.
I0808 10:10:09.392753 30966 caffe.cpp:409] conv5_2/dw/scale forward: 0.024729 ms.
I0808 10:10:09.392769 30966 caffe.cpp:412] conv5_2/dw/scale backward: 0.0398656 ms.
I0808 10:10:09.392784 30966 caffe.cpp:409] relu5_2/dw forward: 0.0162349 ms.
I0808 10:10:09.392801 30966 caffe.cpp:412] relu5_2/dw backward: 0.0026944 ms.
I0808 10:10:09.392817 30966 caffe.cpp:409] conv5_2/sep forward: 0.108748 ms.
I0808 10:10:09.392832 30966 caffe.cpp:412] conv5_2/sep backward: 0.26656 ms.
I0808 10:10:09.392848 30966 caffe.cpp:409] conv5_2/sep/bn forward: 0.133064 ms.
I0808 10:10:09.392863 30966 caffe.cpp:412] conv5_2/sep/bn backward: 0.110901 ms.
I0808 10:10:09.392879 30966 caffe.cpp:409] conv5_2/sep/scale forward: 0.0243354 ms.
I0808 10:10:09.392895 30966 caffe.cpp:412] conv5_2/sep/scale backward: 0.0349606 ms.
I0808 10:10:09.392912 30966 caffe.cpp:409] relu5_2/sep forward: 0.0162816 ms.
I0808 10:10:09.392928 30966 caffe.cpp:412] relu5_2/sep backward: 0.0025792 ms.
I0808 10:10:09.392945 30966 caffe.cpp:409] conv5_3/dw forward: 8.51 ms.
I0808 10:10:09.392961 30966 caffe.cpp:412] conv5_3/dw backward: 13.7442 ms.
I0808 10:10:09.392976 30966 caffe.cpp:409] conv5_3/dw/bn forward: 0.134197 ms.
I0808 10:10:09.392992 30966 caffe.cpp:412] conv5_3/dw/bn backward: 0.110033 ms.
I0808 10:10:09.393007 30966 caffe.cpp:409] conv5_3/dw/scale forward: 0.0245946 ms.
I0808 10:10:09.393023 30966 caffe.cpp:412] conv5_3/dw/scale backward: 0.0415571 ms.
I0808 10:10:09.393039 30966 caffe.cpp:409] relu5_3/dw forward: 0.0165331 ms.
I0808 10:10:09.393054 30966 caffe.cpp:412] relu5_3/dw backward: 0.0029248 ms.
I0808 10:10:09.393070 30966 caffe.cpp:409] conv5_3/sep forward: 0.108776 ms.
I0808 10:10:09.393086 30966 caffe.cpp:412] conv5_3/sep backward: 0.188888 ms.
I0808 10:10:09.393102 30966 caffe.cpp:409] conv5_3/sep/bn forward: 0.132952 ms.
I0808 10:10:09.393117 30966 caffe.cpp:412] conv5_3/sep/bn backward: 0.113599 ms.
I0808 10:10:09.393133 30966 caffe.cpp:409] conv5_3/sep/scale forward: 0.0250394 ms.
I0808 10:10:09.393149 30966 caffe.cpp:412] conv5_3/sep/scale backward: 0.0444826 ms.
I0808 10:10:09.393164 30966 caffe.cpp:409] relu5_3/sep forward: 0.01664 ms.
I0808 10:10:09.393180 30966 caffe.cpp:412] relu5_3/sep backward: 0.00266176 ms.
I0808 10:10:09.393196 30966 caffe.cpp:409] conv5_4/dw forward: 8.43839 ms.
I0808 10:10:09.393211 30966 caffe.cpp:412] conv5_4/dw backward: 13.7934 ms.
I0808 10:10:09.393227 30966 caffe.cpp:409] conv5_4/dw/bn forward: 0.134934 ms.
I0808 10:10:09.393242 30966 caffe.cpp:412] conv5_4/dw/bn backward: 0.109309 ms.
I0808 10:10:09.393259 30966 caffe.cpp:409] conv5_4/dw/scale forward: 0.0244256 ms.
I0808 10:10:09.393275 30966 caffe.cpp:412] conv5_4/dw/scale backward: 0.0336243 ms.
I0808 10:10:09.393291 30966 caffe.cpp:409] relu5_4/dw forward: 0.0165037 ms.
I0808 10:10:09.393301 30966 caffe.cpp:412] relu5_4/dw backward: 0.00254208 ms.
I0808 10:10:09.393308 30966 caffe.cpp:409] conv5_4/sep forward: 0.1085 ms.
I0808 10:10:09.393316 30966 caffe.cpp:412] conv5_4/sep backward: 0.196179 ms.
I0808 10:10:09.393323 30966 caffe.cpp:409] conv5_4/sep/bn forward: 0.132638 ms.
I0808 10:10:09.393332 30966 caffe.cpp:412] conv5_4/sep/bn backward: 0.111466 ms.
I0808 10:10:09.393350 30966 caffe.cpp:409] conv5_4/sep/scale forward: 0.0241043 ms.
I0808 10:10:09.393371 30966 caffe.cpp:412] conv5_4/sep/scale backward: 0.0351661 ms.
I0808 10:10:09.393405 30966 caffe.cpp:409] relu5_4/sep forward: 0.0159667 ms.
I0808 10:10:09.393420 30966 caffe.cpp:412] relu5_4/sep backward: 0.00254528 ms.
I0808 10:10:09.393436 30966 caffe.cpp:409] conv5_5/dw forward: 8.44282 ms.
I0808 10:10:09.393451 30966 caffe.cpp:412] conv5_5/dw backward: 13.6902 ms.
I0808 10:10:09.393467 30966 caffe.cpp:409] conv5_5/dw/bn forward: 0.13431 ms.
I0808 10:10:09.393482 30966 caffe.cpp:412] conv5_5/dw/bn backward: 0.109409 ms.
I0808 10:10:09.393498 30966 caffe.cpp:409] conv5_5/dw/scale forward: 0.0245472 ms.
I0808 10:10:09.393514 30966 caffe.cpp:412] conv5_5/dw/scale backward: 0.033911 ms.
I0808 10:10:09.393541 30966 caffe.cpp:409] relu5_5/dw forward: 0.0162438 ms.
I0808 10:10:09.393558 30966 caffe.cpp:412] relu5_5/dw backward: 0.00256832 ms.
I0808 10:10:09.393573 30966 caffe.cpp:409] conv5_5/sep forward: 0.108691 ms.
I0808 10:10:09.393589 30966 caffe.cpp:412] conv5_5/sep backward: 0.195023 ms.
I0808 10:10:09.393605 30966 caffe.cpp:409] conv5_5/sep/bn forward: 0.133254 ms.
I0808 10:10:09.393622 30966 caffe.cpp:412] conv5_5/sep/bn backward: 0.112006 ms.
I0808 10:10:09.393638 30966 caffe.cpp:409] conv5_5/sep/scale forward: 0.0246112 ms.
I0808 10:10:09.393654 30966 caffe.cpp:412] conv5_5/sep/scale backward: 0.0351034 ms.
I0808 10:10:09.393669 30966 caffe.cpp:409] relu5_5/sep forward: 0.015984 ms.
I0808 10:10:09.393685 30966 caffe.cpp:412] relu5_5/sep backward: 0.00252864 ms.
I0808 10:10:09.393702 30966 caffe.cpp:409] conv5_6/dw forward: 8.51154 ms.
I0808 10:10:09.393717 30966 caffe.cpp:412] conv5_6/dw backward: 14.636 ms.
I0808 10:10:09.393733 30966 caffe.cpp:409] conv5_6/dw/bn forward: 0.134193 ms.
I0808 10:10:09.393748 30966 caffe.cpp:412] conv5_6/dw/bn backward: 0.106776 ms.
I0808 10:10:09.393764 30966 caffe.cpp:409] conv5_6/dw/scale forward: 0.0237222 ms.
I0808 10:10:09.393779 30966 caffe.cpp:412] conv5_6/dw/scale backward: 0.0333638 ms.
I0808 10:10:09.393795 30966 caffe.cpp:409] relu5_6/dw forward: 0.016592 ms.
I0808 10:10:09.393810 30966 caffe.cpp:412] relu5_6/dw backward: 0.00243712 ms.
I0808 10:10:09.393826 30966 caffe.cpp:409] conv5_6/sep forward: 0.158414 ms.
I0808 10:10:09.393841 30966 caffe.cpp:412] conv5_6/sep backward: 0.15766 ms.
I0808 10:10:09.393857 30966 caffe.cpp:409] conv5_6/sep/bn forward: 0.133308 ms.
I0808 10:10:09.393872 30966 caffe.cpp:412] conv5_6/sep/bn backward: 0.109025 ms.
I0808 10:10:09.393888 30966 caffe.cpp:409] conv5_6/sep/scale forward: 0.0238963 ms.
I0808 10:10:09.393904 30966 caffe.cpp:412] conv5_6/sep/scale backward: 0.0345286 ms.
I0808 10:10:09.393920 30966 caffe.cpp:409] relu5_6/sep forward: 0.0161734 ms.
I0808 10:10:09.393935 30966 caffe.cpp:412] relu5_6/sep backward: 0.0026368 ms.
I0808 10:10:09.393950 30966 caffe.cpp:409] conv6/dw forward: 16.8977 ms.
I0808 10:10:09.393967 30966 caffe.cpp:412] conv6/dw backward: 23.7292 ms.
I0808 10:10:09.393982 30966 caffe.cpp:409] conv6/dw/bn forward: 0.136904 ms.
I0808 10:10:09.393998 30966 caffe.cpp:412] conv6/dw/bn backward: 0.108778 ms.
I0808 10:10:09.394013 30966 caffe.cpp:409] conv6/dw/scale forward: 0.0243974 ms.
I0808 10:10:09.394029 30966 caffe.cpp:412] conv6/dw/scale backward: 0.033737 ms.
I0808 10:10:09.394044 30966 caffe.cpp:409] relu6/dw forward: 0.0166458 ms.
I0808 10:10:09.394060 30966 caffe.cpp:412] relu6/dw backward: 0.00258048 ms.
I0808 10:10:09.394076 30966 caffe.cpp:409] conv6/sep forward: 0.187379 ms.
I0808 10:10:09.394093 30966 caffe.cpp:412] conv6/sep backward: 0.342564 ms.
I0808 10:10:09.394107 30966 caffe.cpp:409] conv6/sep/bn forward: 0.136913 ms.
I0808 10:10:09.394122 30966 caffe.cpp:412] conv6/sep/bn backward: 0.108041 ms.
I0808 10:10:09.394138 30966 caffe.cpp:409] conv6/sep/scale forward: 0.0236717 ms.
I0808 10:10:09.394156 30966 caffe.cpp:412] conv6/sep/scale backward: 0.0339565 ms.
I0808 10:10:09.394179 30966 caffe.cpp:409] relu6/sep forward: 0.0167315 ms.
I0808 10:10:09.394196 30966 caffe.cpp:412] relu6/sep backward: 0.00249536 ms.
I0808 10:10:09.394212 30966 caffe.cpp:409] pool6 forward: 0.0209395 ms.
I0808 10:10:09.394227 30966 caffe.cpp:412] pool6 backward: 0.0022912 ms.
I0808 10:10:09.394263 30966 caffe.cpp:417] Average Forward pass: 90.6376 ms.
I0808 10:10:09.394282 30966 caffe.cpp:419] Average Backward pass: 141.318 ms.
I0808 10:10:09.394302 30966 caffe.cpp:421] Average Forward-Backward: 232.109 ms.
I0808 10:10:09.394321 30966 caffe.cpp:423] Total Time: 11605.5 ms.
I0808 10:10:09.394336 30966 caffe.cpp:424] *** Benchmark ends ***

======================================================================
This is log with engine caffe

I0808 10:30:20.463733 15472 caffe.cpp:406] Average time per layer:
I0808 10:30:20.463752 15472 caffe.cpp:409] input forward: 0.00252416 ms.
I0808 10:30:20.463770 15472 caffe.cpp:412] input backward: 0.00261056 ms.
I0808 10:30:20.463786 15472 caffe.cpp:409] conv1 forward: 0.0691603 ms.
I0808 10:30:20.463801 15472 caffe.cpp:412] conv1 backward: 0.0968032 ms.
I0808 10:30:20.463817 15472 caffe.cpp:409] conv1/bn forward: 0.307778 ms.
I0808 10:30:20.463840 15472 caffe.cpp:412] conv1/bn backward: 0.415388 ms.
I0808 10:30:20.463856 15472 caffe.cpp:409] conv1/scale forward: 0.0488538 ms.
I0808 10:30:20.463917 15472 caffe.cpp:412] conv1/scale backward: 0.284804 ms.
I0808 10:30:20.463934 15472 caffe.cpp:409] relu1 forward: 0.0195078 ms.
I0808 10:30:20.463950 15472 caffe.cpp:412] relu1 backward: 0.00255424 ms.
I0808 10:30:20.463966 15472 caffe.cpp:409] conv2_1/dw forward: 2.16749 ms.
I0808 10:30:20.463984 15472 caffe.cpp:412] conv2_1/dw backward: 2.74968 ms.
I0808 10:30:20.463999 15472 caffe.cpp:409] conv2_1/dw/bn forward: 0.353951 ms.
I0808 10:30:20.464015 15472 caffe.cpp:412] conv2_1/dw/bn backward: 0.416083 ms.
I0808 10:30:20.464030 15472 caffe.cpp:409] conv2_1/dw/scale forward: 0.0411923 ms.
I0808 10:30:20.464045 15472 caffe.cpp:412] conv2_1/dw/scale backward: 0.291907 ms.
I0808 10:30:20.464059 15472 caffe.cpp:409] relu2_1/dw forward: 0.0182234 ms.
I0808 10:30:20.464074 15472 caffe.cpp:412] relu2_1/dw backward: 0.00253824 ms.
I0808 10:30:20.464090 15472 caffe.cpp:409] conv2_1/sep forward: 0.085863 ms.
I0808 10:30:20.464105 15472 caffe.cpp:412] conv2_1/sep backward: 0.147259 ms.
I0808 10:30:20.464120 15472 caffe.cpp:409] conv2_1/sep/bn forward: 0.451743 ms.
I0808 10:30:20.464139 15472 caffe.cpp:412] conv2_1/sep/bn backward: 0.593952 ms.
I0808 10:30:20.464160 15472 caffe.cpp:409] conv2_1/sep/scale forward: 0.0693939 ms.
I0808 10:30:20.464176 15472 caffe.cpp:412] conv2_1/sep/scale backward: 0.31827 ms.
I0808 10:30:20.464191 15472 caffe.cpp:409] relu2_1/sep forward: 0.0387565 ms.
I0808 10:30:20.464210 15472 caffe.cpp:412] relu2_1/sep backward: 0.0025792 ms.
I0808 10:30:20.464226 15472 caffe.cpp:409] conv2_2/dw forward: 1.06229 ms.
I0808 10:30:20.464241 15472 caffe.cpp:412] conv2_2/dw backward: 1.49823 ms.
I0808 10:30:20.464257 15472 caffe.cpp:409] conv2_2/dw/bn forward: 0.130729 ms.
I0808 10:30:20.464272 15472 caffe.cpp:412] conv2_2/dw/bn backward: 0.137855 ms.
I0808 10:30:20.464287 15472 caffe.cpp:409] conv2_2/dw/scale forward: 0.0319226 ms.
I0808 10:30:20.464303 15472 caffe.cpp:412] conv2_2/dw/scale backward: 0.0850835 ms.
I0808 10:30:20.464318 15472 caffe.cpp:409] relu2_2/dw forward: 0.0163706 ms.
I0808 10:30:20.464332 15472 caffe.cpp:412] relu2_2/dw backward: 0.0025632 ms.
I0808 10:30:20.464347 15472 caffe.cpp:409] conv2_2/sep forward: 0.0728506 ms.
I0808 10:30:20.464362 15472 caffe.cpp:412] conv2_2/sep backward: 0.090617 ms.
I0808 10:30:20.464378 15472 caffe.cpp:409] conv2_2/sep/bn forward: 0.157512 ms.
I0808 10:30:20.464395 15472 caffe.cpp:412] conv2_2/sep/bn backward: 0.227871 ms.
I0808 10:30:20.464411 15472 caffe.cpp:409] conv2_2/sep/scale forward: 0.0472173 ms.
I0808 10:30:20.464426 15472 caffe.cpp:412] conv2_2/sep/scale backward: 0.096599 ms.
I0808 10:30:20.464440 15472 caffe.cpp:409] relu2_2/sep forward: 0.0178272 ms.
I0808 10:30:20.464455 15472 caffe.cpp:412] relu2_2/sep backward: 0.0025728 ms.
I0808 10:30:20.464470 15472 caffe.cpp:409] conv3_1/dw forward: 2.0133 ms.
I0808 10:30:20.464485 15472 caffe.cpp:412] conv3_1/dw backward: 2.95629 ms.
I0808 10:30:20.464500 15472 caffe.cpp:409] conv3_1/dw/bn forward: 0.169302 ms.
I0808 10:30:20.464516 15472 caffe.cpp:412] conv3_1/dw/bn backward: 0.228674 ms.
I0808 10:30:20.464531 15472 caffe.cpp:409] conv3_1/dw/scale forward: 0.0470035 ms.
I0808 10:30:20.464547 15472 caffe.cpp:412] conv3_1/dw/scale backward: 0.103896 ms.
I0808 10:30:20.464562 15472 caffe.cpp:409] relu3_1/dw forward: 0.0178413 ms.
I0808 10:30:20.464577 15472 caffe.cpp:412] relu3_1/dw backward: 0.002656 ms.
I0808 10:30:20.464592 15472 caffe.cpp:409] conv3_1/sep forward: 0.0833146 ms.
I0808 10:30:20.464608 15472 caffe.cpp:412] conv3_1/sep backward: 0.134941 ms.
I0808 10:30:20.464623 15472 caffe.cpp:409] conv3_1/sep/bn forward: 0.157249 ms.
I0808 10:30:20.464638 15472 caffe.cpp:412] conv3_1/sep/bn backward: 0.227242 ms.
I0808 10:30:20.464653 15472 caffe.cpp:409] conv3_1/sep/scale forward: 0.046999 ms.
I0808 10:30:20.464668 15472 caffe.cpp:412] conv3_1/sep/scale backward: 0.0959552 ms.
I0808 10:30:20.464684 15472 caffe.cpp:409] relu3_1/sep forward: 0.0177914 ms.
I0808 10:30:20.464699 15472 caffe.cpp:412] relu3_1/sep backward: 0.00246848 ms.
I0808 10:30:20.464715 15472 caffe.cpp:409] conv3_2/dw forward: 0.604485 ms.
I0808 10:30:20.464741 15472 caffe.cpp:412] conv3_2/dw backward: 1.05883 ms.
I0808 10:30:20.464758 15472 caffe.cpp:409] conv3_2/dw/bn forward: 0.129097 ms.
I0808 10:30:20.464774 15472 caffe.cpp:412] conv3_2/dw/bn backward: 0.107766 ms.
I0808 10:30:20.464789 15472 caffe.cpp:409] conv3_2/dw/scale forward: 0.0258003 ms.
I0808 10:30:20.464804 15472 caffe.cpp:412] conv3_2/dw/scale backward: 0.0368877 ms.
I0808 10:30:20.464824 15472 caffe.cpp:409] relu3_2/dw forward: 0.0158669 ms.
I0808 10:30:20.464840 15472 caffe.cpp:412] relu3_2/dw backward: 0.00252416 ms.
I0808 10:30:20.464855 15472 caffe.cpp:409] conv3_2/sep forward: 0.0764013 ms.
I0808 10:30:20.464870 15472 caffe.cpp:412] conv3_2/sep backward: 0.108236 ms.
I0808 10:30:20.464886 15472 caffe.cpp:409] conv3_2/sep/bn forward: 0.131991 ms.
I0808 10:30:20.464901 15472 caffe.cpp:412] conv3_2/sep/bn backward: 0.110114 ms.
I0808 10:30:20.464916 15472 caffe.cpp:409] conv3_2/sep/scale forward: 0.0283667 ms.
I0808 10:30:20.464932 15472 caffe.cpp:412] conv3_2/sep/scale backward: 0.03832 ms.
I0808 10:30:20.464947 15472 caffe.cpp:409] relu3_2/sep forward: 0.0163104 ms.
I0808 10:30:20.464962 15472 caffe.cpp:412] relu3_2/sep backward: 0.00251648 ms.
I0808 10:30:20.464978 15472 caffe.cpp:409] conv4_1/dw forward: 1.11553 ms.
I0808 10:30:20.464993 15472 caffe.cpp:412] conv4_1/dw backward: 2.07198 ms.
I0808 10:30:20.465008 15472 caffe.cpp:409] conv4_1/dw/bn forward: 0.129773 ms.
I0808 10:30:20.465023 15472 caffe.cpp:412] conv4_1/dw/bn backward: 0.110858 ms.
I0808 10:30:20.465037 15472 caffe.cpp:409] conv4_1/dw/scale forward: 0.0285133 ms.
I0808 10:30:20.465054 15472 caffe.cpp:412] conv4_1/dw/scale backward: 0.0496064 ms.
I0808 10:30:20.465068 15472 caffe.cpp:409] relu4_1/dw forward: 0.0161286 ms.
I0808 10:30:20.465083 15472 caffe.cpp:412] relu4_1/dw backward: 0.00254272 ms.
I0808 10:30:20.465098 15472 caffe.cpp:409] conv4_1/sep forward: 0.0878541 ms.
I0808 10:30:20.465113 15472 caffe.cpp:412] conv4_1/sep backward: 0.128142 ms.
I0808 10:30:20.465128 15472 caffe.cpp:409] conv4_1/sep/bn forward: 0.13052 ms.
I0808 10:30:20.465143 15472 caffe.cpp:412] conv4_1/sep/bn backward: 0.110368 ms.
I0808 10:30:20.465158 15472 caffe.cpp:409] conv4_1/sep/scale forward: 0.0284896 ms.
I0808 10:30:20.465174 15472 caffe.cpp:412] conv4_1/sep/scale backward: 0.0393498 ms.
I0808 10:30:20.465189 15472 caffe.cpp:409] relu4_1/sep forward: 0.0161472 ms.
I0808 10:30:20.465204 15472 caffe.cpp:412] relu4_1/sep backward: 0.00247232 ms.
I0808 10:30:20.465219 15472 caffe.cpp:409] conv4_2/dw forward: 0.446041 ms.
I0808 10:30:20.465234 15472 caffe.cpp:412] conv4_2/dw backward: 1.78748 ms.
I0808 10:30:20.465250 15472 caffe.cpp:409] conv4_2/dw/bn forward: 0.128644 ms.
I0808 10:30:20.465265 15472 caffe.cpp:412] conv4_2/dw/bn backward: 0.114057 ms.
I0808 10:30:20.465279 15472 caffe.cpp:409] conv4_2/dw/scale forward: 0.0230195 ms.
I0808 10:30:20.465294 15472 caffe.cpp:412] conv4_2/dw/scale backward: 0.0329357 ms.
I0808 10:30:20.465309 15472 caffe.cpp:409] relu4_2/dw forward: 0.015687 ms.
I0808 10:30:20.465325 15472 caffe.cpp:412] relu4_2/dw backward: 0.00248448 ms.
I0808 10:30:20.465340 15472 caffe.cpp:409] conv4_2/sep forward: 0.0866125 ms.
I0808 10:30:20.465355 15472 caffe.cpp:412] conv4_2/sep backward: 0.119677 ms.
I0808 10:30:20.465370 15472 caffe.cpp:409] conv4_2/sep/bn forward: 0.130159 ms.
I0808 10:30:20.465386 15472 caffe.cpp:412] conv4_2/sep/bn backward: 0.108081 ms.
I0808 10:30:20.465401 15472 caffe.cpp:409] conv4_2/sep/scale forward: 0.0241664 ms.
I0808 10:30:20.465416 15472 caffe.cpp:412] conv4_2/sep/scale backward: 0.0330867 ms.
I0808 10:30:20.465431 15472 caffe.cpp:409] relu4_2/sep forward: 0.0156403 ms.
I0808 10:30:20.465447 15472 caffe.cpp:412] relu4_2/sep backward: 0.00264384 ms.
I0808 10:30:20.465461 15472 caffe.cpp:409] conv5_1/dw forward: 0.799318 ms.
I0808 10:30:20.465477 15472 caffe.cpp:412] conv5_1/dw backward: 3.5406 ms.
I0808 10:30:20.465492 15472 caffe.cpp:409] conv5_1/dw/bn forward: 0.129744 ms.
I0808 10:30:20.465507 15472 caffe.cpp:412] conv5_1/dw/bn backward: 0.113943 ms.
I0808 10:30:20.465533 15472 caffe.cpp:409] conv5_1/dw/scale forward: 0.0242643 ms.
I0808 10:30:20.465553 15472 caffe.cpp:412] conv5_1/dw/scale backward: 0.0332992 ms.
I0808 10:30:20.465567 15472 caffe.cpp:409] relu5_1/dw forward: 0.0159475 ms.
I0808 10:30:20.465584 15472 caffe.cpp:412] relu5_1/dw backward: 0.00264256 ms.
I0808 10:30:20.465598 15472 caffe.cpp:409] conv5_1/sep forward: 0.108349 ms.
I0808 10:30:20.465613 15472 caffe.cpp:412] conv5_1/sep backward: 0.195266 ms.
I0808 10:30:20.465628 15472 caffe.cpp:409] conv5_1/sep/bn forward: 0.131042 ms.
I0808 10:30:20.465643 15472 caffe.cpp:412] conv5_1/sep/bn backward: 0.108779 ms.
I0808 10:30:20.465658 15472 caffe.cpp:409] conv5_1/sep/scale forward: 0.0249248 ms.
I0808 10:30:20.465673 15472 caffe.cpp:412] conv5_1/sep/scale backward: 0.0333344 ms.
I0808 10:30:20.465688 15472 caffe.cpp:409] relu5_1/sep forward: 0.0159718 ms.
I0808 10:30:20.465703 15472 caffe.cpp:412] relu5_1/sep backward: 0.00250624 ms.
I0808 10:30:20.465718 15472 caffe.cpp:409] conv5_2/dw forward: 0.800546 ms.
I0808 10:30:20.465734 15472 caffe.cpp:412] conv5_2/dw backward: 3.46091 ms.
I0808 10:30:20.465749 15472 caffe.cpp:409] conv5_2/dw/bn forward: 0.129932 ms.
I0808 10:30:20.465764 15472 caffe.cpp:412] conv5_2/dw/bn backward: 0.106414 ms.
I0808 10:30:20.465778 15472 caffe.cpp:409] conv5_2/dw/scale forward: 0.0241382 ms.
I0808 10:30:20.465793 15472 caffe.cpp:412] conv5_2/dw/scale backward: 0.0322355 ms.
I0808 10:30:20.465808 15472 caffe.cpp:409] relu5_2/dw forward: 0.0159974 ms.
I0808 10:30:20.465823 15472 caffe.cpp:412] relu5_2/dw backward: 0.002528 ms.
I0808 10:30:20.465838 15472 caffe.cpp:409] conv5_2/sep forward: 0.108374 ms.
I0808 10:30:20.465853 15472 caffe.cpp:412] conv5_2/sep backward: 0.194064 ms.
I0808 10:30:20.465868 15472 caffe.cpp:409] conv5_2/sep/bn forward: 0.130724 ms.
I0808 10:30:20.465883 15472 caffe.cpp:412] conv5_2/sep/bn backward: 0.106468 ms.
I0808 10:30:20.465898 15472 caffe.cpp:409] conv5_2/sep/scale forward: 0.0242234 ms.
I0808 10:30:20.465914 15472 caffe.cpp:412] conv5_2/sep/scale backward: 0.0315002 ms.
I0808 10:30:20.465929 15472 caffe.cpp:409] relu5_2/sep forward: 0.0156947 ms.
I0808 10:30:20.465943 15472 caffe.cpp:412] relu5_2/sep backward: 0.0025024 ms.
I0808 10:30:20.465958 15472 caffe.cpp:409] conv5_3/dw forward: 0.799639 ms.
I0808 10:30:20.465973 15472 caffe.cpp:412] conv5_3/dw backward: 3.44319 ms.
I0808 10:30:20.465987 15472 caffe.cpp:409] conv5_3/dw/bn forward: 0.129442 ms.
I0808 10:30:20.466002 15472 caffe.cpp:412] conv5_3/dw/bn backward: 0.113786 ms.
I0808 10:30:20.466017 15472 caffe.cpp:409] conv5_3/dw/scale forward: 0.024135 ms.
I0808 10:30:20.466032 15472 caffe.cpp:412] conv5_3/dw/scale backward: 0.0323162 ms.
I0808 10:30:20.466048 15472 caffe.cpp:409] relu5_3/dw forward: 0.0157011 ms.
I0808 10:30:20.466063 15472 caffe.cpp:412] relu5_3/dw backward: 0.00246976 ms.
I0808 10:30:20.466078 15472 caffe.cpp:409] conv5_3/sep forward: 0.107512 ms.
I0808 10:30:20.466092 15472 caffe.cpp:412] conv5_3/sep backward: 0.187885 ms.
I0808 10:30:20.466107 15472 caffe.cpp:409] conv5_3/sep/bn forward: 0.131082 ms.
I0808 10:30:20.466122 15472 caffe.cpp:412] conv5_3/sep/bn backward: 0.113331 ms.
I0808 10:30:20.466137 15472 caffe.cpp:409] conv5_3/sep/scale forward: 0.0239866 ms.
I0808 10:30:20.466152 15472 caffe.cpp:412] conv5_3/sep/scale backward: 0.0317101 ms.
I0808 10:30:20.466183 15472 caffe.cpp:409] relu5_3/sep forward: 0.0157299 ms.
I0808 10:30:20.466202 15472 caffe.cpp:412] relu5_3/sep backward: 0.00270336 ms.
I0808 10:30:20.466218 15472 caffe.cpp:409] conv5_4/dw forward: 0.79984 ms.
I0808 10:30:20.466234 15472 caffe.cpp:412] conv5_4/dw backward: 3.44017 ms.
I0808 10:30:20.466250 15472 caffe.cpp:409] conv5_4/dw/bn forward: 0.129642 ms.
I0808 10:30:20.466265 15472 caffe.cpp:412] conv5_4/dw/bn backward: 0.107032 ms.
I0808 10:30:20.466280 15472 caffe.cpp:409] conv5_4/dw/scale forward: 0.0247898 ms.
I0808 10:30:20.466295 15472 caffe.cpp:412] conv5_4/dw/scale backward: 0.0322266 ms.
I0808 10:30:20.466310 15472 caffe.cpp:409] relu5_4/dw forward: 0.0159731 ms.
I0808 10:30:20.466325 15472 caffe.cpp:412] relu5_4/dw backward: 0.00247936 ms.
I0808 10:30:20.466352 15472 caffe.cpp:409] conv5_4/sep forward: 0.108362 ms.
I0808 10:30:20.466369 15472 caffe.cpp:412] conv5_4/sep backward: 0.194365 ms.
I0808 10:30:20.466384 15472 caffe.cpp:409] conv5_4/sep/bn forward: 0.131665 ms.
I0808 10:30:20.466398 15472 caffe.cpp:412] conv5_4/sep/bn backward: 0.106724 ms.
I0808 10:30:20.466413 15472 caffe.cpp:409] conv5_4/sep/scale forward: 0.0242995 ms.
I0808 10:30:20.466428 15472 caffe.cpp:412] conv5_4/sep/scale backward: 0.031879 ms.
I0808 10:30:20.466444 15472 caffe.cpp:409] relu5_4/sep forward: 0.0156595 ms.
I0808 10:30:20.466459 15472 caffe.cpp:412] relu5_4/sep backward: 0.00249152 ms.
I0808 10:30:20.466472 15472 caffe.cpp:409] conv5_5/dw forward: 0.800449 ms.
I0808 10:30:20.466487 15472 caffe.cpp:412] conv5_5/dw backward: 3.45513 ms.
I0808 10:30:20.466502 15472 caffe.cpp:409] conv5_5/dw/bn forward: 0.1318 ms.
I0808 10:30:20.466517 15472 caffe.cpp:412] conv5_5/dw/bn backward: 0.10873 ms.
I0808 10:30:20.466532 15472 caffe.cpp:409] conv5_5/dw/scale forward: 0.0243302 ms.
I0808 10:30:20.466547 15472 caffe.cpp:412] conv5_5/dw/scale backward: 0.0394957 ms.
I0808 10:30:20.466562 15472 caffe.cpp:409] relu5_5/dw forward: 0.0159776 ms.
I0808 10:30:20.466578 15472 caffe.cpp:412] relu5_5/dw backward: 0.00240064 ms.
I0808 10:30:20.466593 15472 caffe.cpp:409] conv5_5/sep forward: 0.10844 ms.
I0808 10:30:20.466608 15472 caffe.cpp:412] conv5_5/sep backward: 0.188681 ms.
I0808 10:30:20.466622 15472 caffe.cpp:409] conv5_5/sep/bn forward: 0.13135 ms.
I0808 10:30:20.466634 15472 caffe.cpp:412] conv5_5/sep/bn backward: 0.107619 ms.
I0808 10:30:20.466642 15472 caffe.cpp:409] conv5_5/sep/scale forward: 0.0237139 ms.
I0808 10:30:20.466650 15472 caffe.cpp:412] conv5_5/sep/scale backward: 0.0316947 ms.
I0808 10:30:20.466657 15472 caffe.cpp:409] relu5_5/sep forward: 0.015792 ms.
I0808 10:30:20.466665 15472 caffe.cpp:412] relu5_5/sep backward: 0.00233024 ms.
I0808 10:30:20.466671 15472 caffe.cpp:409] conv5_6/dw forward: 0.47878 ms.
I0808 10:30:20.466678 15472 caffe.cpp:412] conv5_6/dw backward: 3.45858 ms.
I0808 10:30:20.466699 15472 caffe.cpp:409] conv5_6/dw/bn forward: 0.129132 ms.
I0808 10:30:20.466714 15472 caffe.cpp:412] conv5_6/dw/bn backward: 0.104721 ms.
I0808 10:30:20.466729 15472 caffe.cpp:409] conv5_6/dw/scale forward: 0.0231392 ms.
I0808 10:30:20.466748 15472 caffe.cpp:412] conv5_6/dw/scale backward: 0.0324173 ms.
I0808 10:30:20.466763 15472 caffe.cpp:409] relu5_6/dw forward: 0.015632 ms.
I0808 10:30:20.466778 15472 caffe.cpp:412] relu5_6/dw backward: 0.00256448 ms.
I0808 10:30:20.466792 15472 caffe.cpp:409] conv5_6/sep forward: 0.157009 ms.
I0808 10:30:20.466807 15472 caffe.cpp:412] conv5_6/sep backward: 0.154307 ms.
I0808 10:30:20.466822 15472 caffe.cpp:409] conv5_6/sep/bn forward: 0.131468 ms.
I0808 10:30:20.466837 15472 caffe.cpp:412] conv5_6/sep/bn backward: 0.106721 ms.
I0808 10:30:20.466852 15472 caffe.cpp:409] conv5_6/sep/scale forward: 0.0237146 ms.
I0808 10:30:20.466867 15472 caffe.cpp:412] conv5_6/sep/scale backward: 0.0322112 ms.
I0808 10:30:20.466882 15472 caffe.cpp:409] relu5_6/sep forward: 0.0161069 ms.
I0808 10:30:20.466897 15472 caffe.cpp:412] relu5_6/sep backward: 0.0024768 ms.
I0808 10:30:20.466912 15472 caffe.cpp:409] conv6/dw forward: 0.873523 ms.
I0808 10:30:20.466926 15472 caffe.cpp:412] conv6/dw backward: 6.91921 ms.
I0808 10:30:20.466941 15472 caffe.cpp:409] conv6/dw/bn forward: 0.128792 ms.
I0808 10:30:20.466956 15472 caffe.cpp:412] conv6/dw/bn backward: 0.109508 ms.
I0808 10:30:20.466971 15472 caffe.cpp:409] conv6/dw/scale forward: 0.023136 ms.
I0808 10:30:20.466992 15472 caffe.cpp:412] conv6/dw/scale backward: 0.0327155 ms.
I0808 10:30:20.467007 15472 caffe.cpp:409] relu6/dw forward: 0.015785 ms.
I0808 10:30:20.467022 15472 caffe.cpp:412] relu6/dw backward: 0.00245504 ms.
I0808 10:30:20.467037 15472 caffe.cpp:409] conv6/sep forward: 0.186205 ms.
I0808 10:30:20.467052 15472 caffe.cpp:412] conv6/sep backward: 0.331885 ms.
I0808 10:30:20.467067 15472 caffe.cpp:409] conv6/sep/bn forward: 0.131586 ms.
I0808 10:30:20.467092 15472 caffe.cpp:412] conv6/sep/bn backward: 0.107989 ms.
I0808 10:30:20.467108 15472 caffe.cpp:409] conv6/sep/scale forward: 0.0232096 ms.
I0808 10:30:20.467124 15472 caffe.cpp:412] conv6/sep/scale backward: 0.0344691 ms.
I0808 10:30:20.467139 15472 caffe.cpp:409] relu6/sep forward: 0.0159597 ms.
I0808 10:30:20.467154 15472 caffe.cpp:412] relu6/sep backward: 0.00248192 ms.
I0808 10:30:20.467170 15472 caffe.cpp:409] pool6 forward: 0.0194118 ms.
I0808 10:30:20.467185 15472 caffe.cpp:412] pool6 backward: 0.00248832 ms.
I0808 10:30:20.467200 15472 caffe.cpp:409] fc7 forward: 0.184065 ms.
I0808 10:30:20.467214 15472 caffe.cpp:412] fc7 backward: 0.107523 ms.
I0808 10:30:20.467247 15472 caffe.cpp:417] Average Forward pass: 21.0494 ms.
I0808 10:30:20.467264 15472 caffe.cpp:419] Average Backward pass: 49.6418 ms.
I0808 10:30:20.467283 15472 caffe.cpp:421] Average Forward-Backward: 70.8372 ms.
I0808 10:30:20.467303 15472 caffe.cpp:423] Total Time: 3541.86 ms.
I0808 10:30:20.467315 15472 caffe.cpp:424] *** Benchmark ends ***


I run caffe on GTX1080, and my caffe is based on https://github.com/BVLC/caffe

@drnikolaev
Copy link

Hi @fengziyong , I can't help with BVLC Caffe, sorry. Have you tried NVCaffe with v7? How are the timings?

@fengziyong
Copy link

OK. I will try later.

@CFAndy
Copy link
Author

CFAndy commented Aug 8, 2017

NVCaffe should have launched the conv of a group through for_loop. But it might dispatch all the call to one CUDA stream. @drnikolaev could you provide a quick fix for that.
Anyway, I need to fix the NVCaffe's accuracy issue first(existing start from 0.15) :(. Although it can converge on Resnet, it has problems on my customized topologies.

@drnikolaev
Copy link

@ChenFengAndy I'm working on new grouping. Current implementation runs for_loop, correct (inherited from BVLC) but it does use different streams:
https://github.com/NVIDIA/caffe/blob/caffe-0.16/src/caffe/layers/cudnn_conv_layer.cu#L25
and then it syncs on them:
https://github.com/NVIDIA/caffe/blob/caffe-0.16/src/caffe/layers/cudnn_conv_layer.cu#L33
However, If both groups won't fit (usually due to big batch size), then they run one after another.

How do I reproduce accuracy issue? Could you provide some minimalist example please?

@mathmanu
Copy link

It will be quite helpful if the cases with large number of groups can be accelerated. Currently its too slow. I haven't completed the training, so I don't know if there is any accuracy issue.

Here is an example of mobilenet1.0:
imagenet_mobilenet1x0_2017-08-17_14-27-05_v1.zip

Since it takes too much time to train, I started the training from the pre-trained model given at:
https://github.com/shicai/MobileNet-Caffe

But you can change the scripts to not use the pre-trained model. (But increase the max_iter and base_lr to about 10 times of what I used in that case).

@drnikolaev
Copy link

Hi @mathmanu yes, it's my current project. And thanks for the model example!

@CFAndy
Copy link
Author

CFAndy commented Aug 18, 2017

So far I can not make sure it's a bug of NVCaffe or issue caused by float-point behaviour difference introduced by NVCaffe optimization.
One case I have now is for a same set of hyper parameters and topology, I can converge with bvlc caffe but failed for nvcaffe. I tried "1,-1,-1" to avoid issue from cuDNN. The model is related to center_loss and face recog. I can repeat the issue constantly.
I0817 15:57:33.294203 6806 solver.cpp:324] Train net output #0: center_loss = 7086
I0817 15:57:33.294214 6806 solver.cpp:324] Train net output #1: softmax_loss = 9.17164 (* 1 = 9.17164 loss)
I0817 15:57:33.294246 6806 sgd_solver.cpp:137] Iteration 6160, lr = 0.01, m = 0.9
I0817 15:57:35.719229 6806 solver.cpp:302] Iteration 6200 (16.496 iter/s, 2.42483s/40 iter), loss = 14.7109
I0817 15:57:35.719300 6806 solver.cpp:324] Train net output #0: center_loss = 18009
I0817 15:57:35.719314 6806 solver.cpp:324] Train net output #1: softmax_loss = 14.7109 (* 1 = 14.7109 loss)
I0817 15:57:35.719322 6806 sgd_solver.cpp:137] Iteration 6200, lr = 0.01, m = 0.9
I0817 15:57:38.111196 6806 solver.cpp:302] Iteration 6240 (16.7243 iter/s, 2.39172s/40 iter), loss = 86.6542
I0817 15:57:38.111261 6806 solver.cpp:324] Train net output #0: center_loss = 1.82987e+24
I0817 15:57:38.111275 6806 solver.cpp:324] Train net output #1: softmax_loss = 86.6542 (* 1 = 86.6542 loss)
I0817 15:57:38.111284 6806 sgd_solver.cpp:137] Iteration 6240, lr = 0.01, m = 0.9
I0817 15:57:38.983876 6833 data_reader.cpp:262] Restarting data pre-fetching
I0817 15:57:40.421382 6806 solver.cpp:302] Iteration 6280 (17.3163 iter/s, 2.30996s/40 iter), loss = 87.3365
Now I'm tracking the behaviour of the loss layers. I'll post the detail if I can narrow down the problem.

@drnikolaev
Copy link

@ChenFengAndy to run non-cuDNN implementation please set engine: CAFFE in every convolution layer. Does it diverge?

@CFAndy
Copy link
Author

CFAndy commented Aug 21, 2017

@drnikolaev Sergi, it's not a cuDNN issue. BVLC.Caffe use cuDNN and the performance is still useable. The using of engine:Caffe will lost 10x perf.

@drnikolaev
Copy link

Got it, thank you. Still working on this. Looks promising so far.

@CFAndy
Copy link
Author

CFAndy commented Aug 22, 2017

Hi Sergi, it might be an issue introduced start from 0.16. I tested 0.15.13+cuDNNv5 or cuDNNv6 and both fine. But start from the 0.16.1, the training loss issue exists. Shall I open a sperate issue and mark it as a bug? The learning rate is 0.01.

@drnikolaev
Copy link

Hi Andy, please open a bug, thank you. Please also attach a model to reproduce this. And what particular dataset you use.

@mathmanu
Copy link

@drnikolaev I have an interesting observation. If I add a few Crop layers to the mobilenet model, it becomes quite slow - almost 4x slower. I have a multi GPU setup. Is this happening because Crop layers are not CUDNN accelerated and there are overheads in data movement between GPUs? I can't think of any other reason.

@RSly
Copy link

RSly commented Aug 23, 2017

@mathmanu @drnikolaev , I also confirm the problem with the crop layers.
in an example:
A. with no crop layer, it takes 2hours to train
B. with 4 crop layers it takes 3hours to train

that is 1.5x slower...

@drnikolaev
Copy link

@RSly @mathmanu please try this:

  transform_param {
    use_gpu_transform: true
...

@mathmanu
Copy link

Setting that parameter for Crop layer had no impact on speed - its still slow.

@drnikolaev
Copy link

@mathmanu actually yes, this setting has nothing to do with CropLayer. Could you please open a request for this? Thank you!

@drnikolaev
Copy link

@CFAndy Supported since 0.16.4.
Andy, as of divergence you reported, I did try it and got it diverged in 0.15.13 as well. However, please try 0.16.4 - it has few accuracy related fixes

@mathmanu
Copy link

mathmanu commented Sep 5, 2017

@drnikolaev looks like the CUDNN_GROUPING is only supported from cudnn7.0.2 on wards:

in include/caffe/layers/cudnn_conv_layer.hpp:
#if CUDNN_VERSION_MIN(7, 0, 2)
#define CUDNN_GROUPING
#endif

However I can see only cudnn version 7.0.1 in the cudnn website. Is 7.0.2 going to be released soon?

@drnikolaev
Copy link

@mathmanu
Copy link

mathmanu commented Sep 5, 2017

Waiting for CUDNN 7.0.2 to be available to try this out.

@mathmanu
Copy link

@drnikolaev Is it possible to integrate this CUDNN_GROUPING mode for deconvolution as well? Doing channel wise separate deconvolution is a useful feature - typically used for upsampling.

@mathmanu
Copy link

@drnikolaev Looking through the code, I found that CUDNN layer itself is missing for deconvolution. That might be an opportunity for enhancement.
Especially useful, since deconvolution layers are becoming increasingly popular these days - due to its use in full frame algorithms such as segmentation.

@RSly
Copy link

RSly commented Sep 15, 2017

upvote for deconv layer!!

@RSly
Copy link

RSly commented Sep 15, 2017

fyi
BVLC#5924

@drnikolaev
Copy link

Agreed. Reopened for visibility.

@drnikolaev drnikolaev reopened this Sep 18, 2017
@drnikolaev drnikolaev changed the title doing group in one call is needed cuDNN based implementation for Deconv (former: doing group in one call is needed) Sep 18, 2017
@zhouyongxiu
Copy link

@CFAndy Hi, Andy, I want to use center_loss in nvcaffe, but the version 0.16 doesn't have this layer, could you please tell me haw to add center_loss layer in nvcaffe, or share the version you use?

@drnikolaev
Copy link

v0.17.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants