1. terminology kernel, filter, matrix, tensor 전부 비슷하면서 약간 달라? kernel을 channel로 쌓으면 filter라고 부른다는데 딱히 찾아봐도 뭐가 없네 matrix가 2차원으로 원소를 모아놓은거면 tensor는 3차원 이상으로 원소를 모아놓은거 decomposition과 factorization은 사실상 동일해서 혼용해서 사용 그래서 tensor decomposition을 tensor factorization이라고 부르기도함 low rank approximation은 decomposition들을 전부 통틀어서 이르는 느낌이랄까 convolution layer를 decomposition하는 경우 convolution filter를 decomposition..
학습된 weight tensor를 더 작은 단위의 vector나 tensor의 곱이나 합의 조합으로 근사적으로 표현하는 것 저장해야하는 weight가 줄어들어 computation이 줄어드는 효과 1. CP decomposition rank one tensor의 P개의 linear combination으로 주어진 tensor를 decomposition할 수 있다는 것 convolution weight tensor x를 vector a,b,c의 outer product(=rank one tensor)의 linear combination(summation)으로 근사적으로 분해함 실제 network에 활용할 때는 일반적으로 full convolution이 image에 filter tensor를 con..
matrix나 tensor는 linear transformation이다. 1차원의 [0,1]의 선분을 linear transformation T(x)=3x를 통해 변환하면 3배 늘어난 선분 [0,3]이 된다 주어진 2차원의 정사각형 ABCD를 linear transformation 을 통해 변환하면 2배 늘어나고 회전된 정사각형 A’B’C’D’이 된다 조금 더 복잡하게 주어진 정사각형을 늘리거나 회전시키거나 비틀어버리거나 하더라도 linear transformation 수학적으로 vector space V,W에 대하여 f: V → W가 linear map이라는 것은 임의의 vector u,v ∈ V와 scalar c가 f(u+v)=f(u)+f(v) , $f(cu)=cf(u)..
gaussian heatmap에서 landmark localization (x,y) 좌표를 얻어내는 방법은 landmark localization이라는 것이 가장 주목할 부분, heatmap에서 가장 밝게 빛나는 부분이므로 heatmap의 activation value중 가장 큰 값의 (x,y)좌표를 얻어오면 된다 주어진 heatmap tensor hm에서 최댓값 부분을 어떻게 찾아오느냐? hm에서 최댓값을 가져오려면 hm.max()나 torch.max(hm)을 사용한다 hm==torch.max(hm)을 하면 True, False를 원소로 가지는 hm 크기와 동일한 tensor가 나온다 True의 위치를 찾는게 목적이라고 할 수 있다. 어떻게 찾을까? torch.where()나 np.where()함수는 ..
1. computational graph computational graph라는 것은 pytorch가 최종 변수에 대한 (위 그림에서는 L) forward pass를 통해 계산되는 모든 과정이 graph 형태로 저장되어 있는 것을 의미한다. 위의 그림은 a, b, c, d, L, w1,w2,w3,w4 9개의 변수 값들의 계산 과정이 기록되어 있는 computational graph이다. 위 그림에서 예를 들어 c를 계산할려면 a와 w2의 어떤 연산으로 c가 계산되어진다는 의미다. 이렇게 저장을 해놓으면 chain rule에 의한 backward pass 계산이 쉬워진다. 2. backward forward pass를 통해 변수에 대해 계산을 하면 pytorch에서 알아서 computational ..
a = torch.tensor([1,2,3,4]) b = torch.tensor([2,3,5,1]) 위와 같은 두 텐서가 있을때, 서로 같은지 알고싶다.. 크기가 작으니 바로 보면 다르다는 것 알 수 있는데 얘 둘을 비교해보라고 한다면? a == b 해버리면... 예상하는 결과와 다르게 나온다 이렇게 하면 진짜 True인지 False인지 바로 알기 어렵다.. tensor의 원소 하나하나 True인지 False인지 체크해야하거든.. torch.all()을 이용해서 boolean tensor의 모든 boolean을 비교해서... 전부 True이면 True이고 하나라도 False이면 False https://doheejin.github.io/pytorch/2021/02/13/pytorch-function.ht..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.