DockerFile ์ž‘์„ฑ์— ๋Œ€ํ•˜์—ฌ
ยท
Artificial_Intelligence๐Ÿค–/etc
DockerFile๐Ÿ‹DockerFile์€ Docker Image๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ๋„์ปค ์ด๋ฏธ์ง€์˜ ์„ค๊ณ„๋„ ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋„์ปค๋Š” DockerFile์— ์ •์˜๋œ ๋ช…๋ น์„ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰ํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ์ดํ•ดํ•˜๋ฉด ๋„์ปค๋ฅผ ํ›จ์”ฌ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์™œ DockerFile์„ ์•Œ์•„์•ผ ํ• ๊นŒ์š”?DockerFile์„ ์ดํ•ดํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:1. ์ด๋ฏธ์ง€ ๊ตฌ์„ฑ ํŒŒ์•…DockerFile์„ ๋ณด๋ฉด ํ•ด๋‹น ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์šด์˜์ฒด์ œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ , ์–ด๋–ค ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€, ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์–ด๋–ป๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ๋“ฑ์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.2. ์ž์› ์ตœ์ ํ™”DockerFile์„ ์ž˜ ์ž‘์„ฑํ•˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ ..
๊ทธ๋ž˜์„œ, Docker๊ฐ€ ๋ญ”๋ฐ?
ยท
Artificial_Intelligence๐Ÿค–/etc
๊ทธ๋ž˜์„œ, Docker๊ฐ€ ๋ญ”๋ฐ?์—ฌ๋Ÿฌ๋ถ„์ด ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ๋•Œ, ๊ทธ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋„ ์ž˜ ๋Œ์•„๊ฐ€์•ผ ํ•ด์š”. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์–ด์š”. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ปค๊ฐ€ ๋“ฑ์žฅํ–ˆ์–ด์š”! ๋„์ปค๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ€์ƒํ™”ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ ํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์žฅํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๋ฐ ๋งŽ์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋„์ปค๋Š” ํ™˜๊ฒฝ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ด๋Š” "๋‚ด ์ปดํ“จํ„ฐ์—์„œ๋Š” ์ž˜ ๋๋Š”๋ฐ"์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ํŒ€ ๊ฐ„ ํ˜‘์—…์„ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๋‘˜์งธ, ๋„์ปค๋Š” ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๊ฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋…..
Learning Rate Scheduler
ยท
Artificial_Intelligence๐Ÿค–/etc
Learning rate๋Š” backpropagation ๊ณผ์ •์—์„œ ๋ชจ๋ธ์˜ weight์ธ gradient์˜ ๋ณ€ํ™”(์—…๋ฐ์ดํŠธ์˜ ๋ณดํญ step-size)์ด๋‹ค. ์—ญ์ „ํŒŒ ๊ณผ์ •์—์„œ ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜(Weight)๋Š” ์†์‹ค ํ•จ์ˆ˜์˜ ์˜ค๋ฅ˜ ์ถ”์ •์น˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์—…๋ฐ์ดํŠธ๋œ๋‹ค. ํ•™์Šต๋ฅ  * ์ถ”์ • ๊ฐ€์ค‘์น˜ ์˜ค๋ฅ˜(๊ฐ€์ค‘์น˜์— ๋Œ€ํ•œ ๊ธฐ์šธ๊ธฐ or ์ „์ฒด ์˜ค๋ฅ˜ ๋ณ€ํ™”) >>>> Weight ์—…๋ฐ์ดํŠธ Learning rate๋Š” Optimizer๊ฐ€ Loss function์˜ ์ตœ์†Œ๊ฐ’์— ๋„๋‹ฌํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ณ€ํ™”์˜ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•œ๋‹ค. ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์š”์†Œ์ธ learning rate๋ฅผ ์ž˜๋ชป ์„ค์ •ํ•˜๋ฉด ์•„์˜ˆ ํ•™์Šต์ด ์•ˆ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋ธ ํ•™์Šต์—์„œ๋Š” learning rate๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•  ์ง€๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ์ด๋‹ค. ํ•™์Šต๋ฅ ์ด ํฌ๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•จ. ..
Confusion Matrix(ํ˜ผ๋™ํ–‰๋ ฌ) ๊ตฌํ˜„
ยท
Artificial_Intelligence๐Ÿค–/etc
๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋”ฐ์ง€๋Š” ์ง€ํ‘œ๋Š” ์ •ํ™•๋„(Accuracy)๋งŒ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. Confusion Matrix์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋ชจ๋ธ์˜ ์ง„๋‹จ,๋ถ„๋ฅ˜,ํŒ๋ณ„,์˜ˆ์ธก ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ณ ์•ˆ๋œ ํ‘œ๋กœ, ์˜ค๋ฅ˜ํ–‰๋ ฌ(error matrix)์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค. ์„ฑ๋Šฅ์ง€ํ‘œ๋กœ ์ •ํ™•๋„(Accuracy), ์ •๋ฐ€๋„(Precision), ๋ฏผ๊ฐ๋„(=์žฌํ˜„์œจ Recall), F1score ๋“ฑ์ด ์žˆ์œผ๋ฉฐ, confusion matrix๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. # ํ˜ผ๋™ํ–‰๋ ฌ import matplotlib.pyplot as plt my_data = [] y_pred_list = [] for data in prediction_list : for data2 in data : my_data.append(data2.item()) for data in la..
How to use "Hugging Face"(ํ—ˆ๊น…ํŽ˜์ด์Šค) for NLP Task
ยท
Artificial_Intelligence๐Ÿค–/etc
ํ—ˆ๊น…ํŽ˜์ด์Šค๋Š” Tensorflow Hub์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ณณ์ด๋‹ค. ํŠธ๋žœ์Šคํฌ๋จธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ชจ๋ธ๋“ค์ด ์กด์žฌํ•˜๋ฉฐ, ๊ฐ๊ฐ์˜ Task์— ๋งž๊ฒŒ ๋ฏธ์„ธ์กฐ์ •์„ ์ง„ํ–‰ํ•œ ๋ชจ๋ธ๋“ค ๋˜ํ•œ ๊ตฌ์ถ•๋˜์–ด์žˆ๋‹ค. ๋˜ํ•œ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ ๋ชจ๋ธ์— ๋งž๊ฒŒ ์ „์ฒ˜๋ฆฌํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋„๋ก Tokenizer๋„ ์ „๋ถ€ ๊ตฌํ˜„๋˜์–ด์žˆ๋‹ค. ๊ทธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ•™์Šต์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์…‹๋„ ์ €์žฅ๋˜์–ด ์žˆ์–ด, ์‚ฌ์šฉ์ž๋Š” ๊ทธ์ € ๊ฐ€์ ธ์˜จ ๋’ค ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ์ฆ‰, ํ—ˆ๊น…ํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ํ•™์Šต ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ชจ๋“  ๋ถ€๋ถ„์„ ์ผ์ผ์ด ๋”ฐ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„๋„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ตฌ์ถ•๋ถ€ํ„ฐ ์ „์ฒ˜๋ฆฌ, ๋ชจ๋ธ ํ•™์Šต ๋ฐ ๊ฒฐ๊ณผ ๋„์ถœ๊นŒ์ง€ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ—ˆ๊น…ํŽ˜์ด์Šค๋Š” ๋‹ค์–‘ํ•œ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ๊ณผ ํ•™์Šต ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“ˆ๋กœ, ..
RNN, CNN
ยท
Artificial_Intelligence๐Ÿค–/etc
๊ธฐ์กด Fullly Connected Layer์™€ CNN( Convolutional Neural Network)์™€ ๋‹ค๋ฅธ์  ์ด๋ฏธ์ง€ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“  ๋ชจ๋ธ ๊ฐ ๋ ˆ์ด์–ด์˜ ์ž…์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํ˜•์ƒ์„ ์œ ์ง€ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•„ํ„ฐ๋กœ ๊ฐ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜์—ฌ ํ•™์Šตํ•œ๋‹ค. ์ด๋ฏธ์ง€ ๊ณต๊ฐ„ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์—ฌ ์ธ์ ‘ํ•œ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋“ค๊ณผ์˜ ํŠน์ง•์„ ํšจ๊ณผ์ ์œผ๋กœ ์ธ์‹ํ•œ๋‹ค. ํ•„ํ„ฐ๋Š” ๊ณต์œ  ํŒŒ๋ผ๋ฏธํ„ฐ์ด๊ธฐ์— ๊ธฐ์กด ์‹ ๊ฒฝ๋ง๋ณด๋‹ค ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ ๋‹ค. ์ปจ๋ธŒ๋„ท์€ ์ง€์—ญ์ ์ด๊ณ  ํ‰ํ–‰ ์ด๋™์œผ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ํŠน์„ฑ์„ ํ•™์Šตํ•จ. CNN์˜ ๊ตฌ์กฐ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋ถ€๋ถ„์ธ Convolution Layer์™€ Pooling Layer, ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” Flatten Layer ๋ถ€๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ๋งˆ์ง€๋ง‰ Fully Connected N..
Artificial Intelligence
ยท
Artificial_Intelligence๐Ÿค–/etc
optimizer, loss, metrics Optimizer๋Š” ํ•™์Šต ์ง„ํ–‰์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์ค‘์น˜๋ฅผ ์–ด๋Š ์ •๋„๋กœ ์ด๋™ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. Loss Function์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธ๋ ๊ฑด์ง€ ์„ค์ •ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ตœ์ ํ™” ์‹œํ‚จ๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €์—๋Š” Adam, RMSprop, SGD ๋“ฑ์ด ์žˆ๋‹ค. Loss Function์€ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’๊ฐ„์˜ ์ฐจ์ด๋ฅผ ํ‘œํ˜„ํ•œ ์ˆ˜์‹์œผ๋กœ, ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ์˜ค์ฐจ๊ฐ’์ธ ํ”ผ๋“œ๋ฐฑ ์‹ ํ˜ธ๋ฅผ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ, ํ›ˆ๋ จ์„ ํ•˜๋Š” ๋™์•ˆ์— ์ตœ์†Œํ™”๊ฐ€ ๋  ๊ฐ’์„ ๋œปํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ฑ๊ณต์ง€ํ‘œ๋ผ๊ณ  ๋งํ•œ๋‹ค. ๋กœ์Šค์—๋Š” binary_crossentropy, categorical_crossentropy ๋“ฑ์ด ์žˆ๋‹ค. Metrics๋Š” ์‹ค์ œ ํ™”๋ฉด์ƒ์— ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š”..
Dataset ๋ฐ ๋ฐ์ดํ„ฐ์ „์ฒ˜๋ฆฌ ๊ธฐ์ดˆ
ยท
Artificial_Intelligence๐Ÿค–/etc
[python] ์ •๊ทœ๋ถ„ํฌ
ยท
Artificial_Intelligence๐Ÿค–/etc
๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. import matplotlib.pyplot as plt import numpy as np r = np.random.rand(1000) #r ๋ฐฐ์—ด์•ˆ์— 0๋ถ€ํ„ฐ 1์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์ฒœ๊ฐœ๋„ฃ์Œ. plt.hist(r) #ํžˆ์Šคํ† ๋ฆฌ๊ทธ๋žจ์œผ๋กœ ํ‘œ์‹œ plt.grid() #๊ทธ๋ฆฌ๋“œ ๊ทธ๋ฆผ. ์œ„์˜ rand๋Š” ๋ฌด์ž‘์œ„ ์ด์ง€๋งŒ ์•„๋ž˜์˜ normal์€ ์ •๊ทœ๋ถ„ํฌ (๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ)๋กœ ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ์ •ํ•ด์ค„์ˆ˜์žˆ๋‹ค. rn = np.random.normal(0,1,1000) #ํ‰๊ท =0, ํ‘œ์ค€ํŽธ์ฐจ =1, ๋ฌด์ž‘์œ„๊ฐ’. plt.hist(rn) plt.grid() #rn seed ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ๋žœ๋ค๊ฐ’์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ. random์€ ์•„๋ฌด๋Ÿฐ ๊ทœ์น™ ์—†์ด ๋ฌด์ž‘์œ„๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ..
Liky
'Artificial_Intelligence๐Ÿค–/etc' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก