Week 1 ํ•™์Šต ์ •๋ฆฌ

Week 2 ํ•™์Šต ์ •๋ฆฌ

Day 1

1. Pytorch Intro

Pytorch

๊ฐ„ํŽธํ•œ ๋”ฅ๋Ÿฌ๋‹ API๋ฅผ ์ œ๊ณต, ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ ๋ฉ€ํ‹ฐํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค

API : ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ ค์–ด, ํ•จ์ˆ˜, ํ”„๋กœํ† ์ฝœ์˜ ์ง‘ํ•ฉ, ์ฆ‰ ๋”ฅ๋Ÿฌ๋‹์„ ๊ฐœ๋ฐœํ•  ๋•Œ, Pytorch๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

Pytorch ์•„ํ‚คํ…์ฒ˜
Pasted image 20250107180532.png

Tensor

Pytorch์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, Numpy์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•จ.

2. Pytorch์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…

Pytorch์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… == Tensor๊ฐ€ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•

https://blog.kakaocdn.net/dn/ctfbx2/btsITwpdOB0/XGp7MPIqVbSCvhTXRERbb1/img.png

https://blog.kakaocdn.net/dn/v2M6A/btsIURTlAaM/t9uZwH8x7MLSpwo8QNLgtk/img.png

ํƒ€์ž… ์บ์ŠคํŒ…

ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ

# Tensor ์ƒ์„ฑ
i = torch.tensor([2,3,4], dtype = torch.int8)

# 32bit ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆ˜๋กœ ๋ณ€ํ™˜
j = i.float()

# 64bit ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆ˜๋กœ ๋ณ€ํ™˜
k = i.double()

3. Tensor์˜ ๊ธฐ์ดˆ ํ•จ์ˆ˜ ๋ฐ ๋ฉ”์„œ๋“œ

torch.min("tensor")# tensor์˜ ์ตœ์†Ÿ๊ฐ’ ๋ฐ˜ํ™˜
torch.max("tensor")# tensor์˜ ์ตœ๋Œ“๊ฐ’ ๋ฐ˜ํ™˜
torch.sum("tensor")# tensor์˜ ์š”์†Œ์˜ ํ•ฉ ๋ฐ˜ํ™˜
torch.prod("tensor")# tensor์˜ ์š”์†Œ์˜ ๊ณฑ ๋ฐ˜ํ™˜
torch.mean("tensor")# tensor์˜ ์š”์†Œ์˜ ํ‰๊ท  ๋ฐ˜ํ™˜
torch.var("tensor")# tensor์˜ ์š”์†Œ์˜ ํ‘œ๋ณธ๋ถ„์‚ฐ ๋ฐ˜ํ™˜
torch.std("tensor")# tensor์˜ ์š”์†Œ์˜ ํ‘œ๋ณธํ‘œ์ค€ํŽธ์ฐจ ๋ฐ˜ํ™˜# tensor T๊ฐ€ ์žˆ์„ ๋•Œ
T.dim()# T์˜ ์ฐจ์› ์ˆ˜๋ฅผ ํ™•์ธ
T.size()# T์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธ
T.shape# T์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธ(๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹Œ ์†์„ฑ)
T.numel()# T์— ์žˆ๋Š” ์š”์†Œ์˜ ์ด ๊ฐœ์ˆ˜ ํ™•์ธ

Day 2

1. Tensor์˜ ์ƒ์„ฑ

# 0 or 1๋กœ ์ดˆ๊ธฐํ™” ํ›„ ์ƒ์„ฑ
torch.zeros("shape")# shape ํฌ๊ธฐ์˜ Tensor๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ์ƒ์„ฑ
torch.ones("shape")# shape ํฌ๊ธฐ์˜ Tensor๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ์ƒ์„ฑ
torch.ones_liskes("tensor")# tensor์˜ ํฌ๊ธฐ์™€ ์ž๋ฃŒํ˜•์ด ๊ฐ™์€ Tensor๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™”# random์œผ๋กœ ์ดˆ๊ธฐํ™”
torch.rand("shape")# shape ํฌ๊ธฐ์˜ Tensor๋ฅผ 0~1์‚ฌ์ด์˜ ์—ฐ์†๊ท ๋“ฑ๋ถ„ํฌ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ํ›„ ์ƒ์„ฑ
torch.randn("shape")# shape ํฌ๊ธฐ์˜ Tensor๋ฅผ ํ‰๊ท :1, ๋ถ„์‚ฐ:1์˜ ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ํ›„ ์ƒ์„ฑ# rand -> randn
torch.rand_like(k)# k์™€ ํฌ๊ธฐ์™€ ์ž๋ฃŒํ˜•์ด ๊ฐ™์€ ์—ฐ์†๊ท ๋“ฑ๋ถ„ํฌ Tensor๋กœ ์ƒ์„ฑ
torch.randn_like(k)# k์™€ ํฌ๊ธฐ์™€ ์ž๋ฃŒํ˜•์ด ๊ฐ™์€ ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ Tensor๋กœ ์ƒ์„ฑ# ์ผ์ • ๊ฐ„๊ฒฉ์˜ ๊ฐ’์„ ๊ฐ€์ง„ Tenssor ์ƒ์„ฑ
torch.arange(start = 1, end = 11, step = 2)# 1๋ถ€ํ„ฐ 10๊นŒ์ง€ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” Tensor ์ƒ์„ฑ

https://blog.kakaocdn.net/dn/cMgI4D/btsIV64d2cg/m3bkaBmu79EAcEpFkobo8K/img.png

https://blog.kakaocdn.net/dn/brboI2/btsIWRrNk6A/P837Ay7rV1roEXUGWBLDkK/img.png

torch.empty("shape")# shape ํฌ๊ธฐ์˜ ์ดˆ๊ธฐํ™” ๋˜์–ด ์žˆ์ง€ ์•Š์€ Tensor ์ƒ์„ฑ
tensor.fill_("value")# value ๊ฐ’์œผ๋กœ tensor๋ฅผ ์ฑ„์›€
s = [1, 2, 3, 4, 5, 6]
torch.tensor(s)# ๋ฐฐ์—ด s๋กœ Tensor ์ƒ์„ฑ

u = np.array([[0, 1], [2, 3]])
v = torch.from_Numpy(u)# Numpy ๋ฐฐ์—ด์„ Tensor๋กœ ๋ณ€ํ™˜
v = torch.from_Numpy(u).float()# Numpy๋Š” ๊ธฐ๋ณธ ์ •์ˆ˜ํ˜•์ด๋ผ์„œ ์‹ค์ˆ˜ํ˜•์œผ๋กœ ํƒ€์ž…์บ์ŠคํŒ…
torch.ByteTensor()# 8๋น„ํŠธ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜ํ˜• CPU Tensor ์ƒ์„ฑ
torch.CharTensor()# 8๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜ํ˜• CPU Tensor ์ƒ์„ฑ
torch.ShortTensor()# 16๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜ํ˜• CPU Tensor ์ƒ์„ฑ
torch.FloatTensor()
torch.IntTensor()
torch.LongTensor()# 64๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜ํ˜• CPU Tensor ์ƒ์„ฑ
torch.DoubleTensor()# 64๋น„ํŠธ ๋ถ€ํ˜ธ ์žˆ๋Š” ์‹ค์ˆ˜ํ˜• CPU Tensor ์ƒ์„ฑ

2. Tensor์˜ ๋ณต์ œ

https://blog.kakaocdn.net/dn/zV6bf/btsIXd2jvDc/wFzGRUktwdk3wGzlEfHKKk/img.png

3. CUDA Tensor ์ƒ์„ฑ ๋ฐ ๋ณ€ํ™˜

tensor.device# tensor๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ํ™•์ธ
torch.cuda.is_available()# cuda๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ
torch.cuda.get_device_name(device=0)# cuda ์ด๋ฆ„์„ ํ™•์ธ ex. NVIDIA GeForce GTX 1080
tensor.cuda() or tensor.to('cuda')# tensor๋ฅผ GPU๋กœ ์ด๋™

4. Tensor์˜ Indexing๊ณผ Slicing

Numpy ์—์„œ์˜ ์ธ๋ฑ์‹ฑ๊ณผ ์Šฌ๋ผ์ด์‹ฑ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

indexing : Tensor์˜ ํŠน์ •์œ„์น˜์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š”๊ฒƒ

slicing : ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ์„ ํƒํ•˜์—ฌ ์ƒˆ๋กœ์šด Sub Tensor ์ƒ์„ฑ

5. Tensor ๋ชจ์–‘ ๋ณ€๊ฒฝ

tensor.is_contiguous()# tensor๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์ธ์ง€ ์•„๋‹Œ์ง€ ์•Œ๋ ค์คŒ
torch,flatten(k, 1)# 1์ฐจ์›๊ณผ ๊ฐ™์ด ํŠน์ • ์ฐจ์›๋ถ€ํ„ฐ ํ‰ํƒ„ํ™” ๊ฐ€๋Šฅ
torch,flatten(k, 0, 1)# 0์ฐจ์› ๋ถ€ํ„ฐ 1์ฐจ์›๊นŒ์ง€ ํŠน์ • ์ฐจ์› ๋ฒ”์œ„๋งŒ ํ‰ํƒ„ํ™” ๊ฐ€๋Šฅ

๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—ฐ์†์ ์ธ๊ฒŒ ํ™•์‹คํ•˜๊ณ  ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•˜๋ฉด view๋ฅผ ์‚ฌ์šฉ, ์•„๋‹ˆ๋ผ๋ฉด reshape๋ฅผ ์‚ฌ์šฉ


Day 3

1. Tensor์˜ ๋ชจ์–‘ ๋ณ€๊ฒฝ 2

2. Tensor์˜ ๊ธฐ์ดˆ ์—ฐ์‚ฐ

3. Tensor์˜ ๋…ธ๋ฆ„

1-D Tensor์˜ ๋…ธ๋ฆ„์€ Vector๊ฐ€ ์›์ ์—์„œ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ์˜๋ฏธํ•จ Vector์˜ ๊ธธ์ด๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋จ

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

4. ์œ ์‚ฌ๋„

์œ ์‚ฌ๋„(Similarity)๋ž€ ๋‘ 1-D Tensor(=Vector)๊ฐ€ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€์— ๋Œ€ํ•œ ์ธก์ •๊ฐ’์„ ์˜๋ฏธ

Untitled

Untitled

5. 2-D ํ–‰๋ ฌ ๊ณฑ์…ˆ ์—ฐ์‚ฐ

์ฝ”๋“œ ํ‘œํ˜„ : D.matmul(E), D.mm(E) , D @ E

ํ–‰๋ ฌ ๊ณฑ์…ˆ์„ ํ†ตํ•ด ์ขŒ์šฐ ๋Œ€์นญ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค โ‡’ I= [001010100]ํ–‰๋ ฌ์„ ๊ณฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ํ‘๋ฐฑ์ด๋ฏธ์ง€ ํ–‰๋ ฌ * I

๊ทธ๋ ‡๋‹ค๋ฉด ํ‘๋ฐฑ ์ด๋ฏธ์ง€์˜ ์ƒํ•˜๋กœ ๋Œ€์นญ ์ด๋™์€ ์–ด๋–ค ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋’ค์ง‘๋Š” ๋ณ€ํ™˜์ผ๊นŒ์š”?

๋˜ํ•œ, ํ‘๋ฐฑ ์ด๋ฏธ์ง€๋ฅผ ์ƒํ•˜๋กœ ๋Œ€์นญ ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ํ–‰๋ ฌ์„ ์–ด๋–ป๊ฒŒ ๊ณฑ์…ˆํ•ด์•ผ ํ• ๊นŒ์š”?


Day 4

1. ์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ

1.1 ์„ ํ˜• ํšŒ๊ท€์˜ ์˜๋ฏธ

1.2 ํŠธ๋ ˆ์ด๋‹ ๋ฐ์ดํ„ฐ

1.3 ์ƒ๊ด€ ๊ด€๊ณ„ ๋ถ„์„

1.4 ์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ์—์„œ์˜ ํ•™์Šต

1.5 ํ•™์Šต ์ •๋ฆฌ

1. ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•

1.1 ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•

1.2 ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•

1.3 ์—ํญ

1.4 ๋ฐ์ดํ„ฐ ํ‘œ์ค€ํ™”

1.5 ํ•™์Šต ์ •๋ฆฌ


Day 5

1. ์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ์˜ ํ…Œ์ŠคํŠธ

1.1 ํ…Œ์ŠคํŠธ

1.2 ํ•™์Šต ์ •๋ฆฌ


2. ์ด์ง„ ๋ถ„๋ฅ˜ ๋ชจ๋ธ

2.1 ์ด์ง„ ๋ถ„๋ฅ˜์˜ ์˜๋ฏธ

2.2 ํŠธ๋ ˆ์ด๋‹ ๋ฐ์ดํ„ฐ

2.3 Dataset & DataLoader ํด๋ž˜์Šค

2.4 ์ด์ง„ ๋ถ„๋ฅ˜ ๋ชจ๋ธ

2.5 ํ•™์Šต ์ •๋ฆฌ

1. ์ด์ง„ ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ

1.1 ์ด์ง„ ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ

1.2 ์ด์ง„ ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ ์œ ๋„๋ฅผ ์œ„ํ•œ ์‚ฌ์ „ ๊ฐœ๋…

1.3 ์ด์ง„ ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ ์œ ๋„

1.4 ํ•™์Šต ์ •๋ฆฌ


2. ์ด์ง„ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์˜ ํ…Œ์ŠคํŠธ

2.1 ํ…Œ์ŠคํŠธ

2.2 ํ•™์Šต ์ •๋ฆฌ