face_recognition 성능 테스트 결과 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
face-recognition
진행 상태: 완료 상위 작업: 2. 성능 테스트 (2%20%E1%84%89%E1%85%A5%E1%86%BC%E1%84%82%E1%85%B3%E1%86%BC%20%E1%84%90%E1%85%A6%E1%84%89%E1%85%B3%E1%84%90%E1%85%B3%201d954217ba3f806d96e2fead70196816.md)
a. 사진 100장에 대해서 cpu 사용률 테스트 결과
Elapsed Time: 62.13 seconds
CPU Usage - Average: 100.18% | Peak: 718.70%
Memory Usage - Average: 346.44 MB | Peak: 448.39 MB
테스크 | avg cpu(%) | peak cpu(%) | avg mem(MB) | peak mem(MB) | 소요 시간 |
---|---|---|---|---|---|
인물 분류 | 100.18% | 718.70% | 346.44 MB | 448.39 MB | 62.13s |
b. 배치 반복 구조의 효과가 없는 이유
가. PyTorch의 경우
- batch로 묶으면 PyTorch가 내부적으로
torch.matmul
,conv2d
,layernorm
등을 벡터화된 방식으로 실행
나. face_recognition의 경우
- 라이브러리 형태로 사진을 1장씩만 처리
- batch로 묶어도 사진이 1장씩 처리되는 것은 변함없기 때문에 성능 개선 없음
- 라이브러이 없이 dlib을 직접 조합하면 배치 처리가 가능한가?
- dlib 임베딩 모델은 batch inference를 지원하지 않음
- 배치 처리가 가능하기 위해선 pytorch로 dlib의 임베딩 모델을 구현해서 학습을 시켜야 함