728x90
반응형
iteration 20 마다 결과 값(time, loss 등)을 확인하며 모델을 학습하고 있는데, iter=20 당 속도가 2배나 느려진 것을 발견하였다. 단순히 데이터 세트가 더 많이 추가되어 그런줄 알고있었는데, 아무리 생각해도 이상해서 이전에 데이터를 이 정도 양으로 많게끔 학습했던 적이 있었을 때의 로그를 확인해보니 시간 차이가 다소 있었다. 그래서 이상해서 찾아보던중.. 불현듯 며칠전 실험 시 바꿨었던 num_workers 가 생각났다....아... num_workers 디폴트 값인 0으로 두고 학습을 진행시켰었는데, 이것 때문에 데이터 로드 시 속도 저하(이전 보다)가 있었던 것 같다. 그래서 바로 num_workers 값을 GPU * 4 로 설정해주니 이전과 같이 빠르게 학습이 진행되는 것을 확인할 수 있었다...
참고로 num_workers 값은 보통 GPU 대수 * 4로 설정하게 되는데, 모델에 가장 적합한 num_workers 수치를 찾아내는 것도 파라미터 튜닝의 일종이라고 한다. 이 튜닝을 위해 고려해야 하는 것은 학습 환경의 GPU개수, CPU개수, I/O 속도, 메모리가 있다고 한다.
또한 메모리의 데이터를 GPU로 옮길 때의 과정을 단축해 주는 역할인 pin_memory도 설정해주면 학습 속도 측면에서 좋다.
참고자료 2 : https://jybaek.tistory.com/799
728x90
반응형
'삽질 기록' 카테고리의 다른 글
mount.davfs: can't evaluate path of mount point (null) (0) | 2023.04.18 |
---|---|
Docker 환경에서 GLFWError: (65544) b'X11: Failed to open display unix:1' (0) | 2022.08.11 |
vim 편집 시 ctrl+s 눌렀을 때 터미널 멈추는 현상 (0) | 2022.04.13 |
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated (0) | 2022.02.23 |
identifier "AT_CHECK" is undefined (0) | 2021.08.02 |