A A
[CV] Object Detection & Segmentation์„ ์œ„ํ•œ ํŒจํ‚ค์ง€ & CUDA ์†Œ๊ฐœ

Object Detection & Segmentation์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋“ค

Object Detection & Segmentation์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • Keras์™€ Tensorflow ๊ธฐ๋ฐ˜์˜ ๋‹ค์–‘ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€๋“ค
    • ์‰ฌ์šด ํ™œ์šฉ๊ณผ Customization ๊ฐ€๋Šฅํ•œ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋‹ค๋งŒ Object Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณ„๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค์„ ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • OpenCV ์˜ DNN(Deep Neural Network) ๋ชจ๋“ˆ
    • ๊ฐ„ํŽธํ•˜๊ฒŒ Object Detection Inference๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋‹ค๋งŒ ํ•™์Šต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ฃผ๋กœ CPU ์œ„์ฃผ๋กœ GPU ํ™œ์šฉ์ด ์–ด๋ ต๋‹ค๋Š” ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Tensorflow Object Detection API
    • ๊ฐ€์žฅ ๋งŽ์€ Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋‹ค๋งŒ, ๋‹ค๋ฃจ๊ธฐ๊ฐ€ ์–ด๋ ต๊ณ  ํŠนํžˆ ํ•™์Šต์„ ์œ„ํ•œ ์ ˆ์ฐจ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.

 

 

Keras์™€ Tensorflow ๊ธฐ๋ฐ˜์— ๋‹ค์–‘ํ•œ ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€๋“ค

ํฌ๊ฒŒ, YOLO, Retinanet, Mask R-CNN 3๊ฐœ์— ๋ฐํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

YOLO

  • ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ํŒจํ‚ค์ง€. ์‹ฌํ”Œํ•˜๋ฉด์„œ๋„ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • Tensorflow 1.13, Keras 2.2 ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Git์†Œ์Šค: https://github.com/qqwweee/keras-yolo3
 

GitHub - qqwweee/keras-yolo3: A Keras implementation of YOLOv3 (Tensorflow backend)

A Keras implementation of YOLOv3 (Tensorflow backend) - qqwweee/keras-yolo3

github.com

 

Retinanet

  • ์ •๊ตํ•œ ๊ฒ€์ถœ ์„ฑ๋Šฅ์œผ๋กœ ๋งŽ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ๊ด‘ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • Tensorflow 1.15, Keras 2.3 ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Git์†Œ์Šค: https://github.com/fizyr/keras-retinanet
 

GitHub - fizyr/keras-retinanet: Keras implementation of RetinaNet object detection.

Keras implementation of RetinaNet object detection. - fizyr/keras-retinanet

github.com

 

 

Mask R-CNN

  • Segmentation์—์„œ ๋งค์šฐ ๋งŽ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ํŽธ๋ฆฌํ•œ ์‚ฌ์šฉ์„ฑ์œผ๋กœ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Tensorflow 1.13, Keras 2.2 ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Git์†Œ์Šค: https://github.com/matterport/Mask_RCNN
 

GitHub - matterport/Mask_RCNN: Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow

Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow - matterport/Mask_RCNN

github.com

 

 

OpenCV์˜ Deep Learning ์ง€์› - DNN Package

OpenCV๋Š” Computer Vision ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์šฉ Library ์ž…๋‹ˆ๋‹ค.
์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์‹ค์‹œ๊ฐ„ ์ด๋ฏธ์ง€ ํ”„๋กœ์„ธ์‹ฑ์— ์ค‘์ ์„ ๋‘” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ C/C++ ๊ธฐ๋ฐ˜์˜ Library์ด์ง€๋งŒ Python, Java๋“ฑ๊ณผ์˜ Interface๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Image Classification, Object Detection, Segmentation ๋“ฑ์˜ ๋ถ„์•ผ์— Machine learning ๊ธฐ๋Šฅ์„ ํฌํŒ…ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Deep Learning ๊ธฐ๋ฐ˜์˜ Computer Vision ์—ญ์‹œ ๋ณ„๋„ DNN ๋ชจ๋“ˆ๋กœ ๊ตฌํ˜„๋˜์–ด OpenCV์— ํฌํŒ…๋ฉ๋‹ˆ๋‹ค.
  • DNN ๋ชจ๋“ˆ์€ OpenCV 3.1์—์„œ๋Š” ์ถ”๊ฐ€ ๋ชจ๋“ˆ ํ˜•ํƒœ๋กœ ์ง€์›๋˜์—ˆ๊ณ , OpenCV 3.3 ๋ฒ„์ „๋ถ€ํ„ฐ ๊ธฐ๋ณธ ๋ชจ๋“ˆ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ๋ณ„๋„์˜ Deep Learning ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํƒ€ ํ”„๋ ˆ์ž„ ์›Œํฌ์˜ ๋ชจ๋ธ์„ ๊ทธ๋Œ€๋กœ ๋กœ๋“œํ•˜์—ฌ Inference๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋ธ ํ•™์Šต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, GPU ํ™œ์šฉ์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ CPU ์œ„์ฃผ๋กœ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

Tensorflow Object Detection API ์ง€์› ๋ชจ๋ธ

ํƒ€ ์˜คํ”ˆ ์†Œ์Šค ํŒจํ‚ค์ง€ ๋Œ€๋น„ ๊ฐ€์žฅ ๋งŽ์€ Object Detection ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • MS-COCO ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Open-Image๊ธฐ๋ฐ˜์˜ Pretrained ๋ชจ๋ธ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Faster RCNN, SSD, FRCN, MASK-RCNN ์ง€์›. Backbone๋„ Mobilenet, Inception, Resnet ๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • 2020๋…„ 2์›” ๊ธฐ์ค€, YOLO Model์— ๋Œ€ํ•œ ์ง€์›์€ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Retinanet์— ๋Œ€ํ•œ ์ง€์›๋„ ์•ฝํ•ฉ๋‹ˆ๋‹ค.

 

 

Tensorflow Object Detection์˜ ๋ฌธ์ œ์ 

  • Tensorflow Object Detection์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ•™์Šต ๊ณผ์ •์ด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.
    • Tensorflow Vesion 2์™€ Version 1์ด ์„œ๋กœ ์ถฉ๋Œ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋งŽ์€ API๊ฐ€ ์‚ฌ์šฉ๋˜์ง€๋งŒ Document๋‚˜ Tutorial์ด ๋ถ€์กฑ ํ•˜๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • Research ํ˜•ํƒœ์˜ ๋ชจ๋“ˆ๋กœ ์•ˆ์ •ํ™”๊ฐ€ ๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์˜๋ฌธ์ ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 


CUDA

CUDA๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
CUDA(Compute Unified Device Architecture)๋Š” NVIDIA์—์„œ ๊ฐœ๋ฐœํ•œ ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์ด์ž ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
์ฃผ๋กœ NVIDIA์˜ GPU(Graphics Processing Unit)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์žฅ์น˜(GPU)์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋น„๋กฏํ•œ ์‚ฐ์—… ํ‘œ์ค€ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
  • CUDA๋Š” ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ…, ๋”ฅ ๋Ÿฌ๋‹, ๊ณผํ•™ ๊ณ„์‚ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋˜ํ•œ CUDA๋Š” ์ด๋Ÿฌํ•œ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. GPU ๊ฐ€์†: CUDA๋Š” GPU์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ CPU๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ ์—ฐ์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋ณต์žกํ•œ ๊ณ„์‚ฐ ์ž‘์—…์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  2. ์Šค๋ ˆ๋“œ ๋ณ‘๋ ฌ์„ฑ: CUDA๋Š” ์ˆ˜์ฒœ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ ์ž‘์—…์„ ๋งค์šฐ ์„ธ๋ฐ€ํ•˜๊ฒŒ ๋ถ„ํ• ํ•˜๊ณ  ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ: CUDA๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธ€๋กœ๋ฒŒ ๋ฉ”๋ชจ๋ฆฌ, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, ๋ ˆ์ง€์Šคํ„ฐ ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ๊ณผ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ปค๋„ ํ•จ์ˆ˜: CUDA ํ”„๋กœ๊ทธ๋žจ์€ ์ปค๋„ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ณ‘๋ ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ ํ•จ์ˆ˜๋Š” GPU์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๋งŽ์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ๋™์ผํ•œ ์ปค๋„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

CUDA Interface

ํ•œ๋ฒˆ CUDA์˜ Interface์— ๋ฐํžˆ์—ฌ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

CUDA

  • ์ค‘์•™์— ์œ„์น˜ํ•œ CUDA๋Š” ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์ด์ž ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
  • CUDA๋Š” GPU์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

  • C/C++: ์™ผ์ชฝ์— ์œ„์น˜ํ•œ C/C++์€ CUDA ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. C/C++ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปค๋„ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์ด๋ฅผ GPU์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Python: ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•œ Python์€ CUDA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(PyCUDA, Numba ๋“ฑ)๋ฅผ ํ†ตํ•ด GPU ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Toolkit

  • CUDA ํˆดํ‚ท์€ ๊ฐœ๋ฐœ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • Development: CUDA ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ, ๋””๋ฒ„๊ฑฐ, ํ”„๋กœํŒŒ์ผ๋Ÿฌ ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Libraries: cuBLAS, cuFFT, cuDNN ๋“ฑ ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™, ๊ณผํ•™, ๋”ฅ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

Runtime

  • CUDA ๋Ÿฐํƒ€์ž„์€ GPU ์ž์› ๊ด€๋ฆฌ, ์ปค๋„ ์‹คํ–‰, ๋ฐ์ดํ„ฐ ์ „์†ก ๋“ฑ์„ ํฌํ•จํ•œ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • CUDA Driver: CUDA ๋“œ๋ผ์ด๋ฒ„๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. GPU ์ž์› ๊ด€๋ฆฌ, ์ปค๋„ ์‹คํ–‰ ๋“ฑ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

cuDNN ์†Œ๊ฐœ

  • cuDNN ์€ CUDA์˜ DL Library. Deep-Neural Network๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Convolution, Pooling, Softmax, ReLU, Sigmoid, TANH, Batch Normalization(๋ฐฐ์น˜ ์ •๊ทœํ™”) ๊ธฐ๋Šฅ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

CUDA/CudNN ๊ธฐ๋ฐ˜์˜ Deep Learning Framework

CUDA์™€ cuDNN์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋”ฅ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Deep Learning Framework(์˜ˆ: TensorFlow)๊ฐ€ GPU์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑธ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๊ฐ ๋ ˆ์ด์–ด๋Š” ํŠน์ • ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • CUDA 9.0์€ GPU์˜ ์—ฐ์‚ฐ ๋Šฅ๋ ฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋ณธ์ ์ธ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ ์„ฑ๋Šฅ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • cuDNN์€ ๋”ฅ ๋Ÿฌ๋‹ ์—ฐ์‚ฐ์— ์ตœ์ ํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, TensorFlow์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ GPU์˜ ์„ฑ๋Šฅ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.
  • TensorFlow๋Š” ์ด๋Ÿฌํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์„ฑ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค.
  • Virtualenv๋Š” Python ํ™˜๊ฒฝ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ๊ฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ณ ์œ ํ•œ ์˜์กด์„ฑ์„ ๊ฐ–๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์ผํ•œ ์‹œ์Šคํ…œ์—์„œ ์ถฉ๋Œ ์—†์ด ์šด์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.