일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ViT
- 딥러닝
- 가상환경
- rnn
- 파이썬문법
- DeepLearning
- torch.nn
- __call__
- Anaconda
- LSTM
- wsl2
- AI
- python
- pip install
- 머신러닝
- ubuntu
- objectdetection
- 파이썬
- python 문법
- torch.nn.Module
- Torchvision
- Deep learning
- tensorflow
- CNN
- 가상환경구축
- pychram
- vision transformer
- __init__
- docker
- pytorch
- Today
- Total
목록분류 전체보기 (66)
인공지능을 좋아하는 곧미남
class의 magic function인 __call__에 관해 알아보겠습니다. 1. "__call__"의 사용목적 및 기본예시 2. "__call__"을 사용하여 pytorch에서 nn.Module 패키지 내부적으로 수행되는 def forward(self, x)의 기능을 __call__로 구현 1. "__call__"의 사용목적 및 기본예시 1) 사용 목적: 클래스의 객체를 호출하게 만들어주는 매서드 __call__! - class와 __init__ 매서드를 정의해주고 __call__ 매서드를 정의한 후 class 객체를 생성해주고 그 생성자를 호출하면 __call__ 매서드의 명령어가 실행된다. 2) 예시 코드 class A(): def __init__(self, x, y): sel..
오늘은 torch.nn.Module.parameters(), named_parameters()를 이용하여 Deep Neural Network의 convolution layer의 parameters인 weight, bias를 추출해보겠습니다. 오늘의 내용은 아래와 같습니다. 1. torch.nn.Module.parameters() 설명 2. torch.nn.Module.named_parameters() 설명 제가 구성한 model은 아래 코드와 같습니다. - 구현 코드 - import torch import torch.nn as nn class CNN(nn.Module): def __init__(self, img_size, num_class): super(CNN, self).__init_..
오늘은 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_shap..
여러가지 인공지능 모델 개발을 한 후 해당 모델에 대해 평가를 해야합니다. 흔히 말해 성능 평가라고 하며, 각 모델별로 성능 지표들이 다르게 정의되어 있습니다. 포괄적인 인공지능 모델은 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를 찾아서 구현해보고 새로운 방법으로 정확도를 높여보는 작업을 했었던 시절이었다. (사실 지금은 작업을 하는..