iOS ๊ฐœ๋ฐœ ์‹œ์ž‘ 1์ฃผ์ฐจ : createML, Xcode12

2020. 12. 25. 15:53ใ†iOS

*์ €๋Š” ์ผ๊ฐœ ํ•™๋ถ€์ƒ์— ๋ถˆ๊ณผํ•˜๋ฉฐ, ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€๋กœ ํ”ผ๋“œ๋ฐฑ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

 



๊ต๋‚ด์—์„œ ์ง„ํ–‰๋œ iOS ๊ฐœ๋ฐœ ํŠน๊ฐ•(6์ฃผ ํ”„๋กœ๊ทธ๋žจ)์„  ์‹ ์ฒญํ–ˆ๋Š”๋ฐ ์–ผ๋–จ๊ฒฐ์— ์„ ์ •๋˜์—ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ iOS ๊ฐœ๋ฐœ์ด๋ผ๊ณค ํ•˜๋‚˜๋„ ๋ชจ๋ฅด๋Š” ์ƒํƒœ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์ฐธ์„ํ–ˆ๋‹ค. ์‹ฌ์ง€์–ด ๋ณธ์ธ ๋งฅ๋ถ๋„ ์—†์–ด์„œ ํ˜ˆ์œก์˜ ๋งฅ๋ถ์„ ๊ฐ€์ ธ๊ฐ”๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ํฐ ๋‚œ๊ด€์— ๋ถ€๋”ชํ˜”๋˜์ง€... ํ˜„์žฌ mac iOS์˜ ์ด๋ฆ„์€ Big Sur์ด๋‹ค.

 

์ด๊ฑด ์ƒˆ๋กœ ๊ตฌ์ž…ํ•œ ๋งฅ๋ถ ์ •๋ณด ์บก์ณ๋ณธ์ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์›Œ๋‚™ ์˜ˆ์ „ ๋ชจ๋ธ์ด๋ผ ๋‚˜์˜ OS๋Š” High Seirra(์ŠคํŽ ๋ง์ด ๋งž๋Š”์ง€..) ์˜€๋‹ค. Xcode 12 ์„ค์น˜๊ฐ€ ๋ ๋ฆฌ๊ฐ€ ์—†์—ˆ๋‹ค..! 

๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด Xcode downgrade ๋ฒ„์ „์ธ Xcode 10์„ ๋‹ค์šด ๋ฐ›๊ณ  ์šฐ์—ฌ๊ณก์ ˆ ๋์— ์ฐธ์—ฌํ–ˆ๋‹ค. 

(๋‚ฎ์€ ๋ฒ„์ „ Xcode ๋‹ค์šด ๊ฐ€๋Šฅํ•œ ๊ณต์‹ ์• ํ”Œ ํ™ˆํŽ˜์ด์ง€: developer.apple.com/download/more/)

 

๊ทธ๋Ÿฐ๋ฐ ์—ญ์‹œ ๋ฒ„์ „ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋‚˜์„œ ๊ฑฑ์ •ํ–ˆ๋˜๋Œ€๋กœ ๊ธฐ๋Šฅ์—์„œ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋‚ฌ๋‹ค.

Machine Learning ๊ธฐ๋ฐ˜ ์•ฑ์„ ๋งŒ๋“œ๋Š”๊ฒŒ ๋ชฉํ‘œ์ธ ํ”„๋กœ๊ทธ๋žจ์ด์—ˆ๋Š”๋ฐ, create ML์ด๋ผ๋Š” Xcode 12 ์ง€์› ๋จธ์‹ ๋Ÿฌ๋‹์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค! ๊ฒฐ๊ตญ ํ•œ ๋ฉฐ์น ๊ฐ„์€ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ๋งŒ ํ•˜๊ณ  ์ง์ ‘ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์—†์—ˆ๋‹ค.. ใ…  ใ… 

 

์–ด์ฐจํ”ผ gram์—์„œ ๋‹ค๋ฅธ ๋…ธํŠธ๋ถ์œผ๋กœ ๊ฐˆ์•„ํƒ€๋ ค๊ณ  ์ƒ๊ฐ ์ค‘์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋น ๋ฅด๊ฒŒ ์ƒˆ๋กœ ๋‚˜์˜จ MacBook Pro (์• ํ”Œ m1์นฉ์ด ๋‚ด์žฅ๋œ)์„ ๊ตฌ๋งคํ•ด๋ฒ„๋ ธ๋‹ค. (์งง์€ ํ›„๊ธฐ: ๊ต‰์žฅํžˆ ๋งŒ์กฑ์Šค๋Ÿฌ์›€... ์• ํ”Œ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์—„์ฒญ๋‚œ ๋งŒ์กฑ๊ฐ๊ณผ... ์Šค์Šค๋กœ๊ฐ€ ๊ฐ๊ฐ์ ์ด๋ผ๋Š” ๋ฌ˜ํ•œ ๊ธฐ๋ถ„์„ ์ฃผ๋Š” ๋ฐ ๊ต‰์žฅํžˆ ํƒ์›”ํ•œ ํšŒ์‚ฌ๊ฐ€ ํ‹€๋ฆผ์—†๋‹ค.)

 

์ฃผ์ ˆ์ฃผ์ ˆ์€ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๊ณ  ๋‹ค์‹œ iOS๊ฐœ๋ฐœ ์ด์•ผ๊ธฐ๋กœ ๋Œ์•„๊ฐ€๊ฒ ๋‹ค.

 

 

 

์šฐ์„  ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชฉํ‘œ๋Š” 6์ฃผ๊ฐ„ ํŒ€์„ ์งœ์„œ ๊ฐ„๋‹จํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ƒํ•ด ์•ฑ ์Šคํ† ์–ด์— ๋Ÿฐ์นญ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. 

์•„์ง์€ ํŒ€์ด ์ •ํ•ด์ง€์ง€ ์•Š์•„์„œ, ๊ฐœ์ธ์ ์œผ๋กœ ์ž์‹ ์˜ ์•ฑ ํ”„๋กœํ† ํƒ€์ž…๊ณผ ์•„์ด๋””์–ด๋ฅผ ๊ตฌ์ƒํ•ด์•ผ ํ–ˆ๋‹ค.

 

์ด๋ฒˆ ์ฃผ์˜ ํฐ ๋ชฉํ‘œ๋Š”: iOS ์•ฑ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ •ํ•ด์ง„๋งŒํผ ๊ฐœ์ธ์ ์œผ๋กœ ์™„๊ฐ•ํ•˜๊ณ , Machine Learning์˜ ๊ฐœ๋…๊ณผ create ML ์ด์šฉํ•ด๋ณด๊ธฐ, ์•ฑ ํ”„๋กœํ† ํƒ€์ž… ๊ตฌ์ƒ ์‹œ์ž‘, Swift ํ•™์Šต ์ •๋„์˜€๋‹ค.

 

 

create ML(Apple์˜ ๊ธฐ๋Šฅ)์€ ์ƒ๋‹นํžˆ ํฅ๋ฏธ๋กœ์› ๋‹ค. (์• ํ”Œ ๊ณต์‹ ์‚ฌ์ดํŠธ ์„ค๋ช…: developer.apple.com/kr/machine-learning/create-ml/)

๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ„๋žตํ•˜๊ฒŒ Machine Learning์— ๋Œ€ํ•œ ๋‚ด์šฉ๊ณผ create ML์˜ ๊ฐ„๋‹จํ•œ ์ž‘๋™์„ ์„œ์ˆ ํ•˜๊ฒ ๋‹ค.

 

Q. What is Machine Learning?

Machine Learning(๋จธ์‹ ๋Ÿฌ๋‹): AI(์ธ๊ณต์ง€๋Šฅ)์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ. ๊ฒฝํ—˜(=ํ•™์Šต)์„ ํ†ตํ•ด ๋” ๋‚˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •. ์ด๋•Œ ํ•™์Šต์€ 'training data'๋ผ๋Š” ์ •๋ณด๋“ค(=๋ฐ์ดํ„ฐ)๋ฅผ ์ด์šฉํ•ด ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋‚ด๊ณ , ์ด๋Ÿฌํ•œ ๋ชจ๋ธ๋กœ machine์ด ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜, ๋น„๊ตํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ์“ฐ์ผ ์ˆ˜ ์žˆ์Œ.

 

(์˜์–ด ์ •์˜๊ฐ€ ๋” ๊น”๋”ํ•˜๋‹ค๊ณ  ๋Š๋‚๋‹ˆ๋‹ค)

Machine learning (ML) is the study of computer algorithms that improve automatically through experience. It is seen as a subset of artificial intelligence. Machine learning algorithms build a model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to do so.

 

Q. ๊ทธ๋ ‡๋‹ค๋ฉด create ML์€?

๊ตณ์ด ๋‚ด๊ฐ€ ๋ถ€์—ฐ์„ค๋ช…์„ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ง์ ‘ ์• ํ”Œ ๊ณต์‹ ํ™”๋ฉด์—์„œ ์˜ˆ์‹œ ์‚ฌ์ง„๋“ค๊ณผ ๊น”๋”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋น ๋ฅผ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์•„๊นŒ๋„ ๋งํฌ๋ฅผ ๋‹ฌ์•„๋‘์—ˆ๋‹ค. ๋™์˜์ƒ์„ ์„ ํ˜ธํ•˜์‹œ๋Š” ํŽธ์ด๋ผ๋ฉด: developer.apple.com/videos/frameworks/machine-learning-and-vision

 

Machine Learning and Vision - Videos - Apple Developer

24:35 Explore Computer Vision APIs Learn how to bring Computer Vision intelligence to your app when you combine the power of Core Image, Vision, and Core ML. Go beyond machine learning alone and gain a deeper understanding of images and video. Discover new

developer.apple.com

 

 

createML์€ ์‚ฌ์‹ค ์ง์ ‘! ํ•ด๋ณด์‹œ๋Š”๊ฒŒ ๊ฐ€์žฅ ์ดํ•ด๊ฐ€ ๋น ๋ฅผ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ ํŠœ๋ธŒ์— ํ•œ๊ตญ ๋ถ„๋“ค์ด ๋‹จ์ˆœํ•˜๊ณ  ์งง์€ ํด๋ฆฝ์œผ๋กœ ์‚ฌ์ง„์„ ํ†ตํ•ด ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ณผ์ •๋„ ๋งŽ์œผ๋‹ˆ ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์ง์ ‘ ์„œ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ดํ•ด์— ๋น ๋ฅผ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

 

๊ทธ๋Ÿผ ์ด์ œ Xcode์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด์ž.

 

Xcode์‹œ์ž‘ ํ™”๋ฉด

Xcode๋Š” ์˜ค์ง mac์—์„œ๋งŒ ๋‹ค์šด, ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ์ž ์–ดํ”Œ์ด๋‹ค. ์•„์ง์€ Xcode๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ข…๋ฅ˜๋Š” ๋ชจ๋ฅด์ง€๋งŒ, ์ผ๋‹จ ์ฒ˜์Œ ์‹œ์ž‘ ํ™”๋ฉด์—์„œ new project๋ฅผ ๋ˆ„๋ฅด๋ฉด iOS, macOS, Apple Watch ๋“ฑ... ๋ชจ๋“  ์• ํ”Œ ๊ด€๋ จ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑด ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋‚˜๋Š” ์–ด๋–ค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , ๊ทธ ๊ตฌ์„ฑ์€ ์–ด๋–จ๊นŒ?

 

์˜ค๋ฅธ์ชฝ์€ ์ œ๊ฐ€ ๋Œ€์ถฉ ๋””์ž์ธํ•œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋“ค์–ด๊ฐ€์„œ.. ๋ธ”๋Ÿฌ ์ฒ˜๋ฆฌ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Storybord ๋ชจ๋“œ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์‹œ๊ฐ์ ์ธ ๊ฒŒ ์กฐ๊ธˆ๋” ๊ฐ•์กฐ๋˜์–ด ํ‘œํ˜„๋œ๋‹ค๊ณ  ํ•œ๋‹ค. Swift UI๋ชจ๋“œ? ์—์„œ๋Š” ์ฝ”๋“œ๊ฐ€ ๋” ์ค‘์‹ฌ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์•„์ง์€ Swift ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ˜„์žฌ๋Š” Storybord๋กœ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. 

 

์• ํ”Œ์ด ๊ตฌ์„ฑํ•ด๋‘” ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์€, ๋”ฐ๋กœ ์–ด๋ ต๊ฒŒ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„๋„ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ๋ฒ„ํŠผ, ํšจ๊ณผ ๋“ฑ์ด ์ •๋ง ๋งŽ์•„์„œ ์ข‹์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ์ ์ธ ๊ฒŒ ๊ฐ•ํ•˜๋‹ค ๋ณด๋‹ˆ, ํ‰์†Œ์— ์ „๊ณต์—์„œ ๋ฐฐ์šฐ๋˜ ๋‹จ์ˆœ ์ค„ ์ฝ”๋”ฉ์— ๋น„ํ•ด ๋„ˆ๋ฌด ์ฆ๊ฑฐ์› ๋‹ค. ์•„๋งˆ ๋Œ€ํ•™์ƒ ์ค‘์— C, C++, Java ๋“ฑ์„ ๊ทธ๋ƒฅ ์ „๊ณต์œผ๋กœ๋งŒ ๋ฐฐ์šฐ๋‹ค๊ฐ€ Xcode๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋˜๋ฉด ์ •๋ง ํฅ๋ฏธ๋ฅผ ๋งŽ์ด ๋Š๋‚„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. (๋Œ€ํ•™์—์„œ ์ „๊ณต์œผ๋กœ ์ด๋Ÿฐ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‹ค๋“ค ์ปด๊ณต์„ ์ฆ๊ฑฐ์›Œํ• ํ…๋ฐ...) 

 

์•„์ง์€ ์•ฑ ๊ตฌํ˜„ ๋งตํ•‘๋งŒ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋”ฉ์„ ํ•˜์ง€ ์•Š์•„์„œ ๋”์šฑ ์žฌ๋ฐŒ๊ฒŒ ๋Š๋ผ๋Š” ๊ฑธ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค(ใ…Žใ…Ž..). ์ด๋ฒˆ ์—ฐํœด๋ฅผ ๊ธฐํšŒ ์‚ผ์•„ ์ œ๋Œ€๋กœ ๋œ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  ์•ฑ ๊ตฌ๋™์„ ๋”์šฑ ๊ตฌ์ฒดํ™”ํ•  ํ•„์š”๊ฐ€ ์žˆ๊ฒ ๋‹ค๊ณ  ๋Š๋ผ๋Š” ์ค‘์ด๋‹ค. 

 

๋‹ค์Œ ์ฃผ์ฐจ์—๋Š” ์•„์ด๋””์–ด๋ฅผ ๋ฐœํ‘œํ•œ ํ›„ ์„ ์ •๋œ ์•„์ด๋””์–ด๋“ค๋กœ ํŒ€์ด ์งœ์—ฌ์ง€๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ๋ ์ง€, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์–ด๋–ค ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์— ์ž„ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ •๋ง ๊ถ๊ธˆํ•˜๋‹ค! ๋‹ค์Œ์ฃผ์—๋„ ์งค๋ง‰ํ•œ ๊ธ€์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ถ€์ง€๋Ÿฐํ•จ์ด ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. :) ๋ฉ”๋ฆฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค!