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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
1671 | 음란전화.... | 윤재원 | 2000.07.10 | 3884 |
1670 | 재원님이 퍼온 심리테스트...하하하 읽어봐라 | 재원님~ | 2000.07.12 | 3624 |
1669 | 의욕상실 | 채영광 | 2000.07.13 | 3949 |
1668 | Re: 의욕상실 | 한승석 | 2000.07.13 | 3407 |
1667 | Re: 사진 더 추가해줘잉 | 한승석 | 2000.07.13 | 3215 |
1666 | 비천무는 잼있다! | 채영광 | 2000.07.16 | 4091 |
1665 | 음악 니가 다 정리한 거야? | 채영광 | 2000.07.18 | 4489 |
1664 | 아주아주 멋진 시...한편..꼭 읽어봐랑~ | 재원님~ | 2000.07.18 | 3653 |
1663 | 승석아 오늘 오스키는 잘 보았니? | 채영광 | 2000.07.23 | 3605 |
1662 | Re: 비천무는 잼없다! | 헬로우멤 | 2000.07.24 | 3460 |
1661 | 비천무...말이지~~~ | 윤재원 | 2000.07.26 | 3619 |
1660 | 승석아 다다음주 말이야. | 채영광 | 2000.07.31 | 3468 |
1659 | 똑똑똑~~ | 조각가 | 2000.08.01 | 3641 |
1658 | 승석이오빠아...ㅜ.ㅜ 설가면 맛난거 사주우.ㅠ.ㅠ | 김승욱 | 2000.08.06 | 4337 |
1657 | 승석 X-ray는 많이 찍었니? | 정석원 | 2000.08.07 | 3837 |
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% 감소한다.