본문은 알파고로 유명세를 타고있는 tensorflow에 대한 접근 과정에 필요한 정보들을 요약한다.
tensorflow를 편하게 사용하기 위해서 만들어진(wrapped) skflow를 통해서 tensorflow를 다루는 간략한 예제와 기존의 유명한 학습 기법과 성능을 비교해 본다.
1. skflow 소개 및 DNN 사용 예제
skflow는 파이썬의 대표적인 기계학습 라이브러리인 scikit-learn과 구글에서 공개한 딥러닝 도구 tensorflow를 조합한 라이브러리다.
익숙한 scikit-learn의 인터페이스를 통해서 tensorflow를 참조 모델 셋으로 사용하기 때문에, 기존 기계학습 사용자들이 편하게 접근 할 수 있게 도와준다.
사용 방법:
# 텐서 플로우 DNN 설정
clf = skflow.TensorFlowDNNClassifier(hidden_units=h, n_classes=n)
# 학습 데이터 입력
clf.fit(mf.train_data, mf.train_target, logdir='log_dnn')
# 실험 데이터의 실제 결과와 모델의 예측치와 비교
score = metrics.accuracy_score(mf.test_target, clf.predict(mf.test_data))
print("Accuracy: %f with TF_DDN" % score)
# 모니터링 보기
command$ tensorboard --logdir=log_dnn/2016-03-18_18-15-08
# tensorboard에서 Loss 추이 화면 (MNIST 학습 과정)
**
hidden_units은 복수개의 은닉 계층을 뜻한다.
예를 들면, [10,20]의 입력 값은 10개의 unit과 20개의 unit으로 이루어진 2개의 은닉계층을 표현한다. 최적의 값을 위한 은닉계층의 수나 유닛의 수는 실험적인 결과를 통해 유추는 것으로 보인다. (좀 더 학습이 필요한 부분이다.)
tensorflow를 편하게 사용하기 위해서 만들어진(wrapped) skflow를 통해서 tensorflow를 다루는 간략한 예제와 기존의 유명한 학습 기법과 성능을 비교해 본다.
1. skflow 소개 및 DNN 사용 예제
skflow는 파이썬의 대표적인 기계학습 라이브러리인 scikit-learn과 구글에서 공개한 딥러닝 도구 tensorflow를 조합한 라이브러리다.
익숙한 scikit-learn의 인터페이스를 통해서 tensorflow를 참조 모델 셋으로 사용하기 때문에, 기존 기계학습 사용자들이 편하게 접근 할 수 있게 도와준다.
사용 방법:
# 텐서 플로우 DNN 설정
clf = skflow.TensorFlowDNNClassifier(hidden_units=h, n_classes=n)
# 학습 데이터 입력
clf.fit(mf.train_data, mf.train_target, logdir='log_dnn')
# 실험 데이터의 실제 결과와 모델의 예측치와 비교
score = metrics.accuracy_score(mf.test_target, clf.predict(mf.test_data))
print("Accuracy: %f with TF_DDN" % score)
# 모니터링 보기
command$ tensorboard --logdir=log_dnn/2016-03-18_18-15-08
# tensorboard에서 Loss 추이 화면 (MNIST 학습 과정)
**
hidden_units은 복수개의 은닉 계층을 뜻한다.
예를 들면, [10,20]의 입력 값은 10개의 unit과 20개의 unit으로 이루어진 2개의 은닉계층을 표현한다. 최적의 값을 위한 은닉계층의 수나 유닛의 수는 실험적인 결과를 통해 유추는 것으로 보인다. (좀 더 학습이 필요한 부분이다.)
