본문 바로가기

Deep learning6

rotation matrix python 회전 행렬 변환 구현 rotation matrix python 회전 행렬 변환 구현 def calc_rotate( x,y,degree=45): rad = degree * (math.pi / 180.0) nx = round(math.cos(rad) * x - math.sin(rad) * y) ny = round(math.sin(rad) * x + math.cos(rad) * y) return nx, ny def Ccalc_rotate( x,y,img_cx,img_cy,theta=45): new_x = (x - img_cx ) * cos(radians(360-theta)) - (y - img_cy) * sin(radians(360-theta)) + img_cx new_y = (x - img_cx) * sin(radians(360.. 2023. 11. 7.
gpu cuda 호환성 확인 딥러닝을 하려면 설치하는 것 부터 처음 시작하는 사람에겐 만만찮은 일이라고 생각이 들 수 있는데 아래와 같은 사이트를 참고하면 내가 가지고 있는 gpu를 찾아 맞는 쿠다 버전 찾기가 쉬워진다. 참고 하면 좋을 사이트 - 내가 가지고 있는 그래픽 드라이버와 확인 CUDA Toolkit and Corresponding Driver Versions https://www.wikiwand.com/en/CUDA#/GPUs_supported Wikiwand - CUDA CUDA is a proprietary and closed source parallel computing platform and application programming interface that allows software to use certai.. 2023. 10. 25.
[pytorch] Multi GPU-DistributedDataParallel와 Horovod사용하기 여러대가 장착된 GPU를 딥러닝을 돌리다보면 nvidia-smi 를 통해 GPU Util이 아주 낮은경우를 볼 수 있다. GPU Util을 향상시키기 위해 1. DistributedDataParalle와 DistributedSampler 를 통해서 설정 하는 것과 2. Horovod 라이브러리를 사용하는 방법이 있다. 먼저 DistributedDataParalle와 DistributedSampler를 통해서 먼저 dataloader 하기전에 sampler를 만들어서 sampler인자값에 만들어준 sampler를 넣는다. 사용 예시는 아래와 같다. from torch.utils.data.distributed import DistributedSampler from torch.utils.data import .. 2022. 8. 6.
[pytorch]transform.Compose와albumentation.Compose 차이 pytorch 데이터셋 코드를 짜다보면 transform을 하게되면서 augmentaion을 사용하게되는데 transform.Compose 와 albumentation.Compose의 차이를 알아볼까 한다. import albumentation as A import albumentation.pytorch import ToTensorV2 transform.Compose transform.Resize transform.ToTensor 위의 기능들은 albumentation에서도 존재하는데 transform과 albumentation의 차이는 transform은 텐서를 변환 후 normalize를 하지만 albumentation은 normalize 을 먼저하고 텐서를 변경을 해줘야 한다. 순서의 차이가 있으니.. 2022. 7. 21.
코너검출,직렬형 분류기,ORB 코너검출(해리스 코너) 직렬형 분류기(지역 이진 패턴) ORB(Oriented FAST Rotated BRIEF) -> 이미지 그래디언트나 에지는 다양한 이미지의 물체모양 정보를 제공하지만 밝기,대비,배경의 변화에 매우 민감하다. 이를 해결하기 위해 코너,지역,이진패턴,ORB 등과 같은 좀더 복잡한 특징 설명자를 사용한다. 1. 해리스 코너 해리스 코너는 코너 검출에서 가장 많이 사용되는 기술 중 하나이다. 밝기 변화를 계산하기 위해 이미지에 슬라이딩 윈도우를 이용한다. 코너는 모든방향에서 큰 변화값을 갖는 슬라이딩 윈도우의 위치를 이미지 내에서 찾는다. 2. 직렬 분류기 - 대표적인 유형 2.1과 2.가 있다. 2.1 Haar직렬형 분류기 - 2.2 LBP - Haar직렬형 분류기와 달리 LBP는 0,.. 2022. 1. 17.
[COCO-Annotator]custom keypoint dataset만들기 딥러닝 custom keypoint dataset만들기 논문작성을 위해 keypoint data형식으로 직접 데이터셋 구축을 해야했다. 보통은 labelme등과 같은 어노테이션 툴을 사용하지만 keypoint형식이 미지원이라 지원되는 것을 찾아야 했다. keypoint dataset 지원이되는 몇개의 툴들이 있지만 시도해본 결과 COCO-Annotator가 가장 무난하게 사용할 수 있었다. coco-annotator을 사용하기 위해 도커와 docker-compose 가 설치되어 있어야한다. (+ 우분투기반에서 사용하였다.) 도커 설치되었는지 확인방법 -> 터미널에서 docker --version 혹은 docker-compose --version으로 확인하면 아래와 같이 버전이 뜬다. 만약 안뜨면.. 설치.. 2021. 4. 10.
반응형