일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rnn
- __call__
- AI
- 파이썬
- Torchvision
- segmentation
- NumPy
- pychram
- torch
- 파이썬문법
- Anaconda
- python
- 머신러닝
- 컴퓨터비전
- torch.nn
- __init__
- vsC
- pytorch
- CNN
- DeepLearning
- LSTM
- ViT
- Deep learning
- 가상환경
- 딥러닝
- vision transformer
- tensorflow
- 가상환경구축
- torch.nn.Module
- objectdetection
- Today
- Total
목록code_study (24)
인공지능을 좋아하는 곧미남
아래 코드에서 cv2.imwrite()에 image data로 input을 넣었는데, 이때 위에서 torch.tensor type으로 선언되어 있습니다. 이때, numpy array로 변환하지 않으면 아래와 같은 TypeError가 발생합니다. TypeError: Expected Ptr for argument '%s' with torch.no_grad(): for idx, (input, target) in enumerate(zip(input_test, target_test)): input, target = input.float().to(device), target.to(device) output = endtoendmodel(input) # Decoder _, prediction = torch.max(ou..
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') input.float().to(device) np.array(input[i].permute(1, 2, 0).cpu(), dtype=np.float32) 이때 input에 .cpu()로 cpu연산 변환이 되지 않으면, 아래 Error가 발생함. TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.
오늘은 torchvision에서 제공하는 ImageFolder 클래스에 대해 알아보겠습니다. from torchvision.datasets import ImageFolder 1. ImageFolder의 사용법 1. ImageFolder의 사용법 - 하나의 폴더에 하위 폴더가 Class를 나누는 기준이 되어 Image Classification의 target 데이터를 얻을 때 정말 유용하다. 저는 이러한 tree 구조의 폴더로 구성된 데이터를 생성하여 테스트해보았습니다. 맨 마지막 하위 폴더에는 png 파일이 저장되어 있습니다. 즉, 상위 폴더 1개, 하위 폴더 여러개(Class 수 만큼), 맨 하위 폴더엔 각 Class별 이미지 파일이 저장되어 있습니다. 그 후 이렇게 ImageFolder은 세 가지 변..
오늘은 list에 저장된 데이터를 numpy array로 변환하고 내가 원하는 shape으로 변환할때 제가 얻은 인사이트를 기록 및 공유하기 위해 작성하겠습니다. 이 글은 추후에 인사이트를 얻으면서 지속적으로 업데이트할 예정입니다. 1. list -> array 변환 2. append, expend 3. array로 index 정하기 일반적으로 object detection coordinate 결과는 (n, 5) cx, cy, w, h, theta shape으로 출력하게 됩니다. 여기서 각 image마다 검출된 결과를 list에 저장하여 한번에 array로 변환하고 나열하기 위한 코드를 설명드리겠습니다. 1. append, expend 우선 array를 list에 저장하기 위해서 빈 list를 하나 생성..
오늘은 Image Processing 방법론 중 Edge Detection에 기반이 되는 Image Gradient에 대해 알아보겠습니다. 1. Image Pixel 2. Gradient Vector 3. Magnitude 4. Angle 5. 결론 1. Image Pixel 이미지 픽셀은 이미지의 가장 최소 단위라고 생각하시면 됩니다. 예를들어 1024 by 1024 이미지가 있는데 픽셀로 생각해보면 1024개의 가로 픽셀과 1024개의 세로 픽셀로 구성된 이미지입니다. 아래 그림은 pixel을 block으로 하나하나 쌓아 직관적으로 확인할 수 있도록 표현한 이미지입니다. 2. Gradient Vector 그럼, Gradient Vector란 무엇일까요? 하나의 픽셀 지점에서 인접한 픽셀 value의 ..
간단히 설명하면 어느 하나의 함수에 전달되는 파라미터를 분기해서 전달할 수 있는 방법이다. 예를들어 a라는 함수에 b, c, d, e 파라미터가 전달받는다. 이때 functools.partial(함수명, 파라미터정의..)의 형태로 객체를 생성하면, 그 객체는 함수에 파라미터가 전달된 상태가 된다. 따라서, result 객체가 b, c 파라미터가 전달받은채로 사용할 수 있게 된다. import functools def a(b, c, d, e): return b+c, d*e result = functools.partial(a, b=1, c=2) bcsum, deproduct = result(d=5, e=3) print(bcsum) print(deproduct)
해당 내용에서는 제가 겪었던 영상 데이터를 얻기위한 카메라 센서 설치 시 주의 사항 및 점검 내용을 기록해보겠습니다. 영상 정보를 얻기 위해 카메라 센서를 설치해야합니다. 이때 내가 하고자하는 Task에 적합하고 품질이 좋은 영상을 얻기 위해서는 카메라 센서의 구성요소에 따른 성능을 잘 설정하여 설치하여야합니다. 또한, 주변 환경인 조명, 설치 위치 등을 고려해야합니다. - INDEX - 1. 카메라 센서의 구성요소 2. 영상 품질에 영향을 미치는 카메라 파라미터 3. 설치 환경 고려 사항 1. 카메라 센서의 구성요소 1) 카메라 센서 2) 카메라 렌즈 3) 카메라 마운트 2. 영상 품질에 영향을 미치는 카메라 파라미터 1) 카메라 파라미터 2) 카메라 캘리브레이션(카메라 내부요인 파라미터 보정) 3) ..
오늘은 다수의 카메라를 동시에 켜고 녹화하고 끄는 방법을 알아보겠습니다. 오늘의 내용은 아래와 같습니다. - INDEX - - Multi Camera Capture 하는 방법 /w python, opencv - Multi Camera Capture 코드 및 설명 - Multi Camera Capture 하는 방법 및 주의할 점. /w python, opencv, HW 1. Python의 threading API에서 Thread Class를 사용하여 병렬처리가 가능하도록 쓰레드를 만듭니다. import threading threading.Thread python 내장 함수 threading에 관해서 알아보겠습니다. 파이썬은 기본적으로 Single Thread에서 실행됩니다. 즉, 하나의 메인 Thread가..