전체 글(327)
-
2. Pytorch 기본 코드!
numpy + AutoGrad를 제공. 기본 벡터 다루는 내장 함수들 1. tensor.reshape() 2. tensor.squeeze() 3. tensor.unsqueeze() 4. tensor1.matmul(tensor2), tensor1.mm(tensor2) : element-wise 곱 but matmul은 broadcasting을 지원해주므로 조심할 것 5. tensor1.dot(tensor2) : 행렬 내적 곱 import torch.nn.functional as F # 이거 진짜 많이쓴다~ 유용한 기능 많음 - F.softmax(tensor, dim=0) - F.one_hot(tensor) z.backward() : 미분 수행 w.grad() : 기울기 값을 반환.
2023.11.13 -
1. Pytorch란?
딥러닝 프레임워크. Pytorch : facebook 개발 Tensorflow : Google 개발 Keras : wrapper. 즉 pytorch이든 tensorflow이든 상관없이 같이 쓸 수 있긴함. 살짝 고런 느낌쓰 Tensorflow : Define and Run(=static) - forward propagation을 먼저 구현하고, 실행 시점에 데이터 feed Pytorch : Define by Run(=dynamic) - forwrad propagation을 정의와 동시에 실행 - 즉 디버깅(print문)이 훨씬 편리함. numpy = ndarray 와 흡사하게 pytorch = tensor를 사용. - 텐서는 그냥 3차원이상 다차원 리스트라고 생각하면 편하다. - 다만 torch.tens..
2023.11.13 -
16. Gradient Descent
핵심은 미분. 미분 = 기울기!! - 기울기를 통해 loss가 최적해에 수렴하는 방향을 알 수 있다. - 구현 시 Gradient Descent 결과가 최적해(=극점)에 도달했을 때 기울기가 0 이므로 해당 지점에 도착했을 대 종료 조건이 필요하다.(정확히 0일 확률은 드물기 때문에 어느정도 오차범위를 설정해주어야 한다.) 현재 지점(var)에서 기울기가 양수 - 오른쪽으로 가면 상승, 왼쪽으로 가면 하강. 따라서 좌표상 왼쪽으로 이동해야하므로 var - (learning rate * grad) 현재 지점(var)에서 기울기가 음수 - 오른쪽으로 가면 하강, 왼쪽으로 가면 상승. 따라서 좌표상 오른쪽으로 이동해야 하므로 var - (learning rate * grad) - 이때 grad는 기울기. 기울..
2023.11.09 -
15. (Math) scalar, vector, matrix, tensor에 대한 정리
scalar : 3 vector : [1,2,3] matrix : [[1,2,3], [4,5,6]] 3-tensor, n-tensor vector : 공간에서 한 점을 나타냄. - 공간이 1차원, 2차원, 3차원이냐에 따라서 dimension이 달라질 수 있다.(리스트 길이가 dim을 뜻한다) - shape이 같을 경우 element-wise 합,차,곱,나누기 모두 가능하다. - Norm : 벡터의 크기. 즉 원점에서부터의 거리! 이때 L1 norm, L2 norm이 존재한다.(각각 맨하탄 거리, 유클리디안 거리라고도 부른다) matrix : 벡터를 원소로 가지는 2차원 배열 - shape이 같을 경우 element-wise 합,차,곱,나누기 모두 가능 - (n,m) * (m,k) 의 행렬곱은 (n,k)..
2023.11.09 -
14. Pandas
Series : Dataframe 중 하나의 Column에 해당하는 데이터 모음. - series operation : index를 기준으로 연산수행. 겹치는 index가 없으면 NaN값 반환 - 이때 fill_value=0 이라는 parameter를 사용하게 되면 겹치는 index가 없는 쪽은 0이라고 가정하고 연산을 수행한다. - Sereis + Dataframe operation : numpy이기 때문에 broadcasting이 일어나서 연산을 수행하게 된다. - map 함수를 적용도 가능. df.sex.map({'male':0, 'female':1}) -> 성별 column의 값이 문자열에서 정수형으로 변환된다. - replace 함수도 적용 가능. df.sex.replace({'male':0, ..
2023.11.08 -
13. Numpy
import numpy as np - 뭐 거의 세계 공용어. 약속같은거다. numpy array는 한가지 타입의 데이터만 저장할 수 있음. - 다양한 데이터를 가질 수 있는 리스트와는 다름. - 에러가 뜨진 않고 하나의 형식으로 통일해서 저장함. numpy array : array -> 메모리 주소가 연속적. Python list : Linked List -> 메모리 주소가 동적. scalar, vector, matrix, 3-tensor, n-tensor로 명명
2023.11.08