[Farm System๐Ÿชด] ์ธ๊ณต์ง€๋Šฅ ์Šคํ„ฐ๋”” 3์ฃผ์ฐจ

์žฌํ™(JH)ยท2025๋…„ 5์›” 17์ผ
post-thumbnail

๐Ÿ™Œ์„œ๋ก 

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

โ–ถ๏ธ๋„˜ํŒŒ์ด๋ž€

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

๋„˜ํŒŒ์ด๋Š” ๊ด€๋ก€์ ์œผ๋กœ np๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
import numpy as np
์œ„์ฒ˜๋Ÿผ import๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ”‘ndarray

ndarray๋ž€ : ๋„˜ํŒŒ์ด์— ์กด์žฌํ•˜๋Š” ๋ฐฐ์—ด ์ž๋ฃŒํ˜•์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋‹ค์ฐจ์› ๋ฐฐ์—ด ๊ฐ์ฒด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ์ธ ๋ฆฌ์ŠคํŠธ์™€ ๋น„์Šทํ•˜์ง€๋งŒ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๋ถ„๋ฆฌ์ŠคํŠธndarray
์š”์†Œ์ž๋ฃŒํ˜•๋‹ฌ๋ผ๋„ ์ƒ๊ด€์—†์Œ๊ฐ™์•„์•ผ ํ•จ
์ค‘์ฒฉ๋ฐฐ์—ด๊ตฌ์กฐ์ƒ๊ด€์—†์Œํฌ๊ธฐ๊ฐ€ ๊ฐ™์•„์•ผ ํ•จ
์—ฐ์‚ฐ์—ฐ๊ฒฐ๋งŒ ๊ฐ€๋Šฅ์‚ฌ์น™์—ฐ์‚ฐ ๋“ฑ ๊ฐ€๋Šฅ

์ด ์™ธ์—๋„ ๋ฆฌ์ŠคํŠธ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๊ณผํ•™ ๊ณ„์‚ฐ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์ ํ•ฉํ•˜๋‹ค.

1. ndarray ์ƒ์„ฑํ•˜๊ธฐ

  • array ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • array ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์„ ndarray๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.
    v=np.array([60,175,28], float)

์œ„์™€ ๊ฐ™์œผ๋ฉด [60, 175, 28]์„ ์š”์†Œ๋“ค์˜ ์ž๋ฃŒํ˜•์„ float๋กœ ํ•˜์—ฌ ndarray๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์š”์†Œ๋“ค์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์•Œ ์ˆ˜ ์žˆ๋Š” dtypeํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

print(v.dtype)
>>>float64

์œ„์™€ ๊ฐ™์ด float์ž๋ฃŒํ˜•์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

ํŠน๋ณ„ํ•œ ndarray๋„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • np.zeros(size) : size ํฌ๊ธฐ์˜ 0์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. size = (2,3)์ด๋ฉด 2ํ–‰ 3์—ด์ธ 2์ฐจ์› ํฌ๊ธฐ์˜ 0์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š”๊ฑฐ์ฃ .

  • np.ones(size) : size ํฌ๊ธฐ์˜ 1์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • np.full(size, num, dtype = type) : size ํฌ๊ธฐ์˜ type์ž๋ฃŒํ˜•์˜ num์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • np.empty(size, dtype = type) : size ํฌ๊ธฐ์˜ type์ž๋ฃŒํ˜•๋“ค์˜ ๋‚œ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด์ด ์•„๋‹Œ ๋‚œ์ˆ˜๋กœ ์š”์†Œ๊ฐ€ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.

  • ์ด ์™ธ์—๋„ ์œ„ ๊ฐ๊ฐ์˜ ํ•จ์ˆ˜๋’ค _like๋ฅผ ๋ถ™์ด๋ฉด size ๋Œ€์‹  ndarray ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ€๊ณ  ๊ทธ ๊ฐ์ฒด์˜ size๋งŒํผ์˜ ๋ฐฐ์—ด์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค๋ฉด print(np.zeros_like(a)) #a๋Š” (3,3)size๋ฐฐ์—ด์„ ์‹คํ–‰ํ•˜๋ฉด (3,3)ํฌ๊ธฐ์˜ 0์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ 2์ฐจ์› ๋ฐฐ์—ด์ด ์ถœ๋ ฅ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ์ถ”๊ฐ€๋กœ np.diag(๋Œ€๊ฐํ–‰๋ ฌ), np.identity(ํ•ญ๋“ฑํ–‰๋ ฌ)์ด ์žˆ์Šต๋‹ˆ๋‹ค.

import numpy as np

d = np.array([1,2,3])
print(np.diag(d))
print(np.identity(3))

๊ฐ๊ฐ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ๊ฒ๋‹ˆ๋‹ค.

[[1 0 0]
 [0 2 0]
 [0 0 3]]
 
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

diag๋Š” ๊ทธ ๋’ค์˜ ๊ฐ์ฒด๋กœ ๋Œ€๊ฐ์š”์†Œ๋“ค์„ ๊ตฌ์„ฑํ•˜๋Š” 1์ฐจ์› ๋ฐฐ์—ด์„ ๋ฐ›๊ณ 
identity๋Š” ํ•ญ๋“ฑํ–‰๋ ฌ์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ด ์ค๋‹ˆ๋‹ค(ํ•ญ๋“ฑํ–‰๋ ฌ์€ ์ •์‚ฌ๊ฐํ–‰๋ ฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ ํ•˜๋‚˜๋งŒ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค).

2. ์ถ•์ด๋ž€

์ถ•์ด๋ž€(axis) : ndarray์˜ ๋‹จ์œ„๋ผ๊ณ  ์•Œ๋ฉด๋ฉ๋‹ˆ๋‹ค. ndarray๋Š” ํ–‰, ์—ด, ๋†’์ด๊ฐ€ ์•„๋‹Œ ์ถ•์„ ๋‹จ์œ„๋กœ ์”๋‹ˆ๋‹ค.

1์ฐจ์›์—์„  ๊ทธ ์ž์ฒด๊ฐ€ 0๋ฒˆ ์ถ•,
2์ฐจ์›์—์„  ํ–‰์ด 0๋ฒˆ ์ถ•, ์—ด์ด 1๋ฒˆ ์ถ•
3์ฐจ์›์—์„  ๋†’์ด๊ฐ€ 0๋ฒˆ ์ถ•, ํ–‰์ด 1๋ฒˆ ์ถ•, ์—ด์ด 2๋ฒˆ ์ถ•
.
.
์ด๋ ‡๊ฒŒ n์ฐจ์›์œผ๋กœ ํ™•์žฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๋ฐ‘ ์‚ฌ์ง„์„ ์ฐธ๊ณ ํ•ฉ์‹œ๋‹ค.

์‚ฌ์ง„์— ์žˆ๋Š” shape๋ฉ”์„œ๋“œ๋Š” ndarray์˜ ๋ชจ์–‘์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์œ„ ์‚ฌ์ง„์„ ๋ณด๋ฉด ()๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ ์žˆ๋Š”๋ฐ 0๋ฒˆ ์ถ• ๋ถ€ํ„ฐ ์•ž์— ์“ฐ์ธ๋‹ค๊ณ  ์•Œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ 1์ฐจ์› ๋ฐฐ์—ด์—์„œ ','๋ฅผ ๋นผ๋จน์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ฉ์‹œ๋‹ค!

์ถ”๊ฐ€๋กœ ์ถ•์— ๋Œ€ํ•ด ๋ณธ์ธ์ด ํ—ท๊ฐˆ๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋Š”๋ฐ n๋ฒˆ์ถ•์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€์ž…๋‹ˆ๋‹ค. ์œ„ ์˜ˆ์‹œ๋“ค์„ ๋ด๋„ ์•Œ๊ฒ ์ง€๋งŒ ์ฐจ์›์ด ๋‹ฌ๋ผ์ง€๋ฉด n๋ฒˆ์ถ•์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. 2์ฐจ์›์—์„  0๋ฒˆ ์ถ•์ด ํ–‰์ด์ง€๋งŒ 3์ฐจ์›์—์„  ๋†’์ด์ž…๋‹ˆ๋‹ค.

์ด๊ฑธ ์•Œ๊ธฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์ƒ์œ„๋ฐฐ์—ด์ด ๋ช‡๊ฐœ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ 2์ฐจ์› ๋ฐฐ์—ด์„ ์˜ˆ๋กœ ๋“ค๋ฉด 2์ฐจ์› ๋ฐฐ์—ด ์•ˆ์— 1์ฐจ์› ๋ฐฐ์—ด๋“ค์ด ์žˆ์œผ๋ฏ€๋กœ 2์ฐจ์› ๋ฐฐ์—ด์€ ์ƒ์œ„๋ฐฐ์—ด์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ 0๋ฒˆ ์ถ•์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ 1์ฐจ์› ๋ฐฐ์—ด์€ 2์ฐจ์› ๋ฐฐ์—ด ํ•˜๋‚˜๋ผ๋Š” ์ƒ์œ„๋ฐฐ์—ด์ด ์žˆ์œผ๋ฏ€๋กœ 1๋ฒˆ ์ถ•์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ถ•์˜ ๋ฐฉํ–ฅ์€ ๊ทธ๊ฑธ ํ™•์žฅํ•˜๋Š” ๋ฐฉํ–ฅ์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 2์ฐจ์›๋ฐฐ์—ด์„ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 1์ฐจ์› ๋ฐฐ์—ด์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ ๋ฐฉํ–ฅ์ด ํ–‰์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ–‰๋ฐฉํ–ฅ์ด 0๋ฒˆ์ถ•์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์•Œ๊ธฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ๊ฐ€์žฅ ๊ป๋ฐ๊ธฐ ๋ฐฐ์—ด์„ 0๋ฒˆ ์ถ•์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์œ„ 2์ฐจ์› ๋ฐฐ์—ด์„ ์˜ˆ๋กœ ๋“ค๋ฉด [[1 2 3 4], [5 6 7 8]] ์œผ๋กœ ํ‘œ๊ธฐ๋˜๋Š”๋ฐ ๊ฐ€์žฅ ๊ป๋ฐ๊ธฐ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด 0๋ฒˆ ์ถ•์ด๊ณ  ๊ทธ๋‹ค์Œ ๋Œ€๊ด„ํ˜ธ๊ฐ€ 1๋ฒˆ ์ถ•.. ์ด๋Ÿฐ์‹์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฐฉํ–ฅ์€ ์œ„์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

3. ์ฑ„๋„ ์ฒ˜์Œ ํ‘œ๊ธฐ๋ฒ• vs ์ฑ„๋„ ๋งˆ์ง€๋ง‰ ํ‘œ๊ธฐ๋ฒ•

๋‘˜ ๋‹ค ์ด๋ฏธ์ง€๋‚˜ ํ…์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ์˜ ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด ํ˜•์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ‘œ๊ธฐ๋ฐฉ์‹์˜ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ ๋ฟ์ž…๋‹ˆ๋‹ค.

์ฑ„๋„ ์ฒ˜์Œ ํ‘œ๊ธฐ๋ฒ•(Channels first)๋Š” HWC ํ˜น์€ NHWC๋กœ ํ‘œ์‹œ๋˜๊ณ 
์ฑ„๋„ ๋งˆ์ง€๋ง‰ ํ‘œ๊ธฐ๋ฒ•์€(Channels last) CHW ํ˜น์€ NCHW๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ์˜ ์˜์–ด ๋Œ€๋ฌธ์ž๋Š” ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ธ€์ž์˜๋ฏธ
NBatch(ํฌ๊ธฐ)
HHeight(๋†’์ด)
WWidth(๋„“์ด)
CChannel(์ฑ„๋„)

Channels last ๋ฉ”๋ชจ๋ฆฌ ํ˜•์‹(memory format)์€ ์ฐจ์› ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ NCHW ํ…์„œ(tensor)๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋˜๊ณ  Channels first๋Š” ์›๋ž˜ ๋ฐฐ์—ด์„ ํ‘œ๊ธฐํ•˜๋˜ ๋ฐฉ์‹ ๊ทธ๋Œ€๋กœ ํ‘œํ˜„ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ˜น์—ฌ๋‚˜ ๋ฐฐ์—ด์„ ํ…์„œํ”Œ๋กœ๋‚˜ ํŒŒ์ดํ† ์น˜ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ฎ๊ธด๋‹ค๋ฉด NHWC๋‚˜ NCHW๊ฐ™์€ ์ •ํ•ด์ง„ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋„˜๊ฒจ์•ผ ํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๋ฐฐ์—ด ๊ด€๋ จ ๋ฉ”์†Œ๋“œ๋“ค

  1. shape : ์œ„์—์„œ ์„ค๋ช…ํ–ˆ์œผ๋‹ˆ ๊ฐ€๋ณ๊ฒŒ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ๋ชจ์–‘์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ์•„์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  2. ndim : ์ฐจ์›์˜ ์ˆ˜๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

  3. size : ์š”์†Œ๋“ค์˜ ์ˆ˜๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

  4. dtype : ์š”์†Œ๋“ค์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

  5. astype : dtype์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  6. ravel : ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์ผ์ฐจ์› ๋ฐฐ์—ด๋กœ ํ‰ํ‰ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  7. reshape : ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜•ํƒœ๋ฅผ ์ง€์ •ํ• ๋•Œ '-1'๋กœ ์ง€์ •ํ•˜๋ฉด ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋ฅผ ์ž๋™์œผ๋กœ ๊ฒฐ์ •ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  8. transpose : ํ–‰๊ณผ ์—ด์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค(์ „์น˜).

  9. hstack, vstack : ๊ฐ๊ฐ ์ˆ˜ํ‰์Œ“๊ธฐ์™€ ์ˆ˜์ง์Œ“๊ธฐ ์ž…๋‹ˆ๋‹ค.

  10. column_stack : ์ˆ˜ํ‰์Œ“๊ธฐ ์ž…๋‹ˆ๋‹ค. ์œ„ hstack๊ณผ์˜ ์ฐจ์ด์ ์€ ๋„˜ํŒŒ์ด์˜ ๋ฒกํ„ฐ๊ฐ€ ํ–‰๋ฒกํ„ฐ์ด๋ฏ€๋กœ, ๋ฒกํ„ฐ๋ฅผ ์ˆ˜ํ‰์œผ๋กœ ์—ฐ๊ฒฐํ• ๋•Œ ๋” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  11. concatenate : vstack, hstack๊ณผ ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์ถ•์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 3์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด๋ถ€ํ„ฐ ์œ ์šฉ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  12. linspace : ์š”์†Œ๋ฅผ ๋“ฑ๊ฐ„๊ฒฉ์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด a = np.linspace(start = 0, stop =1, num = 101์ด๋ฉด 0๋ถ€ํ„ฐ 1๊นŒ์ง€๋ฅผ 101์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด a์— ๋ฐฐ์—ด๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•จ์ˆ˜๋ฅผ ๊ทธ๋ฆด๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ๋ฐฐ์—ด ์—ฐ์‚ฐ

  1. '+', '-', '*' : ๊ฐ๊ฐ์˜ ์š”์†Œ๋“ค์„ ํ•ฉ, ์ฐจ, ๊ณฑํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  2. '@', 'dot' : ์ ๊ณฑ(๋‚ด์ )์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  3. '**', 'power' : ์•ž์—์„œ ๋ถ€ํ„ฐ ์ œ๊ณฑ, n์ œ๊ณฑ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์š”์†Œ๋ณ„ ์ œ๊ณฑ, n์ œ๊ณฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    ์ถ”๊ฐ€๋กœ AAA = A^3๊ณผ A@A@A๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒƒ์ด๋‹ˆ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. exp, log, log10, log2, sqrt, round : ์ฐจ๋ก€๋Œ€๋กœ e์˜ n์Šน, ์ž์—ฐ๋กœ๊ทธ, ๋ฐ‘์ด 10์ธ ๋กœ๊ทธ, ๋ฐ‘์ด 2์ธ ๋กœ๊ทธ, ์ œ๊ณฑ, ๋ฐ˜์˜ฌ๋ฆผ์ž…๋‹ˆ๋‹ค.

  5. sum, mean, var, std... : ์ฐจ๋ก€๋Œ€๋กœ ํ•ฉ, ํ‰๊ท , ๋ถ„์‚ฐ, ํ‘œ์ค€ํŽธ์ฐจ ์ž…๋‹ˆ๋‹ค. ์ด์™ธ์—๋„ ๋งŽ์€ ํ†ต๊ณ„๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฉ”์„œ๋“œ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ์ด ์™ธ์—๋„ ๊ณ ์œ ๊ฐ’, ๋ฒกํ„ฐ, ์—ญํ–‰๋ ฌ ๋“ฑ ์„ ํ˜•๋Œ€์ˆ˜ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์ธ๋ฑ์‹ฑ ๋ฐ ์š”์†Œ ๊ฐ’ ์ฐพ๊ธฐ

  1. ndarray๋„ ์Šฌ๋ผ์ด์‹ฑ, ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  2. ๋„˜ํŒŒ์ด ๊ฐ์ฒด(ndarray)๋„ ๊ฐ์ฒด์ด๊ธฐ์— ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋ผ๋„ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋ฉด ๋™์‹œ์— ์š”์†Œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ €๋ฒˆ์ฃผ์ฐจ์—์„œ ํ•™์Šตํ•˜์˜€๋˜ ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  3. argmax, argmin : ๊ฐ๊ฐ์˜ ์ถ•์—์„œ ์ตœ๋Œ€๊ฐ’ ํ˜น์€ ์ตœ์†Œ๊ฐ’ ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  4. where : where ๋’ค์— ์กฐ๊ฑด์ด ๋‚˜์˜ค๊ณ  ์ถ•๋ณ„๋กœ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

7. ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…

ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ „์ฒด ๋ฐ์ดํ„ฐ์— ์—ฐ์‚ฐ์„ ์ ์šฉํ–ˆ๋˜ ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์—ฐ์‚ฐ์ด ์ „์ฒด ๋ฐ์ดํ„ฐ๋กœ ํ™•์žฅ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์—ฐ์‚ฐ์—์„œ '+', '-', '*' ๋“ฑ์ด ๊ทธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.
์Šค์นผ๋ผ๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a+3)

์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด [4 5 6][7 8 9]๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒŒ ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ํ•˜๋‚˜์˜ ํ˜•ํƒœ๋ฅผ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ํ˜•ํƒœ๋กœ ํ™•์žฅ์‹œํ‚ค๋Š” ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…์ด ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ”ขํ™•๋ฅ ์  ์ƒ˜ํ”Œ๋ง ๋ฐ ๋‚œ์ˆ˜ ๋ฐœ์ƒ

  1. np.random.choice(bases, size = n, p = probs) : ์ด ๋ฉ”์„œ๋“œ๋Š” bases๋“ค์˜ ์ž๋ฃŒ๋ฅผ nํฌ๊ธฐ๋งŒํผ์˜ ๋ฐฐ์—ด๋กœ p์˜ ํ™•๋ฅ ๋ถ„ํฌ๋กœ ์š”์†Œ๋ฅผ ์ƒ˜ํ”Œ๋ง ํ•ฉ๋‹ˆ๋‹ค.

  2. ์œ„ ๋ฉ”์„œ๋“œ์—์„œ bases์™€ probs๊ฐ€ ์•„๋‹Œ low[์ตœ์†Œ๊ฐ’], high[์ตœ๋Œ€๊ฐ’]์„ ์ง€์ •ํ•˜์—ฌ ์ •์ˆ˜๋ฅผ ๋ฌด์ž‘์œ„์ ์œผ๋กœ ์ƒ˜ํ”Œ๋ง ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ตœ๋Œ€๊ฐ’์€ ์ƒ˜ํ”Œ๋ง์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

  3. ์ด ์ด์™ธ์—๋„ binomial, poisson, gamma ๋“ฑ ๋‹ค์–‘ํ•œ ํ™•๋ฅ ๋ถ„ํฌ๋กœ ์ƒ˜ํ”Œ๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  4. ๋‚œ์ˆ˜ ๋ฐœ์ƒ์˜ ์”จ์•— ์ง€์ • : np.random.seed(num)์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์žฌํ˜„์„ฑ ๋“ฑ์„ ๋ณด๊ธฐ์œ„ ํ•œ ์ด์œ ๋กœ ๋‚œ์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ํŒจํ„ด์„ ๊ณ ์ •์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋‚œใ…œ ๋ฐœ์ƒ์˜ ์”จ์•—์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ˜Š๋งˆ๋ฌด๋ฆฌ

์ด๋ฒˆ์— ๋„˜ํŒŒ์ด๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋А๊ผˆ๋˜ ๊ฒƒ์€ ๋„˜ํŒŒ์ด๋„ ์ผ์ข…์˜ ํŒŒ์ด์ฌ์„ ํ™•์žฅํ•œ ๊ฒƒ์ด๋ผ ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ํ•™์Šตํ•œ๋‹ค๋Š” ๋А๋‚Œ์œผ๋กœ ๊ณต๋ถ€๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„ ํ˜•๋Œ€์ˆ˜๋ฅผ ๋งŽ์ด ๊นŒ๋จน์€ ์ œ๊ฒŒ ์„ ํ˜•๋Œ€์ˆ˜๋ฅผ ๊ณต๋ถ€ํ•˜๋ผ๋Š” ๋А๋‚Œ์ด ํ™• ์™€๋‹ฟ์•˜๋˜๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค..

๋‹ค์Œ ์ฃผ์ฐจ๋ถ€ํ„ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚œ์ด๋„๊ฐ€ ์ด์ œ ์˜ฌ๋ผ๊ฐ€๊ธฐ ์‹œ์ž‘ํ•˜๊ฒ ๊ตฐ์š”..

์•„๋ž˜ ์‚ฌ์ง„์—์„œ ํ•ดํƒˆํ•œ์ด๋ผ๋Š” ๊ท€์—ฌ์šด(?) ์นœ๊ตฌ๊ฐ€ ๋งํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์•„๋ฌด๋ฆฌ ๊ผผ์ˆ˜๋ฅผ ๋ถ€๋ ค๋„ ์‹ค๋ ฅ์ด ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋ ค์›€์„ ๊ฐ๋‹นํ•ด์•ผ ๊ฒ ์ฃ . ์ด์ œ๋ถ€ํ„ฐ ์–ด๋ ค์šด ์‹œ๊ฐ„์ด ๋  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ ์—ด์‹ฌํžˆ ํ•ด๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ˜ธ๐Ÿ˜ธ

profile
I'm free to be whatever I

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