출처: 차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍 파이토치의 최대 특징은 자동 미분 기능이다. 0계 텐서는 스칼라, 1계 텐서는 벡터, 2계 텐서는 행렬을 뜻함. import torch r0 = torch.tensor(1.0).float() print(type(r0)) print(r0.dtype) torch.float32 텐서 변수가 생성될 때는 반드시 뒤에 float()을 호출해서 float32로 변환해야한다.0계 텐서이기 때문에 []가 비어있다. 만약 2행 3열인 2계텐서가 있으면 Torch.Size([2,3])이 출력된다. print(r0.shape) print(r0.data) torch.Size([]) tensor(1.) 1계텐서는 다음과 같다. torch.tensor 인수로 넘파이 배열..
출처: 차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍 클래스는 틀, 인스턴스는 이 틀로부터 생성된 개별적인 실체다. 클래스는 속성이라고 하는 클래스 안의 변수(파라미터)를 가지고, 함수(def)로 정의되는 것은 메서드라고 한다. Point import matplotlib.pyplot as plt import matplotlib.patches as patches class Point: def __init__(self,x,y): self.x = x self.y = y def draw(self): plt.plot(self.x,self.y,marker='o',markersize=10,c='k') __init__은 초기화 처리를 위한 함수, self는 인스턴스 자신이다. p1 = Point(2,3) p2 =..
분명 다 배운건데 너무 옛날에 배워서 (3년전) 기억이 날듯말듯하는 파이썬 기초 문법들 다시 정리하기,, 출처: Do it 점프 투 파이썬 "%10s" % "hi" ' hi' 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 나머지는 공백으로 남김 즉 공백은 8개 h i "%-10sjane" % "hi" hi에서 jane 전까지의 길이는 10개이고, 공백은 8개다. format 함수 number = 10 day = "three" "I ate {0} apples. so I was sick for {1} days.".format(number, day) I ate 10 apples. so I was sick for three days. format 함수를 통한 포매팅 시 인덱스 항목이 f..
출처: Do it! 점프 투 파이썬 class Calculator : def __init__(self) : self.result = 0 def add(self, num) : self.result += num return self.result cal1 = Calculator() cal2 = Calculator() calculator 클래스로 만든 별개의 계산기 cal1 cal2(객체)가 각 역할을 수행한다. 클래스로 만든 객체를 인스턴스라고 한다. 여기서 cal1, cal2는 객체, cal1, cal2의 객체는 Calculator의 인스턴스이다. 인스턴스는 특정 객체(cal1,cal2)가 어떤 클래스(Calculator)의 객체인지 관계 위주로 설명할 때 사용한다. 즉 cal1,cal2는 Calculato..
모델 정의 nn.Module 상속 클래스 정의 nn.Module을 상속받는 클래스 정의 __init__(): 모델에서 사용될 모듈과 활성화 함수 등을 정의 forward(): 모델에서 실행되어야 하는 연산을 정의 class Model(nn.Module): def __init__(self,inputs):#초기화 super(Model,self).__init__() self.layer = nn.Linear(inputs,1) self.activation = nn.Sigmoid() def forward(self,x): x = self.layer(x) x = self.activation(x) return x model = Model(1) print(list(model.children())) print(list(mo..
토치비전(torchvision)은 파이토치에서 제공하는 데이터셋들이 모여있는 패키지 transforms: 전처리할 때 사용하는 메소드 (https://pytorch.org/docs/stable/torchvision/transforms.html) transforms에서 제공하는 클래스 이외는 일반적으로 클래스를 따로 만들어 전처리 단계를 진행 import torch from torch.utils.data import Dataset,DataLoader import torchvision.transforms as transforms from torchvision import datasets DataLoader의 인자로 들어갈 transform을 미리 정의할 수 있고, Compose를 통해 리스트 안에 순서대로 ..