[Week 3-5] ๐Ÿ’กPytorch ์—ฐ์Šต

Jadeยท2021๋…„ 2์›” 5์ผ
0

๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech

๋ชฉ๋ก ๋ณด๊ธฐ
15/54

3์ฃผ์ฐจ ๊ธˆ์š”์ผ

  • Pytorch ์—ฐ์Šต

๐Ÿ“[Pytorch ์—ฐ์Šต]

์ผ€๋ผ์Šค๋Š” ์กฐ๊ธˆ ์จ ๋ดค๋Š”๋ฐ ํŒŒ์ดํ† ์น˜๋Š” ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ๊ฐ•์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ๋ฐ”๋กœ ๋”ฐ๋ผ๊ฐ€๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ํŒŒ์ดํ† ์น˜ ํŠœํ† ๋ฆฌ์–ผ์„ ๋ณด๊ณ  ์กฐ๊ธˆ์”ฉ ์—ฐ์Šตํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

*ํŒŒ์ดํ† ์น˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ตฌ์กฐ๊ฐ€ ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค!

  • ํŒŒ์ดํ† ์น˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ
  1. torch
    ๋ฉ”์ธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ํ…์„œ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™ ํ•จ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ์œผ๋ฉฐ Numpy์™€ ๋น„์Šทํ•œ ๊ตฌ์กฐ๋‹ค.

  2. torch.autograd
    ์ž๋™ ๋ฏธ๋ถ„์„ ์œ„ํ•œ ํ•จ์ˆ˜๋“ค์ด ๋“ค์–ด์žˆ์œผ๋ฉฐ ์ž์ฒด ๋ฏธ๋ถ„ ๊ฐ€๋Šฅ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค์ธ 'Function' ๋“ฑ์ด ์ด ์•ˆ์— ์žˆ๋‹ค.

  3. torch.nn
    ์‹ ๊ฒฝ๋ง ๊ตฌ์ถ•์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋‚˜ ๋ ˆ์ด์–ด ๋“ฑ์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค. CNN, RNN, LSTM ๋“ฑ์˜ ๋ชจ๋ธ ๊ตฌ์กฐ๋‚˜ ReLU์™€ ๊ฐ™์€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜, MSELoss์™€ ๊ฐ™์€ ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ๋‹ค ์—ฌ๊ธฐ์— ์žˆ๋‹ค.

  4. torch.optim
    ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Stochastic Gradient Descent, SGD)๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์“ฐ๋ ค๋ฉด ์ด ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํ•„์š”ํ•˜๋‹ค.

  5. torch.utils.data
    SGD์˜ ๋ฐ˜๋ณต ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฏธ๋‹ˆ ๋ฐฐ์น˜์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค.


  • ํŒŒ์ดํ† ์น˜ ํ…์„œ
    ๋„˜ํŒŒ์ด ndarray๋ž‘ ๋น„์Šทํ•œ ๊ตฌ์กฐ๋‹ค.

dim()์„ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ํ…์„œ์˜ ์ฐจ์›์„, shape๋‚˜ size()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…์„œ์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

t = torch.FloatTensor([0., 1., 2., 3., 4., 5., 6.])

print(t.dim())  # rank. ์ฆ‰, ์ฐจ์›
print(t.shape)  # shape
print(t.size()) # shape

>>> 1
    torch.Size([7])
    torch.Size([7])

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ[ํ”ผ์–ด ์„ธ์…˜]

๋‹ค์Œ ์ฃผ๊ฐ€ ์„ค์ด๋ผ ํ•œ ์ฃผ ํ†ต์งธ๋กœ ํœด๊ฐ•์ธ๋ฐ, ์ด ๋•Œ๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์ข€ ๋ณด์ถฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ•˜๋Š” ๊น€์— ์šฐ๋ฆฌ๋ผ๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‚˜ ํ•ด ๋ณด๋ฉด ์–ด๋–จ๊นŒ ํ•˜๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์™€์„œ ๋‹ค๋“ค ์—ฐํœด๋ฅผ ์ด์šฉํ•ด ๋ชจ๋ธ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. kaggle์—์„œ ์ง„ํ–‰ ์ค‘์ธ ์ฑŒ๋ฆฐ์ง€ ์ค‘์— ๊ฐ„ํŒ ๊ธ€์ž ์ธ์‹ํ•˜๋Š” ๊ฒƒ์„ ๊ณจ๋ผ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ์—…๋กœ๋“œํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

profile
๋ฐ˜๊ฐ€์›Œ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€