(๋ณธ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ํŒจ์บ  ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•œ ์ฝ”๋“œ์ด๋‹ค)

 

 

<์ด์ „ ๊ธ€>

https://silvercoding.tistory.com/9

 

[fashion MNIST ํ”„๋กœ์ ํŠธ] 1. multi-label ๋ถ„๋ฅ˜, fashion MNIST ๋ฐ์ดํ„ฐ ์•Œ์•„๋ณด๊ธฐ

(๋ณธ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ํŒจ์บ  ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•œ ์ฝ”๋“œ์ด๋‹ค) ์ด๋ฒˆ์—๋Š” ๋˜ ์œ ๋ช…ํ•œ ๋ฐ์ดํ„ฐ์ธ fashion MNIST๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ๋ ˆ์ด๋ธ” ๋ถ„๋ฅ˜๋ฅผ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฉ€ํ‹ฐ๋ ˆ์ด๋ธ”์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ  ๋„˜

silvercoding.tistory.com

 

 

์ด์ „ ๊ธ€์—์„œ fashion MNIST์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์•˜๋‹ค. MNIST์™€ ๋™์ผํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋Ÿฌํ•œ fashion MNIST ๋ฐ์ดํ„ฐ์…‹์„ ์ „์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•œ๋‹ค. 

 

 

 

์ „์ฒ˜๋ฆฌ ์‹œ์ž‘ 

 

(1) data type ๋ณ€๊ฒฝ (์ •์ˆ˜ -> ์‹ค์ˆ˜)

๋ฐ์ดํ„ฐ์˜ ์ด๋ฏธ์ง€์˜ ๊ฐ’์€ 0-255 ์ธ uint8 ํƒ€์ž… ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์‹ค์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๊ณ , ๋ฒ”์œ„๋ฅผ 0-1 ๋กœ ๋ฐ”๊พธ์–ด ์ค€๋‹ค. 

 

ํ˜น์‹œ uint8 ํƒ€์ž…์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์ด๊ณณ์—์„œ ์„ค๋ช…์„ ํ•ด๋‘” ๋ถ€๋ถ„์„ ์ฝ์–ด๋ณด์ž. 

https://silvercoding.tistory.com/3

 

[MNIST ํ”„๋กœ์ ํŠธ] 1. MNIST ๋ฐ์ดํ„ฐ ์•Œ์•„๋ณด๊ธฐ

(์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ํŒจ์บ  ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•œ ์ฝ”๋“œ์ด๋‹ค) ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๋ฐ์ดํ„ฐ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์ž…๋ฌธ ๋•Œ ๋ฌด์กฐ๊ฑด ๋ฐฐ์šฐ๋Š” ์œ ๋ช…ํ•œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์ธ MNIST ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค. ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์†์œผ๋กœ ์ง์ ‘ ์“ด ์ˆซ์ž

silvercoding.tistory.com

 

train_images = train_images.astype(np.float64)
test_images = test_images.astype(np.float64)

์ด๋ ‡๊ฒŒ astype ์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ dtype์„ ์ฐ์–ด๋ณด๋ฉด uin8์ด ์•„๋‹Œ float64๋กœ ๋ฐ”๋€Œ์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. 

 

 

 

(2) normalize 

normalize์ž‘์—…์„ ํ•˜์—ฌ 0~1 ์˜ ๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ๋ณ€ํ˜•ํ•ด์ฃผ๋„๋ก ํ•˜์ž.
์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
normalize(x) = x - ์ตœ์†Ÿ๊ฐ’ / ์ตœ๋Œ“๊ฐ’ - ์ตœ์†Ÿ๊ฐ’
normalize(x) = x / ์ตœ๋Œ“๊ฐ’ (์ตœ์†Ÿ๊ฐ’์ด 0์ผ ๋•Œ : ์ง€๊ธˆ ๋ฐ์ดํ„ฐ์…‹์˜ ๊ฒฝ์šฐ)
ํ˜„์žฌ MNIST ๋Š” 0-255 ์˜ ์ˆซ์ž์ด๋ฏ€๋กœ ๋ฐ‘์˜ ์‹์„ ๋”ฐ๋ฅด๋ฉด ๋œ๋‹ค.

(train_images / 255.0).min(), (train_images / 255.0).max()

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐ”๋กœ ์ตœ์†Ÿ๊ฐ’์ด 0.0, ์ตœ๋Œ“๊ฐ’์ด 1.0 ์œผ๋กœ ๋ณ€ํ™”ํ•˜๊ฒŒ ๋œ๋‹ค. 

 

 

*** normalize๋ฅผ ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์ผ๋ฐ˜ํ™” ์‹œํ‚ค๊ธฐ 

def norm(data):
  min_v = data.min()
  max_v = data.max()

  return (data - min_v) / (max_v - min_v)

์ด๋Ÿฌํ•œ normalize ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด ๋†“์œผ๋ฉด ์ตœ์†Ÿ๊ฐ’์ด 0์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋„ ์†์‰ฝ๊ฒŒ ์ •๊ทœํ™” ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ์˜ shape, dtype, ๋ฒ”์œ„(์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’)์„ ๋‹ค์‹œ ํ™•์ธํ•ด ๋ณธ๋‹ค์Œ ์‹œ๊ฐํ™”๋กœ ๋„˜์–ด๊ฐ€์ž! (ํฌ์ŠคํŒ…์€ ์ƒ๋žต)

 

 

 

 

 

์—ฌ๋Ÿฌ์žฅ ์‹œ๊ฐํ™” ํ•ด๋ณด๊ธฐ (ex, 5์žฅ)

์ด ์ž‘์—…๋„ ๊ณ„์† ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•ด ๋‚˜๊ฐ€๋ฉฐ ๋งˆ์น˜๋„๋ก ํ•œ๋‹ค. 

- (5, 28, 28) ---> (28, 28 * 5) shape ๋ณ€๊ฒฝ (hstack, transpose๋กœ ๊ฐ€๋Šฅ) 

์ด๋ฒˆ์—๋„ hstack์€ ์ƒ๋žตํ•˜๊ณ , transpose ๋ฐฉ๋ฒ•์œผ๋กœ๋งŒ ์ง„ํ–‰ํ•œ๋‹ค. 

 

์ด๊ณณ์—์„œ hstack์„ ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ๋‹ค. 

https://silvercoding.tistory.com/4

 

[MNIST ํ”„๋กœ์ ํŠธ] 2. MNIST ๋ฐ์ดํ„ฐ์…‹ ์ „์ฒ˜๋ฆฌ, ์‹œ๊ฐํ™”

(์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ํŒจ์บ  ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•œ ์ฝ”๋“œ์ด๋‹ค) <์ด์ „ ํฌ์ŠคํŒ…> https://silvercoding.tistory.com/3 [MNIST ํ”„๋กœ์ ํŠธ] 1. MNIST ๋ฐ์ดํ„ฐ ์•Œ์•„๋ณด๊ธฐ (์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” ํŒจ์บ  ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•œ

silvercoding.tistory.com

 

train_images[:5].transpose((1, 0, 2)).reshape(28, -1).shape

(28, 140) ์ด ๋‚˜์˜ค๋ฉด ์ •์ƒ! 

 

์ด์ œ ์ด๊ฑธ plt๋กœ ๊ทธ๋ ค๋ณด๋ฉด (์ฝ”๋“œ ์ƒ๋žต)

์ด๋ ‡๊ฒŒ ์˜ค๋ฅ˜ ์—†์ด 5์žฅ์„ ํ•œ๋ฒˆ์— ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

 

- ์ข…๋ฅ˜๋ผ๋ฆฌ ์‹œ๊ฐํ™” ํ•˜๊ธฐ 

def filter(label, count=5) :
  imgs = train_images[np.argwhere(train_labels == label)[:count, ..., 0]].transpose((1, 0, 2)).reshape(28, -1)
  plt.imshow(imgs, cmap='gray')
  plt.title(idx2label(label))
  plt.show()

filter ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณด๊ณ ์‹ถ์€ ์˜๋ฅ˜ ์ข…๋ฅ˜ ๋ผ๋ฒจ์„ ์ง‘์–ด ๋„ฃ์œผ๋ฉด, ๊ทธ ์ข…๋ฅ˜๋ผ๋ฆฌ ์‹œ๊ฐํ™”๋ฅผ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ €๋ฒˆ์— ๋งŒ๋“ค์–ด ๋‘์—ˆ๋˜ idx2label ์„ ์ด์šฉํ•˜์—ฌ title๋„ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค. 

filter(๋ ˆ์ด๋ธ”, ์‹œ๊ฐํ™” ๊ฐฏ์ˆ˜) ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

 

filter(9, 6)

9๋ฒˆ์งธ ๋ผ๋ฒจ์ธ ์•ตํด๋ถ€์ธ  6๊ฐ€์ง€๋ฅผ ๊ทธ๋ ค ๋ณด์•˜๋‹ค. 

 

 

 

 

 

๋‹ค์Œ์‹œ๊ฐ„์—๋Š” Data augmentation๊ณผ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ํฌ์ŠคํŒ…์„ ํ•  ์˜ˆ์ •์ด๋‹ค. 

 

 

 

 

 

 

 

 

 

+ Recent posts