일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- #Anaconda
- #torchvision
- #landmark
- #activation function
- pytorch
- #선형
- #object detection
- Linux
- #pytorch
- #annotation
- #비선형
- #Linux
- #gpu training
- #Jetson nano
- Today
- Total
목록딥러닝/기타 코드 (3)
Wooks_learning

학습을 위해 데이터를 사용할 때 손상된 이미지를 사용했을 때 학습이 중단되는 경우가 있다. 나의 경우 aihub의 운전자 데이터를 사용했는데, 원본 데이터의 일부가 손상되어 학습이 중단되는 경우가 있었다. 해당 문제를 해결하기 위해 학습 전 손상된 이미지를 거르는 작업이 필요할 것 같다. 아래의 코드는 multiprocessing을 사용하여 손상된 이미지를 빠르게 처리할 수 있다. from glob import glob from multiprocessing import Pool from PIL import Image def CheckOne(f): try: im = Image.open(f) im.verify() im.close() # DEBUG: print(f"OK: {f}") return except (..

현재 3가지 object에 대해 학습을 진행하고 있는데 모델에 들어가는 annotation이 transform에 맞지않게 들어가 학습되는 문제를 겪어 시간을 허비했다. classification은 transform에 따라 label이 변하지않아 따로 확인을 안했었는데 어떤것이든 학습 전에 input data들을 살펴보는 것이 중요할 것 같다. 아래 코드는 학습 데이터(batch_size = 16)를 trainloader에서 img, annotation, class_index를 받아와 이미지와 각각 바운딩 박스를 플롯해주는 코드이다. input size를 고려해 cnt에 더해주는 값을 넣어주면 된다. def matplotlib_imshow(img, anno, idx, one_channel=False): f..

import cv2 import numpy as np pts = 'pts file 경로' pts = np.loadtxt(pts) image = cv2.imread('image file 경로') for i in range(70): cv2.circle(image, center = (int(pts[i][0]), int(pts[i][1])), radius = 1, color = (0,0,255), thickness = 2) cv2.putText(image, str(i), (int(pts[i][0]), int(pts[i][1])), cv2.FONT_HERSHEY_PLAIN, 0.6, (255,0,0), 1, cv2.LINE_AA) cv2.imshow('pts on image', image) cv2.waitKey(0)