Training

ν•™μŠ΅

μž‘μ—… 생성

tutorial013

  • μ§€κΈˆκΉŒμ§€ μž‘μ—…ν•œ 데이터λ₯Ό κ°€μ§€κ³ , 이미지 ν•™μŠ΅μ„ μ§„ν–‰ν•˜κΈ° μœ„ν•΄ μž‘μ—… ν™”λ©΄μœΌλ‘œ μ΄λ™ν•œλ‹€.
  • 우츑 μƒλ‹¨μ˜ 뢄석 νƒ­μ—μ„œ μ„œλΉ„μŠ€ 메뉴 사이λ₯Ό 이동할 수 μžˆλ‹€.
  • μ—¬κΈ°μ—μ„œ μž‘μ—…μ„ μ„ νƒν•˜λ©΄ μž‘μ—… 관리 ν™”λ©΄μœΌλ‘œ λ„˜μ–΄κ°„λ‹€.

tutorial014

  • μž‘μ—… 생성 λ²„νŠΌμ„ 눌러 μž‘μ—…μ„ μƒμ„±ν•œλ‹€.

tutorial015

  • μž‘μ—… 생성 방식을 μ„ νƒν•˜λŠ” νŒμ—…μ΄λ‹€.
  • DL Modeler에 λ‚΄μž₯된 image classification μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ ν•™μŠ΅μ„ μ§„ν–‰ν•  μ˜ˆμ •μ΄λ―€λ‘œ 생성 λ°©μ‹μœΌλ‘œ Basic을 μ„ νƒν•œλ‹€.

tutorial016

  • κ·Έ λ‹€μŒ λ‚˜μ˜€λŠ” μž‘μ—… 생성(Basic) νŒμ—…μ—μ„œλŠ” μž‘μ—… 상세 정보λ₯Ό μž…λ ₯ν•œλ‹€.
  • λ¨Όμ €, μž‘μ—… λͺ…κ³Ό μž‘μ—… μ„€λͺ…을 μž…λ ₯ν•œλ‹€.
    • μž‘μ—… λͺ…: image-classification
    • μž‘μ—… μ„€λͺ…: image classification demo

tutorial017

  • μ•Œκ³ λ¦¬μ¦˜μ€ 이미지 λΆ„λ₯˜λ₯Ό μ„ νƒν•œλ‹€.
  • λ‚΄μž₯ image classification μ•Œκ³ λ¦¬μ¦˜μ€ tensorflow 기반으둜 λ§Œλ“€μ–΄μ‘ŒμœΌλ©°, ν•™μŠ΅ 신경망 layerλŠ” 6개둜 κ΅¬μ„±λœλ‹€.
  • μ•Œκ³ λ¦¬μ¦˜μ„ μ„ νƒν•˜λ©΄ 그에 따라 데이터λ₯Ό μ„ νƒν•˜λŠ” 뢀뢄이 바뀐닀. μœ„ μΉΈμ—λŠ” ν•™μŠ΅ 이미지, μ•„λž˜ μΉΈμ—λŠ” ν•™μŠ΅ label 경둜λ₯Ό μž…λ ₯ν•œλ‹€.
  • 였λ₯Έμͺ½μ— μžˆλŠ” 폴더 μ•„μ΄μ½˜μ„ 각각 눌러 파일 경둜λ₯Ό μ°ΎλŠ”λ‹€.

tutorial018

  • 이미지 경둜λ₯Ό 찾을 땐 train-image '폴더'λ₯Ό, λ ˆμ΄λΈ” 경둜λ₯Ό 찾을 땐 train-label '폴더'λ₯Ό 선택 ν›„, 확인을 ν΄λ¦­ν•œλ‹€.
    • 이미지 경둜 mnt > project > image-classification_324_edu01 (μ‚¬μš©μžμ— 따라 닀름) > data > train-image > train-image (폴더 선택)
    • λ ˆμ΄λΈ” 경둜 mnt > project > image-classification_324_edu01 (μ‚¬μš©μžμ— 따라 닀름) > data > train-label > train-label (폴더 선택)
  • λ°μ΄ν„°λŠ” 데이터 νƒ­μ—μ„œ μ—…λ‘œλ“œν•΄ λ‘μ—ˆλ˜ ν•™μŠ΅ 이미지와 label csv νŒŒμΌμ΄λ‹€.
  • λͺ¨λ“  정보λ₯Ό μž…λ ₯ν•˜λ©΄ 생성 λ²„νŠΌμ΄ ν™œμ„±ν™”λ˜λŠ”λ°, 생성 λ²„νŠΌμ„ 눌러 μž‘μ—…μ„ μƒμ„±ν•œλ‹€.

ν•™μŠ΅μƒμ„±

tutorial019

  • μž‘μ—… 관리 화면에 μƒμ„±ν•œ μž‘μ—…μ΄ 보이게 λœλ‹€. μž‘μ—…λͺ…을 ν΄λ¦­ν•˜λ©΄ ν•™μŠ΅ 관리 화면이 λ‚˜νƒ€λ‚œλ‹€.

tutorial020

  • ν•™μŠ΅ 관리 ν™”λ©΄μ—μ„œ ν•™μŠ΅μ„ μƒμ„±ν•˜κ³  관리할 수 μžˆλ‹€. ν•™μŠ΅ 생성 λ²„νŠΌμ„ 눌러 ν•™μŠ΅ 생성을 μ‹œμž‘ν•œλ‹€.

tutorial021

  • λ‹€μŒμ€ ν•™μŠ΅μ„ μƒμ„±ν•˜λŠ” 과정이닀.

a. ν•™μŠ΅μ— μ‚¬μš©ν•  μΈμŠ€ν„΄μŠ€(cpu/gpu)λ₯Ό μ„ νƒν•œλ‹€. gpuλ₯Ό μ„ νƒν•œ 경우 gpu κ°œμˆ˜λ„ 같이 μž…λ ₯ν•œλ‹€.

b. ν•˜μ΄νΌνŒŒλΌλ―Έν„° 쀑, num_typesλŠ” 6으둜 μ„€μ •ν•΄μ€€λ‹€. demo μ΄λ―Έμ§€μ˜ μΉ΄ν…Œκ³ λ¦¬ μˆ˜κ°€ 6개이기 λ•Œλ¬Έμ΄λ‹€. λ‹€λ₯Έ ν•˜μ΄νΌνŒŒλΌλ―Έν„°λŠ” μ›ν•˜λŠ” κ°’μœΌλ‘œ μž…λ ₯ν•œλ‹€. (κΈ°λ³Έ κ°’μœΌλ‘œ 두어도 λ¬΄λ°©ν•˜λ‹€.)

μ’…λ₯˜κ°’
batch_size100
epochs100
learning_rate0.001
num_types6
filter_num120
filter_num240
filter_num360
filter_num480
filter_num5100
filter_num6100

c. ν•™μŠ΅λͺ… μž…λ ₯ 칸에 ν•™μŠ΅λͺ…을 μž…λ ₯ν•œλ‹€.

- ν•™μŠ΅λͺ…: image-train-cpu

d. 생성 λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ 이미지 ν•™μŠ΅μ΄ μ‹œμž‘λœλ‹€.

  • ν•™μŠ΅ μΆ”κ°€ λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ ν•™μŠ΅λͺ…κ³Ό ν•˜μ΄νΌνŒŒλΌλ―Έν„°λ₯Ό μž…λ ₯ν•˜λŠ” 칸이 λŠ˜μ–΄λ‚˜λ©°, ν•œ ν™”λ©΄μ—μ„œ μ—¬λŸ¬ 개의 ν•™μŠ΅μ„ λ™μ‹œμ— 생성할 수 μžˆλ‹€. 단, ν”„λ‘œμ νŠΈμ— ν• λ‹Ή 된 μžμ›μ„ μ΄ˆκ³Όν•˜λ©΄ μ•ˆ λœλ‹€.

ν•™μŠ΅μ§„ν–‰ 확인

tutorial022

  • ν•™μŠ΅ 관리 화면에 μƒμ„±ν•œ ν•™μŠ΅μ΄ 보인닀.
  • ν•™μŠ΅ μƒνƒœλŠ” ν•™μŠ΅ λŒ€κΈ°/ν•™μŠ΅ 쀑/ν•™μŠ΅ μ™„λ£Œ/ν•™μŠ΅ μ‹€νŒ¨λ‘œ ν‘œμ‹œλœλ‹€.
  • μƒνƒœλŠ” μžλ™ μƒˆλ‘œ 고침이 λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ‚¬μš©μžκ°€ 직접 μƒˆλ‘œ κ³ μΉ¨ λ²„νŠΌμ„ 눌러 주기적으둜 확인해야 ν•œλ‹€.
  • μƒμ„±λœ ν•™μŠ΅ λͺ…을 ν΄λ¦­ν•˜μ—¬ ν•™μŠ΅ 상세 νŽ˜μ΄μ§€λ‘œ μ§„μž…ν•œλ‹€.

tutorial023

  • ν•™μŠ΅ 상세 νŒμ—…μ˜ κ²°κ³Ό κ·Έλž˜ν”„ νƒ­μ—μ„œ ν•™μŠ΅ μ§„ν–‰ 상황을 ν•œ λˆˆμ— λ³Ό 수 μžˆλ‹€.
  • ν•™μŠ΅ μ‹€νŒ¨/ν•™μŠ΅ μ™„λ£Œ μ‹œ μžμ„Ένžˆ 보기 λ²„νŠΌμ΄ ν™œμ„±ν™”λ˜λ©°, 이λ₯Ό λˆ„λ₯΄λ©΄ ν•΄λ‹Ή ν•™μŠ΅μ—μ„œ λ‚˜μ˜€λŠ” 둜그λ₯Ό 확인할 수 μžˆλ‹€.
  • 배포 λ²„νŠΌμ€ ν•™μŠ΅ μ™„λ£Œ ν›„ λͺ¨λΈμ΄ μƒμ„±λ˜λ©΄ ν™œμ„±ν™”λœλ‹€.
  • ν•™μŠ΅ μ§„ν–‰ μ‹œκ°„μ€ ν•˜μ΄νΌνŒŒλΌλ―Έν„° μ„€μ •, λ°μ΄ν„°μ˜ μ–‘, ν•™μŠ΅ μΈμŠ€ν„΄μŠ€μ— 따라 차이가 λ‚œλ‹€.
    • κΈ°λ³Έ κ°’ ν•˜μ΄νΌνŒŒλΌλ―Έν„°, 59개 ν•™μŠ΅ 데이터 κΈ°μ€€μœΌλ‘œ CPU ν•™μŠ΅μ€ μ•½ 17λΆ„, GPU ν•™μŠ΅μ€ μ•½ 7λΆ„ μ†Œμš”.
    • κΈ°λ³Έ κ°’ ν•˜μ΄νΌνŒŒλΌλ―Έν„°, 14,034개 전체 ν•™μŠ΅ λ°μ΄ν„°λ‘œ λͺ¨λΈμ„ λ§Œλ“€λ©΄ CPU ν•™μŠ΅ μ•½ 15μ‹œκ°„, GPU ν•™μŠ΅ μ•½ 17λΆ„ μ†Œμš”.