일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- __init__
- tensorflow
- vision transformer
- CNN
- 파이썬
- python
- 가상환경구축
- LSTM
- DeepLearning
- pytorch
- ViT
- AI
- torch
- vsC
- 가상환경
- objectdetection
- torch.nn.Module
- __call__
- 머신러닝
- NumPy
- 컴퓨터비전
- 파이썬문법
- Deep learning
- 딥러닝
- rnn
- segmentation
- torch.nn
- pychram
- Torchvision
- Today
- Total
목록전체 글 (48)
인공지능을 좋아하는 곧미남
오늘은 torch.nn.Module 패키지를 활용한 Deep Neural Network를 구축해보고, 내가 얻은 인사이트를 공유하겠습니다. 1. 저는 torch.nn.Module 패키지로 보통 클래스를 생성하는데, nn.Module을 기반클래스로 상속하여 파생클래스인 Model(CNN)을 생성하여 구축합니다. (여기선 CNN이라는 Class 명을 사용했습니다.) import torch import torch.nn as nn class CNN(nn.Module): def __init__(self, img_size, num_class): super(CNN, self).__init__() self.conv = nn.Sequential( nn.Conv2d(3, 32, 3, 1, 1), nn.LeakyReLU(0..
인공지능 모델을 개발하면, 여러가지 문제가 발생하는데요. 그 중 Over fitting되거나 local minimum에 빠지지 않도록 학습 가중치 업데이트를 원활히 하기 위한 적용 기법을 살펴보겠습니다. 우선, weight를 업데이트는 아래 식으로 설명이 가능한데요. 해당, 방정식과 같이 다음 step의 weight를 얻기 위해서는 이전 weight에 learning rate와 cost function을 미분한 값(비용함수의 T시점의 접점의 기울기)을 곱한 값으로 차감합니다. 여기서 가중치(W) 업데이트 방정식을 조금 변형하여 좀 더 학습에 유리하도록 연구한 내용들이 있습니다. 저는 그 중 weight decay와 momentum에 관해 설명하겠습니다. weight decay(β)는 하나의 항을 추가하여..
PIL의 Image 패키지의 shape은 어떻게 될까? from PIL import Image import numpy as np img = Image.open('./aa.PNG') img_array = np.array(img) print(img_array.shape) result : (311, 483, 4) W : 483, H : 311 즉, Image의 변수 형태는 (H, W, RGB?) 근데 왜 4차원이냐.. 뭐지.. 그리고 이미지의 원점은 좌측 상단 부터 하여 내려가면 H가 증가 오른쪽으로 가면 W가 증가하는 순서다.
오늘은 .get_shape().as_list()를 어떻게 제가 활용했는지 확인해보겠습니다. 간단하게 .get_shape()와 .as_list()에 관해 알아보고 딥러닝 모델을 구현할 때 어떻게 사용했는지 설명하겠습니다. 1. .get_shape() 란? - 행렬, 배열 등의 shape를 출력해주는 함수입니다. 2. .as_list() 란? - return 되는 값이 list형태로 변환해서 return합니다. convolution layer shape는 일반적으로 (batch_size, height, width, chennel) 입니다. 아래와 같이 선언해주면, 해당 conv layer의 height와 width shape 값을 얻을 수 있습니다. - h, w = conv_4_2.get_shape().as..
여러가지 인공지능 모델 개발을 한 후 해당 모델에 대해 평가를 해야합니다. 흔히 말해 성능 평가라고 하며, 각 모델별로 성능 지표들이 다르게 정의되어 있습니다. 포괄적인 인공지능 모델은 Classification, Object Detection, Segmentation이 있습니다. 저는 이 세가지 모델들의 평가 지표에 관해 설명하겠습니다. 오늘의 내용은 아래 목차와 같습니다. 1. Classification Metric 2. Segmentation Metric 3. Object Detection Metric 1. Classification 분류 모델의 성능을 평가하기 위해서 아래와 같이 결과들을 구분할 수 있습니다. 이해를 돕기 위해 하나의 예시를 들어보겠습니다. 예시) 강아지와 고양이..
Object Detection Open API를 배포하기 위해 텐서플로우는 데이터 직렬화로 Google Protocol Buffers를 많이 사용한다. 따라서, 본 내용에서는 내가 Protocol Buffers를 공부한 내용을 기록해보겠다. 오늘의 내용은 아래 목차와 같다. 1. 데이터 직렬화란? 2. Protocol Buffers? 3. Protocol Buffers with Python 4. 참고 블로그 5. 내가 쓴 Code Protocol Buffers를 처음 만난건 위성 사진에서 Ship Object Detection 하기 위해 GIT_HUB에서 RBOXCNN이라는 API를 찾아서 구현해보고 새로운 방법으로 정확도를 높여보는 작업을 했었던 시절이었다. (사실 지금은 작업을 하는..
(Input Size – Pool Size + 2*Padding)/Stride + 1 Conv Output data size = (Input Size – Filtersize + 2*Padding)/Stride + 1 1. conv layer1을 거친 L1 shape의 사이즈는 상기 공식에 따라서 (P = Padding="SAME") (28-3 + 2*P)/1 + 1 = 28 즉, P = 1이되어 입력과 출력의 사이즈를 같게 해준다. Pooling Output data size = (Input Size – Kernelsize + 2*Padding)/Stride + 1 2. MaxPooling Layer를 거친 L1 shape은 상기 공식에 따라서 (28-2 + 2*P)/2 + 1 = 14 P = 0이 된다..
안녕하세요? 오늘은 Visual Studio Code와 Anaconda 가상환경을 연동하여 Run을 할 수 있도록 셋팅해보겠습니다. 본론에 앞서 Visual Studio Code : VSC, Anaconda : conda로 별칭을 주어 사용하도록 하겠습니다. VSC와 conda를 연동할때 많이 헤매었는데요. 아주 쉽게 간략하게 정리해 드리겠습니다. 오늘의 내용은 아래 목차와 같습니다. 1. conda와 VSC를 다운로드 2. ANACONDA에서 가상환경 생성 3. python과 code runner를 다운 4. conda 가상환경에 접근 5. 가상환경 접근 경로를 설정 6. 가상환경 접근 1. conda와 VSC를 다운로드 아나콘다 도메인 www.anaconda.com/products/..