Tensor (텐서) : 데이터의 배열
| RANK | TYPE | EX |
|---|---|---|
| 0 | scalar | [0] |
| 1 | vector | [0, 0] |
| 2 | matrix | [[0, 0], [0, 0]] |
| 3 | 3-tensor | [[[0, 0], [0, 0]], [[0, 0], [0, 0]]] |
| n | n-tensor | ~ |

HELLO WORLD
HI HELLO
HI WORLD
세 가지가 있다고 가정
2-1) one-hot encoding으로 vector를 표현
| WORD | INDEX | EX |
|---|---|---|
| HELLO | 0 | [1, 0, 0] |
| HI | 1 | [1, 0, 0] |
| WORLD | 2 | [1, 0, 0] |
2-2) 각 word를 이렇게 vector를 만들고, 이를 기반으로 sentence를 matirx로 표현
| SENTENCE | EX |
|---|---|
| HELLO WORLD | [[1, 0, 0], [0, 0, 1]] |
| HI HELLO | [[0, 1, 0], [1, 0, 0]] |
| HI WORLD | [[0, 1, 0], [0, 0, 1]] |
2-3) 각 sentence를 corpus로 변환해 모델에 input 하므로 corpus를 tensor로 표현
| CORPUS | EX |
|---|---|
| HELLO WORLD HI HELLO HI WORLD | [[[1, 0, 0], [0, 0, 1]], [[0, 1, 0], [1, 0, 0]], [[0, 1, 0], [0, 0, 1]]] |
위의 corpus는 이제 4차원의 word, 2차원의 Sentence, 3개의 sentence로 구성된 (3, 2, 3)의 3차원 Tensor임
이제 이 corpus tensor를 example 이라고 함
>>> example.dim()
3
>>> example.ndim()
3
>>> example.shape
torch.Size([3, 2, 3])
>>> example.shape[1]
2
>>> example.size()
torch.Size([3, 2, 3])
>>> example.size(2)
3
>>> example.reshape(3, 6)
tensor([[1, 0, 0, 0, 0, 1],
[0, 1, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 1]])
>>> exampel.view(6, -1)
tensor([[1, 0, 0],
[0, 0, 1],
[0, 1, 0],
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])