본문 바로가기

[Day6] Pytorch 2. Pytorch Basics : Tensor, data types, handling, operations, formula Pytorch numpy numpy 기반 autograd 자동미분 지원 function 다양한 형태의 함수와 모델 지원 Tensor 다차원 arrays를 표현하는 pytorch 클래스 python의 list = numpy 의 ndarray = pytorch 의 tensor = tensorflow의 tensor import numpy as np import torch arr=list(range(10)) print(arr) np_array=np.array(arr) print(f"type : {type(np_array)}, ndim : {np_array.ndim}, shape : {np_array.shape}") torch_tensor=torch.tensor(arr) print(f"type : {type(to..
[DAY3] AI math 3. 경사하강법 -1 미분 Differentiation 변수의 움직임에 따른 함수값의 변화 측정법 기울기=변화율 변화율의 극한 = 미분 = 한 점에서의 접선의 기울기 import sympy as sym from sympy.abc import x fx=sym.poly(x**2 +2*x +3) # 다항식 sym.diff(fx,x) #x로 미분하라 >>>Poly(2𝑥+2,𝑥,𝑑𝑜𝑚𝑎𝑖𝑛=ℤ) 미분을 어디에 쓸까? 현재 주어진 점에서 어느 방향으로 움직여야 함수값이 증가 혹은 감소하는지 알 수 있다. 차원이 높아질 수록 어느 방향으로 가야 함수값이 커질지 작아질지 에측하기 어렵다. 어느 차원에서든 미분값이 양수든 음수든 상관없이 함수값을 증가시키고 싶으면 미분값을 더해준다 경사상승법 (gradient ascent) : 함수 최대화,..
[Day3] AI math 1. 벡터가 뭐예요? (스칼라곱, 연산, 성분곱, norm, L1, L2, 거리, 각도, 내적) Vector :숫자를 원소로 가지는 리스트 :공간에서 한 점 : 1차원이든 5차원이든 한 점으로 나타난다. 원점에서부터 그 위치(점)까지 연결된 화살표로 표현한다. 열벡터 : 세로벡터 ex) [1,] [2,] [3] 행벡터 : 가로벡터 ex) [1, 2, 3] import numpy as np x=np.array([1,2,3]) 벡터의 차원 각 벡터안의 숫자들의 갯수 ex) [1,2,3] =>3차원 스칼라곱 각 구성성분에 스칼라값을 곱해주게 된다. 방향은 그대로이고 길이만 늘어나거나 줄어든다. x=np.array([1,2,3]) #a*x=[a*1,a*2,a*3] print(2*x) >>>[2 4 6] 스칼라를 a라고 생각하면 된다. 벡터의 덧셈과 뺄셈 각 구성성분끼리의 덧셈이나 뺄셈 같은 형태(모양)이어..