딥러닝이 적용된 K-평균 군집화 예제
K-평균 군집화 알고리즘을 텐서플로 2와 함께 사용하여 데이터를 분류하는 방법을 살펴보겠습니다.
먼저 필요한 라이브러리를 가져와서 시작합니다.
코드 11-1 라이브러리 호출
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score ------ 앞서 설치한 opencv-python 라이브러리를 호출
import os, glob, shutil
다음 코드는 GPU를 사용할 때만 실행됩니다. 기본적으로 이미지를 다루는 컴퓨터 비전은 이미지의 용량 관계로 GPU 사용을 권장하지만, 사용하는 환경이 CPU만 지원한다면 다음 코드는 실행하지 않습니다.
코드 11-2 GPU 설정
gpus = tf.config.experimental.list_physical_devices('GPU') ------ cuDNN 초기화에 문제가 있을 때 실행
if gpus:
try:
for gpu in gpus: ------ GPU가 두 개 이상이라면 메모리를 균등하게 사용하도록 조정
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") ------ 물리적 GPU와 논리적 GPU의 수량을 표기
except RuntimeError as e:
print(e)