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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
1566 | whria.net 홈페이지에 음악 삽입 | WHRIA | 2013.01.17 | 7590 |
1565 | Ambition vs Passion | WHRIA | 2007.08.08 | 7574 |
1564 | 우분투에서 NETBIOS 설정 | WHRIA | 2012.04.02 | 7524 |
1563 | 작전 [4] | WHRIA | 2009.06.23 | 7515 |
1562 | 학생 | WHRIA | 2007.09.09 | 7501 |
1561 | 구글 넥서스(nexus) 4 주문하는법 | WHRIA | 2012.12.14 | 7491 |
1560 | PhotoPhoto 프로젝트 시작 | WHRIA | 2012.12.09 | 7488 |
1559 | Power | WHRIA | 2007.08.29 | 7488 |
1558 | 열심히 일하기 | WHRIA | 2007.09.11 | 7466 |
1557 | Boost lib 를 쓸까 MFC 를 쓸까 | WHRIA | 2012.12.10 | 7459 |
1556 | MedicalPhoto 1.0.5 | WHRIA | 2008.05.25 | 7451 |
1555 | gold bar | WHRIA | 2008.10.19 | 7408 |
1554 | Now I cover it. | WHRIA | 2007.08.03 | 7404 |
1553 | 의전원 비용 | WHRIA | 2013.01.15 | 7376 |
1552 | Bot | WHRIA | 2008.12.12 | 7308 |
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% 감소한다.