본문 바로가기
728x90
반응형
SMALL

Python Library/PyTorch19

[PyTorch] optimizer 시각화 utils.py import numpy as npimport torchimport torch.nn as nnimport matplotlib.pyplot as pltfrom collections import defaultdict# XOR & Perceptrondef draw_function(func, return_fig=False): xx = torch.linspace(-5, 5, steps=1000) fig = plt.figure() plt.plot(xx.numpy(), func(xx).numpy()) plt.xlabel("x", fontdict={"fontsize":16}) plt.ylabel("y", fontdict={"fontsize":16}, rotation=0) .. 2024. 9. 4.
[PyTorch] AssertionError: Torch not compiled with CUDA enabled AssertionError: Torch not compiled with CUDA enabled torch와 cuda 버전이 맞지 않아 출력되는 에러이다. 따라서, 공식 홈페이지에서 가이드대로 설치를 진행한다. 현재 Windows의 PyTorch는 Python 3.8 ~ 3.11만 지원하고 Python 2.x는 지원되지 않으므로 torch 가상 환경으로 파이썬 버전을 설치한다. conda create --name torch python=3.9 torch 가상 환경을 활성화하고 CUDA 11.8 또는 12.1을 설치한다. pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 그 다음, GPU를 사.. 2024. 3. 19.
[Pytorch] 모델 파라미터 계산 Trainable parameters  import torchimport torch.nn as nndef count_parameters(model): return sum(p.numel() for p in model.parameters() if p.requires_grad)# 예시 모델 정의class ExampleModel(nn.Module): def __init__(self): super(ExampleModel, self).__init__() self.conv1 = nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1) self.fc = nn.Linear(32 * 28 * 28, 10) def forward(se.. 2023. 5. 26.
[PyTorch] gradient 시각화 gradient 시각화.import torchx = torch.FloatTensor(2, 2)y = torch.FloatTensor(2, 2)y.requires_grad_(True) # 향후 gradient를 계산하기 위해 이 tensor가 포함된 모든 연산을 추적(track)한다z = ( x + y ) + torch.Tensor(2, 2)print(z)tensor([[2.5832e+30, 2.7510e+36], [9.7644e+21, 5.9766e+31]], grad_fn=)x = torch.FloatTensor(2, 2)y = torch.FloatTensor(2, 2)y.requires_grad_(True)with torch.no_grad(): # 이 연산은 추적하지 않음 z = (.. 2023. 3. 9.
[PyTorch] CNN 라이브러리 import torch import torchvision.datasets as dsets import torchvision.transforms as transforms import torch.nn.init device = 'cuda' if torch.cuda.is_available() else 'cpu' 데이터셋 # 랜덤 시드 고정 torch.manual_seed(0) # GPU 사용 가능일 경우 랜덤 시드 고정 if device == 'cuda': torch.cuda.manual_seed_all(0) # 데이터셋 가져오기 mnist_train = dsets.MNIST(root='MNIST_data/', train=True, transform=transforms.ToTensor(), downl.. 2022. 11. 21.
[PyTorch] CUDA (Compute Unified Device Architecture) CUDA (Compute Unified Device Architecture) CUDA ("Compute Unified Device Architecture", 쿠다)는 그래픽 처리 장치 (GPU)에서 수행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술이다. import torch torch.cuda.is_available() list0 = [1,2,3,4] x = torch.tensor(list0) x.is_cuda x = x.to('cuda') x.is_cuda import torch from torch import nn from torch.utils.data import DataLoader from torchvision imp.. 2022. 11. 21.
[PyTorch] 모델 파라미터 최적화 모델 파라미터 최적화 import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transforms import ToTensor import matplotlib.pyplot as plt import matplotlib.cm as cm import numpy as np import os # 트레이닝 데이터셋 다운 training_data = datasets.FashionMNIST( root="data", train=True, download=True, transform=ToTensor() ) # 테스트 데이터셋 다운 test_data = data.. 2022. 11. 21.
[PyTorch] 패션 MNIST 패션 MNIST import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transforms import ToTensor import matplotlib.pyplot as plt import matplotlib.cm as cm import numpy as np import os # 트레이닝 데이터셋 다운로드 training_data = datasets.FashionMNIST( root="data", train=True, download=True, transform=ToTensor() ) # 테스트 데이터셋 다운로드 test_data = dat.. 2022. 11. 17.
[PyTorch] 활성화 함수 : Non-linear Activations (weighted sum, nonlinearity) Sigmoid (0 ~ 1) import torchimport matplotlib.pyplot as pltx = torch.linspace(-10, 10, 100)y = torch.sigmoid(x)print(x)print(y)tensor([-10.0000, -9.7980, -9.5960, -9.3939, -9.1919, -8.9899, -8.7879, -8.5859, -8.3838, -8.1818, -7.9798, -7.7778, -7.5758, -7.3737, -7.1717, -6.9697, -6.7677, -6.5657, -6.3636, -6.1616, -5.9596, -5.7576, -5.5556, -5.3535, -.. 2022. 9. 24.
[PyTorch] 자동 미분 (Automatic differentiation) 자동 미분 (Autimatic differentiation) 신경망을 학습할 때 가장 자주 사용되는 알고리즘은 역전파이다. 이 알고리즘에서, 매개변수 (모델 가중치)는 주어진 매개변수에 대한 손실 함수의 변화도(gradient)에 따라 조정된다. 이러한 변화도를 계산하기 위해 PyTorch에는 torch.autograd라고 불리는 자동 미분 엔진이 내장되어 있다. 이는 모든 계산 그래프에 대한 변화도의 자동 계산을 지원한다. import torch # 입력 x, 매개변수 w와 b , 그리고 일부 손실 함수가 있는 가장 간단한 단일 계층 신경망을 가정 x = torch.ones(5) # input tensor y = torch.zeros(3) # expected output w = torch.randn(5.. 2022. 1. 13.
728x90
반응형
LIST