Chap1.파이토치(Pytorch)

s2ul3·2022년 10월 3일
0

tensor : 데이터를 담고 있는 개체

# 두 텐서의 합 구하는 예제
import torch
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
c = a+b
print(c) # tensor([5, 7, 9])
  • 파이토치는 클래스를 사용하도록 권고
  • 신경망의 동작을 정의하는 모듈 클래스와 데이터를 다루는 데이터셋 클래스가 있다.
  1. 모듈 클래스 : 신경망 만듦.
  • 딥러닝 신경망은 모두 모듈(nn.Module 클래스)로 구성됨.
  • 기본적인 뼈대
class Net(nn.Module):
  def __init__(self):  # 신경망의 구성요소를 정의
      ...
      
  def forward(self, input): # 신경망의 동작을 정의
      ...
      return output
  1. 데이터셋 클래스 : 데이터를 불러오고 학습
  • 데이터 호출 및 학습
  • 기본적인 뼈대
class Dataset():
	def __init__(self):
    	...
        #필요한 데이터 불러오기
        ...
    def __len__(self):
    	...
        #데이터 개수 반환
        ...
       	return len(data)
    def __getitem__(self, i):
    	...
        #i번째 입력데이터와 i번째 정답(label) 반환
        ...
        return data[i], label[i]
  1. 모듈 클래스데이터셋 클래스를 이용한 딥러닝 학습 진행 과정
for data, label in DataLoader():
	# 모델 예측값 계산
	prediction = model(data)
    # 손실 함수를 이용하여 오차 계산
    loss = LossFunction(prediction, label)
    # 오차 역전파
    loss.backward()
    # 신경망 가중치 수정
    optimizer.step()
profile
statistics & computer science

0개의 댓글