본문 바로가기

Transformer4

FLOPs, #param, throughput 계산, 의미, 관계 딥러닝 모델 논문읙 실험이나 결과 부분에 꼭 나오는 것.FLOPs, #param, throughput 3가지 이다.그런데 나는 이걸 계산하지도 못하고 의미도 모르고 관계도 모른다.이번 포스팅에서 완벽히 정리하고 가자. 1. FLOPsFLOPs는 (Floating Point Operations)의 약자로,주로 모델의 계산 복잡성을 측정하는 데 사용된다.딥러닝 모델의 연산 중에 많은 것은 '부동 소수점 연산(FLOP)'이고이걸 몇번 하는지가 FLOPs다. FLOPs가 높다 = 연산량이 많다, 무겁다 FLOPs는 입력에 따라 크기가 변한다.따라서 단순히 파이썬 라이브러리 등으로 구하면 오류가 날 수 있다.공식을 알아두고 검산할 필요가 있다. [FLOPs 계산 공식 (CNN)]FLOPs = H × W × F ×.. 2024. 3. 19.
Timm 라이브러리 모델명 정리 timm 라이브러리는 pre-trained 된 모델을 인스턴스해서 쓸 수 있다. 프리 트레이닝 하는 데이터셋의 양이 테라 수준이라 직접 하기는 좀... 그렇다. 페이지 공홈 https://timm.fast.ai/ 깃허브 공홈 https://github.com/huggingface/pytorch-image-models 구글같은 경우는 모든 모델의 학습 조건, 정확도 등을 상세하게 적어놔준다. 그런데 timm 라이브러리의 주인인 hugging face 친구들은 너무 불친절하다. (진심 킹받음) 그래도 어쩌겠나... 써야지 ㅠㅠ 일단 설치 pip install timm 그리고 이걸 인스턴스 하는 방법 # 방법1 model = timm.models.vit_base_patch16_224(pretrained=Tru.. 2023. 7. 19.
Transformer confidence score 보는 방법 Transformer를 평가할 때 종종 confidence score가 사용된다. confidence score는 해당 클래스에 얼마나 확신이 있는지다. 즉 모델이 얼마나 자신있게 '이건 닭이야!!!!!!!!!!1' 라고 하는거다. 이 confidence score를 뽑아내는 방법을 알아보자. 이미지넷을 사용할껀데 Cifar-10같은 다른걸로 해도 무방하다. 나처럼 이미지넷으로 할거면 일단 다운부터 받자. [논문 구현] ViT ImageNet 평가 방법 | pytorch, timm 라이브러리, timm ViT ViT는 트랜스포머 중에서 그나마 간단한 형태이다. 실제로 구현하는게 그리 어렵지는 않다. 하지만.......... 논문에서 '대용량 pre-training'이 안된 ViT는 퍼포먼스가 상당히 떨어.. 2023. 5. 9.
[논문 리뷰] Transformer (Attention Is All You Need) 요약, 코드, 구현 논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다. 나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. Transformer Attention Is All You Need VASWANI, Ashish, et al. Attention is all you need. Advances in neural information processing systems, 2017, 30. 논문 원문 링크 저자의 의도 CNN과 RNN에서 인코더와 디코더가 널리 사용되는데, 인코더 디코더 로만 구성된 새로운 간단한 아키텍쳐를 만들고자 했다. 특히 RNN에서 길이가 긴 시퀸스는 학습이 잘 안되는 경향이 있었다. 길이가 길어도 학습이 잘 되는 모델을 만들고자 했다. 기존 문제점 1. 기존의 RNN에서 길이가 긴 .. 2023. 3. 14.