본문 바로가기

수업 복습/머신러닝과 딥러닝22

포켓몬 분류 1. 포켓몬 분류 Train : https://www.kaggle.com/datasets/thedagger/pokemon-generation-one Pokemon Generation One Gotta train 'em all! www.kaggle.com Validation : https://www.kaggle.com/hlrhegemony/pokemon-image-dataset Complete Pokemon Image Dataset 2,500+ clean labeled images, all official art, for Generations 1 through 8. www.kaggle.com import os os.environ['KAGGLE_USERNAME'] = 'sakongmyoungheun' os... 2024. 3. 27.
전이 학습 optimizer = optim.Adam(model.fc.parameters(), lr = 0.001) epochs = 10 for epoch in range(epochs + 1): sum_loss = 0 sum_acc = 0 for x_batch, y_batch in dataloaders['train']: x_batch, y_batch = x_batch.to(device), y_batch.to(device) y_pred = model(x_batch) loss = nn.BCELoss()(y_pred, y_batch) optimizer.zero_grad() loss.backward() optimizer.step() sum_loss = sum_loss + loss.item() y_bool = (y_pred .. 2024. 3. 26.
간단한 CNN 모델 만들기 실습 import torch import torch.nn as nn import torch.optim as optim inputs = torch.Tensor(1,1,28,28) print(inputs.shape) # 결과 : torch.Size([1, 1, 28, 28]) 먼저 필요한 모듈들을 import 해주고 임의로 설정들을 준 변수를 tensor 형태로 만들어줍니다 첫번째 Conv2D # padding을 통해 이미지 크기(?)를 유지 할 수 있음, 현재 코드에서 padding을 주지 않았을 시에는 이미지 크기(?)가 26이 됨 conv1 = nn.Conv2d(in_channels=1, out_channels=32, kernel_size=3, padding='same') out = conv1(inputs).. 2024. 1. 23.
CNN 기초 1. CNN(Convolutional Neural Networks) 합성곱 인공 신경망(레이어 앞에 또 다른 알고리즘이 붙은 경우) 전통적인 뉴럴 네트워크에 컨볼루셔널 레이어를 붙인 형태 컨볼루셔널 레이어를 통해 입력 받은 이미지에 대한 특정(Feature)을 추출하게 되고, 추출한 특징을 기반으로 기존의 뉴럴 네트워크에 이용하여 분류 컨볼루셔널 레이어는 일반적인 딥러닝에 좌표를 부여받아 입력해줌으로서 좀 더 효율적인 영상 데이터 분석이 가능하게 해줌 2. CNN을 사용하는 이유 이미지를 분류할 때 DNN(Deep Neural Network)의 문제점 일반적인 DNN은 1차원 형태의 데이터를 사용해야 함 2차원 이상의 데이터가 입력되는 경우 flatten 시켜서 한 줄로 데이터를 변환 후 넣어야 함 이미.. 2024. 1. 23.