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

PyTorch18

TabNet TabNet TabNet은 tabular 데이터의 훈련에 맞게 설계됐으며 Tree 기반 모델에서 변수의 선택 특징을 네트워크 구조에 반영한 테이블 형식 데이터 학습 아키텍처 모델이다. TabNet은 순차적인 attention을 사용하여 각 결정 단계에서 추론할 기능을 선택하고, 학습 용량이 가장 두드러진 기능에 사용되므로 해석 가능성과 보다 효율적인 학습을 가능하게 한다. 예제 pip install pytorch_tabnet from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder from sklearn.metrics import accuracy_score from pytorch_ta.. 2024. 4. 21.
[PyTorch] 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를 사용하는 확인하기 위해 device를 출력해 본다. import torch devic.. 2024. 3. 19.
[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.
[Object Detection] YOLOv5 YOLOv5 YOLO는 'You only look once'의 약자로 이미지를 그리드 시스템으로 분할하는 객체 감지 알고리즘이다. 그리드의 각 셀은 자체 내에서 개체를 감지하는 역할을 한다. YOLO는 속도와 정확성으로 인해 가장 유명한 객체 감지 알고리즘 중 하나이다. YOLOv5🚀COCO 데이터 세트에서 사전 훈련된 객체 감지 아키텍처 및 모델이며, 수천 시간의 연구 및 개발을 통해 학습한 교훈과 모범 사례를 통합하여 미래 비전 AI 방법에 대한 Ultralytics 오픈 소스 연구가 있다. YOLOv4 출시 직후 Glenn Jocher는 Pytorch 프레임워크를 사용하여 YOLOv5를 도입했다. 오픈 소스 코드는 GitHub 에서 사용할 수 있다. YOLOv5 설치 구글 코랩에서 진행한다. %cd.. 2022. 9. 4.
[AI] Basic Architecture TensorFlow TensorFlow는 텐서 (Tensor)를 흘려 보내면서 (Flow) 딥러닝 알고리즘을 수행하는 프레임워크이다. ① 사용자 친화적 (Keras as High Level API) ② 코드 가독성과 직관성을 높이는 Eager Execution 적용 Keras Keras 창시자 프랑소와 숄레 (François Chollet)가 TF 2.0 개발에 참여하였고, TF 2.0 에서 공식적이고 유일한 High-Level API로써 Keras가 선정되었다. 또한, 프랑소와 숄레는 앞으로 native Keras 보다는 tf.keras를 사용할 것을 권장하고 있다. 사용자 친근성 (User Friendliness) : 직관적인 API를 이용하면 ANN, CNN, RNN 또는 이를 조합한 딥러닝 모델을.. 2022. 7. 17.
[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.
[PyTorch] 모델 매개변수 (Parameter) 모델 매개변수 (Parameter) 신경망 내부의 많은 계층들은 매개변수화 (parameterize)된다. 즉, 학습 중에 최적화되는 weight와 bias과 연관지어진다. nn.Module 을 상속하면 모델 객체 내부의 모든 필드들이 자동으로 추적 (track)되며, 모델의 parameters() 및 named_parameters() method로 모든 parameter에 접근할 수 있게 된다. 각 매개변수들을 순회하며 (iterate), 매개변수의 크기와 값을 출력한다. print("Model structure: ", model, "\n\n") for name, param in model.named_parameters(): print(f"Layer: {name} | Size: {param.size().. 2022. 1. 13.
728x90
반응형
LIST