๐Ÿ˜Model Save

๋ฐ์ดํ„ฐ๊ฐ€ ํฌ๋ฉด ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ํ›ˆ๋ จ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ์ €์žฅํ•ด๋‘์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋ชจ๋ธ์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ›ˆ๋ จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฒˆ๊ฑฐ๋กญ๊ฒ ์ฃ ? ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ›ˆ๋ จ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋ชจ๋ธ์€ ์ €์žฅํ•ด๋‘˜ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋žœ ํ›ˆ๋ จ์„ ๋งˆ์นœ ๋ชจ๋ธ์„ ์ €์žฅํ•ด๋‘๋ฉด ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค์‹œ ํ›ˆ๋ จํ•  ํ•„์š” ์—†์ด ์ €์žฅํ•œ ๋ชจ๋ธ์„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
## ๋ชจ๋ธ ์ €์žฅ
๋ชจ๋ธ ํ›ˆ๋ จ์„ ๋งˆ์ณค๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ์ €์žฅํ•œ ๋ณ€์ˆ˜๋ฅผ model, ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์ €์žฅํ•œ ๋ณ€์ˆ˜๋ฅผ optimizer๋ผ๊ณ  ํ•˜๊ณ˜์Šต๋‹ˆ๋‹ค.

ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ์ €์žฅํ•˜๋ ค๋ฉด ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜์™€ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์ €์žฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

path = './'                               # ๋ชจ๋ธ ์ €์žฅ ๊ฒฝ๋กœ

torch.save({
    'model' : model.state_dict()          # ๋ชจ๋ธ ๊ฐ€์ค‘์น˜
    'optimizer' : optimizer.state_dict()  # ์˜ตํ‹ฐ๋งˆ์ด์ ธ ์ƒํƒœ
}, path + 'EfficientNet-B7.tar')

๋ชจ๋ธ ๊ฐ€์ค‘์น˜์™€ ์˜ตํ‹ฐ๋งˆ์ด์ € ์ƒํƒœ๊ฐ€ ์ €์žฅ๋œ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ EfficientNet-B7.tar๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

==> ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ