hye-log

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 07_DAY 29 ๋ณธ๋ฌธ

Boostcourse/AI Tech 4๊ธฐ

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 07_DAY 29

iihye_ 2022. 11. 1. 02:32

๐Ÿฅช ๊ฐœ๋ณ„ํ•™์Šต


[8] Training & Inference 2 - Process

1. Training Process

1) Training ์ค€๋น„

2) Training ํ”„๋กœ์„ธ์Šค์˜ ์ดํ•ด

- train : train mode์—์„œ Dropout, BatchNorm ๋“ฑ์— ์˜ํ–ฅ์„ ๋ผ์น  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— mode ์„ค์ •์ด ํ•„์š”

train(mode=True)

- optimizer.zero_grad() : optimizer๊ฐ€ backward ๋  ๋•Œ model ์•ˆ์— ์žˆ๋Š” parameter๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š”๋ฐ, batch iteration์ด ๋Œ์•„๊ฐ€๋ฉด์„œ zero_grad๋ฅผ ํ†ตํ•ด์„œ ์ด์ „ batch์˜ grad๊ฐ€ ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•จ

- loss : criterion๋ผ๋Š” loss ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ outputs, labels๋ฅผ ๋„ฃ๊ณ  loss๋ฅผ ๊ตฌํ•จ

loss = criterion(outputs, labels)
loss.backward()

- optimizer.step() : optimizer๊ฐ€ input์œผ๋กœ ๋ฐ›์€ parameter์˜ gradient๊ฐ€ update ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ๋ฐ˜์˜ํ•จ

optimizer.step()

 

2. Inference Process

1) Inference ํ”„๋กœ์„ธ์Šค์˜ ์ดํ•ด

- model.eval() : evaluation mode๋กœ train์„ False ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Œ

eval()

- with torch.no_grad() : with ๋ฌธ ์•ˆ์— ์žˆ๋Š” gradient์˜ enable๋ฅผ False๋กœ ๋งŒ๋“ค์–ด ์คŒ



๐Ÿฅช ์˜ค๋Š˜์˜ ํšŒ๊ณ 

7์ฃผ์ฐจ์˜ ์ฒซ ๋‚ ์ด์ž 10์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ! ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ ๋•Œ ๋‚˜์˜จ ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ์‹œ๋„ํ•ด๋ณด๋ ค๊ณ  ์„ค์น˜ํ•˜๋‹ค๊ฐ€ ๋ญ”๊ฐ€.. ์•Œ ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์„œ๋ฒ„๋ฅผ ์ดˆ๊ธฐํ™”์‹œ์ผฐ๋‹ค... ๊ทธ๋Ÿฌ๋Š” ๋ฐ”๋žŒ์— ์ฝ”๋“œ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ํŒŒ์ผ๋“ค ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ  ์„œ๋ฒ„ ๋‹ค์‹œ ์—ด๊ณ .. ์˜ค์ „๋ถ€ํ„ฐ ์ •์‹  ์—†๋Š” ํ•˜๋ฃจ์˜€๋‹ค..+_+ schedular ๋„ฃ์–ด๋ณด๋ ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ์ž˜ ์•ˆ ๋˜์–ด์„œ ํ”ผ์–ด์„ธ์…˜ ๋•Œ ํ•ด๊ฒฐํ–ˆ๋‹ค!! ์•„๋ฌด๋ž˜๋„ ํ•™์Šต์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋‹ค๋ณด๋‹ˆ๊นŒ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์‹คํ—˜์— ์ œ์•ฝ์ด ์ƒ๊ธฐ๋Š” ๊ฒŒ ์•„์‰ฝ๊ธฐ๋Š” ํ•œ๋ฐ(ใ… ใ… ) ๊ทธ๋ž˜๋„ ๋Œ€ํšŒ ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€ ์ตœ์„ ์„ ๋‹คํ•˜๋Š”๊ฑธ๋กœ!!!!!!!(ํŒŒ์ดํŒ…)

728x90
Comments