728x90
반응형

pytorch 10

[python] github .py 파일 실행해보기 (train.py, utils.py)

터미널에서 CUDA_VISIBLE_DEVICES=0 python train.py 실행 실행하기 전, 경로 설정을 해줘야 함. 필요한 파일들을 동일한 경로에 넣기.train.py 파일을 수정해서 현재 경로에 데이터셋이 잘 다운로드 될 수 있도록 설정하기. https://github.com/facebookresearch/mixup-cifar10/blob/main/train.py mixup-cifar10/train.py at main · facebookresearch/mixup-cifar10mixup: Beyond Empirical Risk Minimization. Contribute to facebookresearch/mixup-cifar10 development by creating an account o..

python 2024.09.10

[오류Error] RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same

import torch import torch.nn as nn import torch.nn.functional as F class SimpleCNN(nn.Module): def __init__(self): super(SimpleCNN, self).__init__() self.conv1 = nn.Conv2d(in_channels=3, out_channels=4, kernel_size=3, stride=1, padding=1) self.conv2 = nn.Conv2d(in_channels=4, out_channels=8, kernel_size=3, stride=1, padding=1) self.pool = nn.MaxPool2d(kernel_size=2, stride=2) self.flatten = nn.F..

오류Error 2024.04.17

[오류Error] exception: install mecab in order to use it: http://konlpy.org/en/latest/install/

코랩으로 Mecab()을 돌려야 하는데, 자꾸 에러가 발생해서 많이 헤매다가 해결했다. 나중에 또 까먹을 것 같아서 기록하기로..! 이 포스트에서 사용된 MeCab-ko (한국어 형태소 분석기) 설치 방법은 SOMJANG님의 GitHub 저장소 'Mecab-ko-for-Google-Colab'을 참조하여 진행했습니다. 해당 저장소에는 Google Colab 환경에서 MeCab-ko를 쉽게 설치할 수 있도록 하는 스크립트가 제공됩니다. 자세한 설치 방법과 사용법은 아래 깃허브에서 확인할 수 있습니다. GitHub - SOMJANG/Mecab-ko-for-Google-Colab: Use Mecab Library(NLP Library) in Google Colab Use Mecab Library(NLP Lib..

오류Error 2024.02.08

[pytorch] RNN 계층 구현하기

RNN(Recurrent Neural Network, 순환 신경망)은 딥러닝 모델 중 하나로, 주로 시계열 데이터와 같이 순서가 있는 데이터를 처리하는 데 사용됩니다. RNN의 핵심 구조는 간단한 개념으로 시작합니다. 기본적인 신경망, 즉 인공 신경망(Artificial Neural Network, ANN)은 데이터를 입력받아 가중치를 조정하고, 활성화 함수와 같은 방법으로 출력 값을 생성하는데 사용됩니다. 그러나 ANN은 각 입력 간의 연관성이 없다고 가정하며, 이로 인해 순서가 있는 데이터 처리에 어려움이 있습니다. 이 문제를 해결하기 위해 RNN이 등장했습니다. RNN은 인공 신경망 구조를 사용하지만, 순환적으로 연결되어 있어 이전 입력의 정보를 저장하고 처리할 수 있습니다. 이를 통해 연속된 데이..

pytorch 2023.07.11

[pytorch] 이미지 분류를 위한 AlexNet 구현

AlexNet은 컴퓨터 비전 분야의 발전에 중요한 역할을 한 합성곱 신경망(CNN) 아키텍처입니다. 이는 Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton에 의해 개발되었으며, 2012년 ImageNet 대규모 시각 인식 챌린지(ILSVRC)에서 우승하였습니다. 이 대회는 딥러닝의 전환점을 표시하며, CNN이 이미지 분류 작업에서 강력한 성능을 보여준 것을 보여주었습니다. AlexNet 아키텍처는 총 여덟 개의 레이어로 구성되어 있으며, 다섯 개의 합성곱 레이어와 세 개의 완전 연결 레이어로 이루어져 있습니다. 입력 레이어: 입력 이미지를 받습니다. 일반적으로 픽셀 값의 행렬 형태로 제공됩니다. 합성곱 레이어 1: 첫 번째 합성곱 레이어는 입력 이미지에 학습된 필터를..

pytorch 2023.05.31

[pytorch] 이미지 분류를 위한 LeNet-5 구현

이미지 분류는 주어진 이미지를 다양한 클래스 또는 범주로 분류하는 것을 의미합니다. 이때, 분류의 목적은 이미지에 특정 대상이 존재하는지 여부를 판단하는 것입니다. 예를 들어, 고양이와 개를 분류하는 문제를 생각해 보면, 이미지 분류 모델은 입력된 이미지가 고양이인지 개인지를 판단합니다. 모델은 이미지에 대한 특징을 추출하고, 추출된 특징을 기반으로 해당 이미지가 고양이인지 개인지를 예측합니다. LeNet은 1990년대 후반 Yann LeCun 등이 개발한 초기 합성곱 신경망(CNN) 아키텍처로, 주로 필기체 숫자 인식에 사용되었으며 컴퓨터 비전 작업에서 심층 학습의 발전에 중요한 역할을 했습니다. 현대적인 아키텍처에 비해 레이어 수가 적지만, CNN의 발전을 이해하는 데 기초로 작용합니다. LeNet ..

pytorch 2023.05.15

[pytorch] 전이 학습 - 특성 추출 기법 (Feature Extraction)

전이 학습(transfer learning)이란? 하나의 문제를 해결하기 위해 학습된 모델의 지식을 다른 문제를 해결하는데 활용하는 기법입니다. 즉, 기존에 학습한 모델의 가중치와 편향값 등의 정보를 새로운 모델의 초기값으로 활용하여 학습을 진행하는 것을 의미합니다. 전이 학습은 대규모 데이터셋을 가지고 모델을 학습시키는데 필요한 시간과 비용을 줄일 수 있습니다. 또한, 새로운 데이터셋에 대한 모델의 정확도를 높일 수 있습니다. 이는 기존 모델에서 학습한 특성이 비슷한 문제에서도 유용하기 때문입니다. 전이 학습은 크게 두 가지 방법으로 나뉩니다. 특성 추출(Feature Extraction): 사전 학습된 모델을 사용하여 새로운 모델을 초기화하는 방법 → 전체 모델을 처음부터 학습시키는 것보다 효율적 미..

pytorch 2023.05.09

[pytorch] Convolutional Neural Network (CNN) 로 FashionMNIST 구현해보기

fashion_mnist 데이터셋을 사용하여 합성곱 신경망을 직접 구현해 보겠습니다. fashion_mnist 데이터셋은 토치비전에 내장된 예제 데이터로 운동화, 셔츠, 샌들 같은 작은 이미지의 모음이며, 기본 MNIST 데이터셋처럼 열 가지로 분류될 수 있는 28x28 픽셀의 이미지 7만 개로 구성되어 있다. 데이터셋을 자세히 살펴보면 훈련 데이터는 0-255 사이의 값을 갖는 28x28 크기의 넘파이 배열이고, 레이블(정답) 데이터는 0-9 사이 정수 값을 갖는 배열입니다. 이전 포스팅에서는 Deep Neural Network (DNN)로 FashionMNIST를 구현해 보았는데요! https://resultofeffort.tistory.com/95 [pytorch] Deep Neural Networ..

pytorch 2023.04.28

[pytorch] 3. 모델 학습 (파이토치 학습 절차)

모델을 학습을 시킨다는 것은 y = wx + b 라는 함수에서 w와 b의 적절한 값을 찾는다는 것을 의미합니다. w와 b에 임의의 값을 적용하여 시작하여 오차가 줄어들어 전역 최소점에 이를 때까지 파라미터 (w,b)를 계속 수정합니다. 가장 먼저 필요한 절차가 optimizer.zero_grad() 함수를 이용하여 기울기를 초기화하는 것입니다. 파이토치는 기울기 값을 계산하기 위해 loss.backward() 함수를 이용하는데, 이것을 사용하면 새로운 기울기 값이 이전 기울기 값에 누적하여 계산됩니다. 이 방법은 순환신경망(RNN) 모델을 구현할 때 효과적이지만 누적 계산이 필요하지 않는 모델에 대해서는 불필요합니다. 따라서 기울기 값에 대해 누적 계산이 필요하지 않을 때는 입력 값을 모델에 적용하기 전..

pytorch 2023.04.05

[pytorch] tensor(텐서) 생성/이해/조작

텐서는 파이토치에서 가장 기본이 되는 데이터 구조이다. 넘파이의 ndarray와 비슷하며 GPU에서의 연산도 가능하다. 1. 텐서(tensor) 생성 import torch print(torch.tensor([[1,2],[3,4]])) # 2차원 형태의 텐서 생성 print(torch.tensor([[1,2],[3,4]], device = "cuda:0")) # GPU에 텐서 생성 print(torch.tensor([[1,2],[3,4]], dtype = torch.float64))# dtype을 이용하여 텐서 생성 2. 텐서를 ndarray로 변환 temp = torch.tensor([[1,2],[3,4]]) temp.numpy() # 텐서를 ndarray로 변환 temp.to("cpu").numpy(..

pytorch 2023.03.19
728x90
반응형