일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pychram
- tensorflow
- DeepLearning
- 가상환경구축
- LSTM
- __call__
- vision transformer
- 컴퓨터비전
- torch.nn.Module
- rnn
- python
- CNN
- __init__
- torch.nn
- 머신러닝
- segmentation
- 파이썬문법
- 딥러닝
- 파이썬
- 가상환경
- AI
- torch
- Anaconda
- ViT
- NumPy
- Deep learning
- objectdetection
- Torchvision
- vsC
- pytorch
- Today
- Total
목록전체 글 (48)
인공지능을 좋아하는 곧미남
주성분 분석(Principal Component Analysis, PCA)에 대해 알아보겠습니다. PCA는 차원 축소를 위한 방법론 중 하나이고, 고차원의 데이터를 저차원의 데이터로 표현할 수 있는 방법입니다. 1. PCA 정보 손실 2. PCA 최적화 함수 3. PCA 라그랑주함수(제약조건) 4. opencv의 contours point data를 가지고 pca를 통해 산출한 고유 벡터를 통해 데이터 분포의 방향 표현 알고리즘 설명 1. PCA 정보 손실 차원에 대한 내용을 추가한다면, 상기 그림에서 2D 데이터 분포에서 해당 분포를 가장 잘 표현할 수 있는 1D 벡터공간을 생성하는 것이 PCA의 목적이라고 생각하시면 됩니다. 하지만, 2D에 존재하는 데이터를 1D로 표현을 하면, 정보 손실이 발생합니..
아래 코드에서 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를 하나 생성..
안녕하세요 오늘 2022년도 국제인공지능대전 AI EXPO KOREA에 참석하여 많은 인공지능 관련 기업들을 탐방했습니다. 개인적으로 서울 코엑스에서 개최되어 대구에 사는 저는 멀었지만, 인공지능 전시회는 처음이라 설레는 마음으로 고민하지않고 사전등록하여 참석하게 되었습니다. 1. 참석 기업 2. 기억에 남는 기업 3. 끝맺음 1. 참석 기업 여러 많은 기업들이 참석했는데요. (http://www.aiexpo.co.kr/shop_contents/myboard_read.htm?load_type=&page_idx=0&tag_on=&h_search_c=0&h_search_v=&me_popup=&myboard_code=notice&page_limit=10&idx=797830&page=1&category_idx=..
오늘은 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의 ..
Linux os에서 우분투를 설치하여 훨씬 직관적으로 보기 쉬운 GUI 환경에서 작업할 수 있었다. 하지만, Tensorflow, Pytorch 등의 인공지능 API 코드를 실행하거나 Cuda GPU를 사용하기 위해 우분투 버전에 적합한 버전들을 설치해야했고, 결과적으로 여러번의 재설치를 통해 삽질을 3일동안 했다. 그래서 삽질하는 동안의 기록을 남겨 다음엔 실수하지 않도록 노력하겠다. 1. 우분투 리눅스 설치 2. 아나콘다 가상환경 생성 3. IDE 파이참 설치 4. pip 설치 5. Cuda Toolkit 버전 일치화 6. Tensorflow 버전 일치화 7. Pytorch 버전 일치화 8. Nvidia-driver 설치 1. 우분투 리눅스 설치 https://wjdtmddnjs6788.tistory..