태그 보관물: skflow

텐서플로우(TensorFlow) 기반 머신러닝 라이브러리 – Keras, TFLearn

일전에 구글에서 만든 텐서플로우의 래퍼 라이브러인 Pretty Tensorskflow를 소개해 드린 적이 있습니다. 그 동안 Pretty Tensor 는 0.6 버전이 되었고 skflow 는 0.1 버전이 릴리즈 되었습니다.

이번에는 구글이 아닌 서드파티에서 만든 텐서플로우 기반의 머신러닝 라이브러리 두개를 소개해 드립니다. Keras는 Theano를 기반으로 하는 머신러닝 라이브러리 였습니다. 최근 0.3 버전부터는 텐서플로우까지 지원하기 시작함으로써 아마 두 라이브러리를 동시에 지원하는 패키지로는 최초가 아닐까 생각됩니다.

TFLearn은 불과 며칠전에 공개된 라이브러리로서 아직 완성도가 검증되지는 않았습니다. 다만 개발자 혼자서 매우 많은 작업을 진행한 것이 놀랍습니다. TFLearn 를 설치하려면 깃허브에서 직접 설치하시면 됩니다.

$ pip install git+https://github.com/tflearn/tflearn.git

Keras와 TFLearn 모두 MIT 라이센스 입니다.

skflow: scikit-learn 스타일의 TensorFlow 인터페이스

구글에서 TensorFlow 를 오픈소스로 공개하면서 Python API 와 C/C++ API 를 같이 제공했습니다. 하지만 문서화 등을 고려하면 TensorFlow를 사용할 때에는 Python 이 주력 언어로 보입니다. 구글은 Python API 에 한 걸음 더 나아가 이미 유명한 scikit-learn 패키지와 유사한 인터페이스로 TensorFlow 를 사용할 수 있는 skflow 를 공개했습니다.

https://github.com/google/skflow

scikit-learn 의 fit/predict 방식을 사용했던 개발자들은 좀 더 손쉽게 TensorFlow 를 시작할 수 있을 것 같습니다. skflow 를 설치하는 방식은 TensorFlow 와 마찬가지로 pip 에서 git 레파지토리를 지정해서 가능합니다.

$ pip install git+git://github.com/google/skflow.git

skflow 와 TensorFlow 를 활용한 튜토리얼도 있는데요. 시간이 되면 번역을 하여 공유하도록 하겠습니다. (추가: 번역된 글입니다.)

Introduction to Scikit Flow and why you want to start learning TensorFlow

TensorFlow 를 이용한 생태계가 얼마나 활성화 될 지 기대가 됩니다.

[update] 텐서플로우 0.6 이 릴리즈 되면서 skflow 를 import 하면 아래와 같은 에러가 발생합니다.

In [1]: import skflow
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-1-cb8af396def9> in <module>()
----> 1 import skflow
...
 23 import tensorflow as tf
 24
---> 25 linear = tf.nn.linear

AttributeError: 'module' object has no attribute 'linear'

이는 linear 함수가 tensorflow.models.rnn 아래에서 tensorflow.python.ops.rnn_cell 밑으로 이동했기 때문입니다. 이 문제를 해결하기 위해서는 업데이트된 skflow 를 재설치 해 주시면 됩니다.

$ pip install --upgrade git+git://github.com/google/skflow.git

재설치하더라도 skflow 의 버전은 0.0.1 로 변하지 않습니다.

(추가) skflow 0.1 버전이 릴리즈 되었습니다.