mixed precision training
2018.11.06 06:56
train (math) 는 FP16 으로 하고 storage 는 FP32 로 해서 BVLC Caffe 에서도 잘 동작하는듯.
정확도는 아직 더 test 해봐야한다. scale factor 는 100~1000 이 적당한듯.
NVCaffe 에서 trainval.prototxt 에 아래와 같이 추가
default_forward_type: FLOAT16
default_backward_type: FLOAT16
default_forward_math: FLOAT
default_backward_math: FLOAT
global_grad_scale:100
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
1656 | 승석아 광주 못와? | 채영광 | 2000.08.08 | 3852 |
1655 | 승석아....아래 저 아가씨는 누구냐? | 윤재원 | 2000.08.09 | 3687 |
1654 | 승석아 | 재호 | 2000.08.14 | 4007 |
1653 | 승석아-2 | 재호 | 2000.08.14 | 3704 |
1652 | 멋진 걸~ | 희진 | 2000.08.15 | 3420 |
1651 | Re: 멋진 걸~ | 한승석 | 2000.08.15 | 3571 |
1650 | 재미있는 핸드폰 문자 모음.(뜨는데 오래걸림) | 한승석 | 2000.08.15 | 4076 |
1649 | Re: 승석아....아래 저 아가씨는 누구냐? | 한승석 | 2000.08.15 | 3124 |
1648 | 한! 내 개장 홈을 링크해줘! | 채영광 | 2000.08.18 | 3939 |
1647 | 현재 홈페이지에 문제가 있습니다. | 한승석 | 2000.08.19 | 3605 |
1646 | 에구구~~ | ho~ho~~~ | 2000.08.20 | 3296 |
1645 | 하이~ 승석!! | 박중성 | 2000.08.20 | 3622 |
1644 | 한승석군 | 최평균 | 2000.08.21 | 4391 |
1643 | **^.^** 참 잘했어요 | 세레스 | 2000.08.21 | 3633 |
1642 | 엉 잘보구간다 | 김국현 | 2000.08.22 | 3410 |
MIXED 셋팅
default_forward_type: FLOAT16
default_backward_type: FLOAT16
default_forward_math: FLOAT
default_backward_math: FLOAT
FP32
default_forward_type: FLOAT
default_backward_type: FLOAT
default_forward_math: FLOAT
default_backward_math: FLOAT
FP16
default_forward_type: FLOAT16
default_backward_type: FLOAT16
default_forward_math: FLOAT16
default_backward_math: FLOAT16
CUDA 8.0 으로 하면 속도 향상이 없다.
CUDA10.0 기준, cudnn 7.4.1, ResNeXt-50 , 100 iter
FP32 - 82 sec, 4779
FP16 - 69 sec+ test 오래걸림 , 2623
Mixed - store 16bit - 69 sec, 2623
Mixed - store 32bit - 69 sec, 2769
solver_data_type: FLOAT16 가 16bit 인 경우 memory 를 약간 더 잡아먹는다.
Mixed train 하는 경우
pascal 에서 속도가 30% 향상있고 메모리는 50% 감소한다.