Deep Learning(33)
-
[PyTorch] tensor 부등호 연산 (?), list와 차이점
tensor로 만들어줄 경우 import torch data = [[1, 2],[3, 4]] x_data = torch.tensor(data) pos = x_data > 0 print(pos) 결과 List일 경우 data = [[1, 2],[3, 4]] pos = data > 0 print(pos) 이 연산 자체가 불가능 for문 사용해야함 data = [[1, 2],[3, 4]] pos = [[a > 0, b > 0] for a, b in data] print(pos)
2021.05.13 -
Receptive Field
Receptive Field는 CNN에서 매우 중요한 개념 중 하나이고, object detection은 이 아이디어를 중심으로 아키텍쳐를 설계. receptive field : 특정 CNN의 feature이 보고있는 (영향을 받는) input space의 영역 receptive field 내 모든 픽셀들이 똑같이 중요한 것은 아니다. field 의 중심에 가까울수록 output feature의 계산에 더 많이 기여한다. CNN의 feature이 input image의 특정부분(예를 들면 receptive field)만 보는 것은 아니지만, 가운데 지역으로 갈수록 기하급수적으로 더 focus한다. ※ CNN아키텍처가 대칭적이고 input image가 square이라 가정 feature map을 보는 것 ..
2021.05.06 -
[Pytorch] gpu가 인식이 안 되는 오류 - Linux 에서 Nvidia driver설치
yolov5 관련 실험 중 이런 오류가 발생 대충 driver버전이 낮아서라고 한다. $ ubuntu-drivers autoinstall 이 명령어를 사용하면 적절한 버전을 저절로 설치해준다고 해서 시도했더니 418대 버전에서 430대 버전으로 업그레이드 되었으나 문제가 해결되지 않아서 cuda도 높은 버전으로 설치해보고 여러 시도를 했으나 이런 정보를 찾게 됐다.. 하하 yolov5에서 pytorch를 cuda 10.2로 설치해였기 때문에 440.33이상 버전이 필요했다.... 그래서 www.nvidia.com/Download/index.aspx Download Drivers | NVIDIA www.nvidia.com 여기서 gpu및 os에 맞는 드라이버 설치파일 (리눅스라서 run 파일 다운) 다운받..
2021.04.05 -
Batch Normalization
※ batch normalization 논문, 동빈나 유튜브 및 다른 자료를 참조하였습니다. 논문이나, kaggle 등 competition에서 batch normalization을 많이 접하게 된다. batch normalization (BN)은 어떤 효과를 가져올까? lr을 잘못 잡으면 gradient가 explode / vanish하거나 local minimum에 빠지는 경우가 생기던 기존 문제 -> parameter scale때문이라고 정의 -> BN수행시 parameter scale의 영향을 받지 않아 높은 lr설정 가능 -> 빠른 학습 weight 초기화에 대한 민감도가 낮아진다 ( lr 등의 hyper parameter 설정에 대한 부담을 줄일 수 있다.) 모델을 일반화 하는 효과(train..
2021.04.02 -
torch.backends.cudnn.benchmark = True
yolov5 의 detection.py코드를 보면 이러한 부분이 있다. import torch.backends.cudnn as cudnn . . . cudnn.benchmark = True # set True to speed up constant image size inference 일정한 이미지 사이즈의 inference의 속도를 높이려면 True로 setting하라 torch.backends.cudnn.benchmark는 True/False로 설정할 수 있습니다. discuss.pytorch.org/t/what-does-torch-backends-cudnn-benchmark-do/5936/9 What does torch.backends.cudnn.benchmark do? I have a questio..
2021.03.30 -
[PyTorch] model.half()
yolov5를 공부하다가 이런 부분을 발견 if half: #device != cpu이면 model.half() # to FP16 어떤 의미일까 궁금했다. 단순히 모델의 half만 이용한다기에는 gpu인데 굳이..?라는 생각에 찾아봤다. 1. FP16과 FP32의 차이 FP16(16 bit floating point), FP32(32 bit floating point) 일단은.. computer science(이하 cs)에서의 정밀도의 차이이다. cs에서의 정밀도는 보통 bit / 이진수로 측정된다. 정밀도가 높을수록 계산 자원, 데이터 전송 및 메모리 저장이 더 많이 필요하다. 더 많은 비용이 들고 더 많은 전력을 소비한다는 것은 당연하다. 따라서 AI 분야에선 서로 다른 수준의 정밀도를 혼합/일치 시..
2021.03.26