본문 바로가기

Python/PyTorch5

[PyTorch] Torchvision과 utils.data 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ Torchvision Torchvision은 대표적으로 전처리할 때 사용하는 메서드인 transforms를 제공하는 패키지이다. 이외에도 일반적으로 클래스를 따로 만들어 전처리 단계를 진행하며 다양한 전처리 기술을 제공한다. import torch import torchvision import torchvision.transforms as transforms transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize(mean=(0.5,), std=(0.5,))]) 예를 들어 DataLoader의 인자로 들어갈 transform을 미리 정의할 수.. 2022. 2. 23.
[PyTorch] nn과 nn.functional 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ torch.nn & torch.nn.functional PyTorch는 신경망(Neural Network) 생성, 학습을 위해 torch.nn 또는 torch.nn.functional 패키지를 제공한다. torch.nn 또는 torch.nn.functional 패키지를 통해 자동미분(autograd) 관련 작업을 진행할 수 있다. 이 두 패키지는 같은 기능을 제공하지만 방식이 조금 다르다. 결론만 말하자면 torch.nn은 attribute를 활용해 state를 저장, 활용하고 torch.nn.functional로 구현한 함수의 경우에는 인스턴스화시킬 필요없이 바로 사용이 가능하다. ✅ torch.nn torch.nn은.. 2022. 2. 23.
[PyTorch] CUDA와 자동미분 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ CUDA Tensor CUDA(Computed Unified Device Architecture)는 NVIDIA의 GPU 개발 툴이다. 파이토치는 .to() 메서드를 통해 텐서를 cpu 또는 gpu 등 어떠한 장치로도 옮길 수 있다. import torch x = torch.randn(1) print(x) print(x.item()) print(x.dtype) # output # tensor([-0.3513]) # -0.35131844878196716 # torch.float32 스칼라 값을 가지는 텐서를 하나 생성한 뒤 텐서를 살펴보면 위와 같다. -0.3513... 이라는 값을 가지고 있고 데이터 타입은 float3.. 2022. 2. 23.
[PyTorch] 텐서의 연산과 조작 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ operations 텐서의 연산은 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙연산과 내적(dot product)이 존재한다. 사칙연산은 torch에서 제공하는 메서드나 기본 연산자인 +, -, *, / 을 사용한다. import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) ✔️ 덧셈 print(x + y) # output # tensor([[ 6, 8], # [10, 12]]) print(torch.add(x, y)) # output # tensor([[ 6, 8], # [10, 12]]) 덧셈은 + 연산자를 사용하거나 torch.add(.. 2022. 2. 22.
[PyTorch] 파이토치와 텐서 이수안컴퓨터연구소의 파이토치(PyTorch) 기초 영상을 보고 정리한 내용입니다. ✅ PyTorch 파이토치(PyTorch)는 딥러닝 프레임워크이다. 텐서플로, 케라스 등 다른 딥러닝 프레임워크들에 비해 파이토치는 파이썬에 가깝고 편한 인터페이스를 제공한다. import torch 파이토치의 구성요소는 다음과 같다. torch : 텐서를 생성하는 라이브러리 torch.autograd : 자동미분 기능을 제공하는 라이브러리 torch.nn : 신경망을 생성하는 라이브러리 torch.multiprocessing : 병렬처리 기능을 제공하는 라이브러리 torch.utils : 데이터 조작 등 유틸리티 기능을 제공 torch.legacy : 파이토치는 Torch로부터 포팅해온 코드이므로 기존 torch를 사용하.. 2022. 2. 22.