TIL 2023-03-11

곽태욱·2023년 3월 11일
0

Diffusion

Diffusion 모델은 입자가 확산하는 현상에서 유래했다. 잉크 방울을 물에 떨어뜨리면 처음에는 점 모양이다가 시간이 지날 수록 물 전체로 퍼져 나가는데, 이미지 생성이라는 것도 노이즈에서 이미지로 변화하는 과정이기에 확산 원리를 활용해 이미지를 생성한다.

Tensor

배열 또는 행렬과 비슷한데 각종 연산(전치, 인덱싱, 슬라이싱, 행렬곱 등) 및 GPU 가속을 지원한다.

torch.linspace(start,end,step)

start 부터 end 까지 step씩 증가하는 Tensor를 생성한다.

torch.cumprod(input,dim)

input에 대해 누적곱 Tensor를 반환한다. output 차원은 input 차원과 같다. 누적곱은 아래와 같이 계산한다.
outputi=input0input1...inputioutput_i=input_0*input_1*...*input_i

torch.nn.functional.pad(input,pad,value=None)

지정한 input 차원 앞뒤로 value 값을 넣어준다. 차원 지정은 pad로 할 수 있다.

pad = (마지막차원왼쪽,마지막차원오른쪽)
pad = (마지막차원왼쪽,마지막차원오른쪽,마지막두번째차원왼쪽,마지막두번째차원오른쪽) 등등

profile
이유와 방법을 알려주는 메모장 겸 블로그. 블로그 내용에 대한 토의나 질문은 언제나 환영합니다.

0개의 댓글