lab-01-1~08-2
01-1~2 Tensor Manipulation 1~2
- 1차원: 벡터
- 2차원: 행렬
- 3차원: 텐서(배열을 의미)
- 4차원: 텐서를 위로 쌓은 것
- 5차원: 텐서를 옆으로 쌓은 것
- 6차원: 5차원을 뒤로 쌓은 것
- batch size=64
- dim=256
- *가장 전형적인 2차원 텐서

가로: 너비(width) 세로: 높이(height)

length: 문장길이 dim: 단어 벡터의 차원 ex)['나는 사과를 좋아해'] 문장길이(length=3) '나는'=[0.1,0.2,0.9] '사과를'=[0.3,0.5,0.1] '좋아해'=[0.5,0.6,0.7] => [[0.1,0.2,0.9], [0.3,0.5,0.1], [0.5,0.6,0.7]]






파이토치의 경우, 자동적으로 행렬 차원의 사이즈를 맞춰준다. (Broadcasting) 따라서 크기와 다른 벡터끼리도 연산이 가능.

.A.matmul(B): A행렬과 B행렬의 행렬곱, 차원이 같아야함 A.mul(B): A 텐서와 B텐서의 원소별 곱셈 연산, 브로드캐스팅 기능 제공

mean(dim): 해당 차원(dim)을 제거해서 평균 출력 dim=0 의 의미: 첫번째 차원=행 을 지워라 (열만 남겨라) dim=1 의 의미: 열을 지워라(행만 남겨라)

sum(dim): 해당차원을 제거해서 합계 출력

max(dim): 해당차원을 제거해서 원소의 최댓값과 인덱스 리턴

torch.Tensor.view(원하는크기): 텐서 안의 원소 개수는 유지 but, 텐서의 크기를 변경 -1로 설정할 시, 알아서 계산해줌

squeeze(): 차원이 1인 차원 제거 unsqueeze(dim): dim이 1인 경우 해당 차원 제거

unsqueeze(dim): dim에 1인차원 추가 ex) unsqueeze(0): 행 자리에 1을 넣어줘

자료형 변환= Type Casting

해당 차원에 알맞게 이어 붙여줌

stack이 더 많은 연산을 내포해 concat보다 더 편리 ** concat vs stack: 텐서들을 단순히 이어붙임 텐서 그대로 쌓음

ones_like(x): 1로 채워진 텐서 생성 zeros_like(x): 0으로 채워진 텐서 생성

연산 뒤에 _: 기존 텐서에 넣음(업데이트)
'Deep Learning > 2023 DL 기초 이론 공부' 카테고리의 다른 글
[모두를 위한 딥러닝 시즌 2] lab-10-1~2 (0) | 2023.07.09 |
---|---|
[모두를 위한 딥러닝 시즌 2] lab-09-1~4 (0) | 2023.07.09 |
[밑바닥부터 시작하는 딥러닝 2] chap1(신경망 복습) (0) | 2023.07.09 |
[밑바닥부터 시작하는 딥러닝 2] chap2(자연어) (0) | 2023.07.09 |
[밑바닥부터 시작하는 딥러닝 2] chap3(word2vec) (0) | 2023.07.09 |