텐서 (Tensor):
- PyTorch의 기본 데이터 구조는 텐서이다. 이는 다차원 배열로, NumPy 배열과 유사하지만 GPU 가속을 지원한다.
연산 방법은 다음과 같다.
t1=torch.tensor([...]) #텐서 생성
t2=torch.tensor([...])
t_plus=t1+t2 #더하기 연산
t_minus=-t1 #-연산
t_mul=t1*t2 #요소별 곱
t_div=t1/t2 #요소별 나누기
t_matmul=t1@t2
t_matmul=t1.matmul(m2) #행렬곱
t_transpose=t1.transpose(dim1,dim2) #dim1과 dim2의 차원을 맞바꾼다.
t_permute=t1.permute(dim1,dim2,dim3,...) #넣은 차원 순서대로 차원을 나열한다.
t_view=t1.view(dim1,dim2,...) #메모리를 공유하는 사이즈가 다른 텐서 반환
t_reshape=t1.reshape(dim1,dim2,...) #메모리를 공유하는 게 가능하면 view의 결과를 아니면 복제하고 사이즈가 다른 텐서 반환
t_clone=t1.clone() #메모리를 복제하여 다른 텐서를 생성한다. 그리고 require_grad가 있을시 여기서 그래프 생성
t_detach=t1.detach() #메모리를 복제하여 다른 텐서를 생성하고 그래프 생성을 끊는다.
t_unsqeeze=t1.unsqueeze(dim) #dim차원과 dim+1차원 사이에 1인 차원생성
t_sqeeze1=t1.squeeze() #1인 차원 모두 제거
t_squeeze2=t1.squeeze(dim) #dim의 텐서개수가 1인 차원이라면 제거
t_cumpred=torch.cumprod(t1,dim=x) #x차원인 0번째부터 n번째까지 t1의 원소들의 곱들을 반환한다.
t_linspace=torch.linspace(start,end,steps) #start부터 end까지 공차가 steps인 등차수열의 값들을 모두 텐서에 저장하여 생성
그 외 다양한 연산 방법이 있다. 자주 쓰는 연산 방법은 다음과 같으니 참고 바란다.
'클라우드 > colab' 카테고리의 다른 글
Colab으로 자신만의 stable diffusion model구현하여 이미지 생성하기 (0) | 2024.06.20 |
---|---|
Colab을 이용해 인공지능을 개발해보자!-4편: xtts를 활용하여 무료로 자신만의 AI Voice 생성하기 (0) | 2024.06.08 |
Colab을 이용해 인공지능을 개발해보자!-2편: PyTorch란? (0) | 2024.05.23 |
Colab을 이용해 인공지능을 개발해보자!-1편: Colab이란? (0) | 2024.05.15 |