IRIS-AUDIO / SELD

7 stars 8 forks source link

Complexity 계산 (sampling 사전 작업) #103

Closed daniel03c1 closed 3 years ago

daniel03c1 commented 3 years ago

sampler를 수정해서 올리려고 했는데, 그 전에 params, flops 계산 파트를 같이 묶어서 샘플링하는 기본 뼈대를 공유하는게 좋을 것 같아서 complexity 먼저 구현해서 올립니다. 현재 구현된 모든 모듈들 모두 구하였습니다. 제 기준으로는 옮기는게 특별히 어렵지는 않아서, 추가로 모듈을 추가하더라도 어렵지 않으리라 생각됩니다.

제대로 된 테스트를 위해, complexity func의 args와 실제 모듈 생성할 때 쓰이는 args가 동일하도록 하였습니다. 그리고 실제로 해당 config로 모델을 만들어서, 실제 파라미터 개수 (trainable weights)와 output shape이 동일한지 테스트하도록 테스트코드를 작성하였습니다. 그래서 나중에 모듈에 변경이 생기더라도, 실제 모듈을 생성하는 함수를 직접 이용하여 비교하기 때문에 complexity 계산도 잘 되고 있는지 확인이 수월할 것이라 생각됩니다.

추가로 n_classes를 simple_dense_block에서 제외하는것을 다른 풀리퀘에 올렸는데, complexity구하려니까, 이걸 먼저 업데이트해야할 것 같아 같이 업데이트하였습니다.

sampler의 경우 해당 업데이트가 확정되는대로 그에 맞춰서 실제로 바로 학습에 사용할 수 있도록 올리도록 하겠습니다.