딥러닝(8)
-
Python(Colab) 파이토치(Pytorch) + 딥러닝 + 포켓문분류
✔ 데이터셋 train 데이터 - https://www.kaggle.com/datasets/thedagger/pokemon-generation-one validation 데이터 - https://www.kaggle.com/datasets/hlrhegemony/pokemon-image-dataset 1. 다운로드 하기 import os import shutil os.environ['KAGGLE_USERNAME'] = 캐글 아이디 os.environ['KAGGLE_KEY'] = 캐글 고유 키 !kaggle datasets download -d thedagger/pokemon-generation-one !kaggle datasets download -d hlrhegemony/pokemon-image-datas..
2023.07.06 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 + 전이학습 (Alien vs predator)
✔️전이학습 * 하나의 작업을 위해 훈련된 모델을 유사 작업 수행 모델의 시작점으로 활용하는 딥러닝 접근법 * 신경망은 처음부터 새로 학습하는 것보다, 전이 학습을 통해 업데이트하고 재 학습하는 편이 더 빠르고, 간편하다 * 전이 학습은 여러 응용 분야 중에서도 특히 검출, 영상 인식, 음성 인식, 검색 분야에 많이 사용 ✔️ 고려해야할 점 * 데이터의 크기: 모델 크기의 중요성은 모델을 배포할 위치와 방법에 따라 달라진다. * 정확도: 재 훈련전의 모델 성능은 어느 정도인지 확인이 필요 * 예측속도: 하드웨어 및 배치 크기와 같은 다른 딥러닝 요소는 물론, 선택된 모델의 구조와 크기에 따라 달라진다. 파이토치에서 제공되는 사전학습 모델들이 많이 존재한다. kaggle 데이터 (에일리언 vs 프레데터)로..
2023.06.24 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 + CNN 사용해보기
1. 기초설정 import torch import torch.nn as nn import torch.optim as optim 2. 데이터 설정 # 예제 데이터 준비 # 배치 크기 / 채널 / 세로 / 가로 inputs = torch.Tensor(1,1,28,28) print(inputs.shape) 3. 컨볼루젼2d 사용 conv1 = nn.Conv2d(in_channels=1,out_channels=32,kernel_size=3, padding='same') out1 = conv1(inputs) print(out1.shape) 해석 첫번째 ) 1개 입력 데이터 / 32개 출력 데이터 / 필터 사이즈 (3,3) / padding으로 주위가 0(black) 설정 두번째) 예시 데이터를 컨볼루전에 대입 세..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 + CNN기초(이미지)
✔️ CNN(Convolutional Neural Networks) - 합성곱 뉴런 신경망 - 형태: 전통적인 뉴럴 네트워크 + 컨볼루셔널 레이어 - 컨볼루셔널 레이어를 통해 입력받은 이미지의 특징을 추출 -> 추출한 특징을 기반으로 기존 뉴럴 네트워크 이용 - 이미지 분류 / 예측에 많이 사용 특징) * 특히 이미지를 분류할 때 DNN(Deep Neural Network)의 문제점을 가지고 있다. * 일반적인 DNN은 1차원 형태의 데이터를 사용 * 2차원 이상의 데이터가 입력되는 경우는 flatten 시켜서 한줄로 데이터를 변환 후 넣어야함. * 이미지의 공간적/지역적 정보가 손실된다. * 따라서 DNN의 문제점을 해결하기 위해 이미지를 그대로 (Raw Input) 받음으로 공간적 / 지역적 정보를 ..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 활성화 함수
✔️활성화 함수 (Activation Function) - 신경망의 성능을 향상 시키기 위해 사용한다 - 직선 layer를 여러개 써봐야 1개의 직선이 최선이다. - 선형함수: 입력값과 가중치를 곱한 결과를 그대로 출력 - 신경망에서 여러개의 선형 활성화 함수를 사용한다면, 최중 출력값은 입력값과 가중치의 선형 조합으로 표현 - 이는 입력데이터의 비선형 관계를 표현할수 없다. - 신경망의 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수를 사용한다. 1. Sigmoid() 주로 은닉층에서 사용하지 않고, 출력층(output layout)에서만 사용 import numpy as np import matplotlib.pyplot as plt def sigmoid(x): retu..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 해보기
✔️ 퍼셉트론(Perceptron) 생물학적 뉴런 : 화학적,전기적 신호를 처리하고 서로 전달하는 연결된 뇌신경 세포 인공 뉴런 : 퍼셉트론이라 불림 -1943년 웨렌 맥컬론, 월터 피츠가 단순화된 뇌세포 개념을 발표 논리회귀(단층 퍼셉트론)으로 or문제 풀기 문제: 0,1중 1개라도 1이 있으면 정답은 1 import torch import torch.nn as nn import torch.optim as optim X = torch.FloatTensor([[0,0],[0,1],[1,0],[1,1]]) y= torch.FloatTensor ([[0],[1],[1],[1]]) model = nn.Sequential( nn.Linear(2,1), nn.Sigmoid() ) optimizer = optim...
2023.06.20