카테고리 보관물: TensorFlow

TensorFlow 1.3.0 Release

텐서플로 1.3.0 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. 1.4.0 버전부터는 cuDNN 7를 사용해 패키징될 예정입니다. 텐서플로 1.3.0 버전은 이미 PyPI에 등록되어 있어 pip 명령으로 간단하게 설치할 수 있습니다.(tensorflow-gpu에는 macOS 버전이 없습니다)

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu

Andrew Ng launch New DL Courses!

바이두에서 나온 앤드류 응이 세가지 프로젝트를 진행한다고 합니다. 그 중에 먼저 첫 번째로 선을 보이는 것deeplearning.ai로 예고했던 코세라의 Deep Learning Specialization 코스입니다! 파이썬과 텐서플로를 사용하는 이 커리큘럼은 총 다섯개의 코스로 이루어져 있습니다.

  1. Neural Networks and Deep Learning
  2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
  3. Structuring Machine Learning Projects
  4. Convolutional Neural Networks
  5. Sequence Models

작년부터 시작한 코세라의 구독 모델이 적용되는 specialization으로 월 $49를 내고 빠른 속도(!)로 주파를 하면 Certificate를 받을 수 있습니다. 돈을 내지 않고 청강을 할 수도 있는데요. 각 코스의 링크로 직접 들어가서 Enroll을 하면 팝업 화면 아래 조그맣게 쓰인 Audit 링크를 누르시면 됩니다. 자세히는 아직 모르지만 전체 커리큘럼의 수준은 intermediate 정도로 보입니다.

deeplearningai

눈에 익은 책상과 모니터네요! 🙂

TensorFlow 1.3.0 RC2 Release

텐서플로 1.3.0 RC2 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. 1.3.0 정식 릴리즈가 가까워진 것 같습니다. RC2 버전은 PyPI에 등록되어 있어 pip 명령에서 --pre 옵션으로 간단하게 설치할 수 있습니다.(tensorflow-gpu에는 macOS 버전이 없습니다)

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

TensorFlow 1.3.0 RC1 Release

텐서플로 1.3.0 RC1 버전이 릴리즈되었습니다. 1.3.0 버전에 대한 자세한 내용은 릴리즈 노트를 참고해 주세요. RC1 버전은 아직 PyPI에 등록되어 있지 않아 직접 wheel 파일을 다운받아 설치해야 합니다. 운영체제와 파이썬 버전별 파일은 아래를 참고해 주세요.

TensorFlow 1.3.0 RC0 Release

텐서플로 1.3 RC0 버전이 릴리즈되었습니다. 많은 기능이 추가되고 개선되었습니다. 자세한 내용은 릴리즈 노트를 참고해 주세요. 텐서플로 RC 버전은 pip 명령에서 --pre 옵션으로 설치할 수 있습니다.

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

얼마전부터 아나콘다에도 텐서플로 패키지가 포함되었습니다. 아직 최신 버전은 아니지만 간격이 점차 좁아질 거라고 기대해 봅니다.

$ conda search tensorflow
Fetching package metadata .........
tensorflow    1.1.0    np112py36_0    defaults
              1.1.0    np112py27_0    defaults
              1.1.0    np112py35_0    defaults
$ conda search tensorflow-gpu
Fetching package metadata .........
tensorflow-gpu    1.1.0    np112py36_0    defaults
                  1.1.0    np112py27_0    defaults
                  1.1.0    np112py35_0    defaults
$ conda install tensorflow

TensorFlow 1.2.1 Release

텐서플로 1.2.1 버전이 릴리즈되었습니다. 이번 릴리즈는 주로 버그 수정입니다. 특히 드롭아웃 비율을 텐서로 지정할 때 생기는 버그를 수정하였습니다.

1.2.1 버전도 pip 명령으로 간단하게 설치할 수 있습니다.

$ pip install --upgrade tensorflow
$ pip install --upgrade tensorflow-gpu
  • macOS: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Linux: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Windows: Python 3.5, 3.6

TensorFlow 1.2.0 Release

텐서플로우 1.2.0 버전이 릴리즈되었습니다. 1.2.0 버전부터 윈도우즈에서 파이썬 3.6을 지원하고 conv3d_transpose API 가 추가되는 등 여러 변화가 있습니다. RNNCell과 관련된 변경사항은 이전 포스트를 참고해 주세요. 1.2.0 버전에 인텔의 MKL 라이브러리가 텐서플로우에 추가되었다는 소식입니다(일명 MKL-DNN). GPU 없이 CPU만으로 쓰는 경우 어느 정도 성능 향상이 될 것 같습니다. 1.2.0 버전 이후에는 cuDNN 6.0이 기본으로 채택됩니다.

그 외 자세한 내용은 텐서플로우의 릴리즈 노트를 참고해 주세요. 1.2.0 버전이 이미 PyPI에 등록되어 있기 때문에 pip 명령으로 간단하게 설치할 수 있습니다.

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu
  • macOS: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Linux: Python 2.7, 3.3, 3.4, 3.5, 3.6
  • Windows: Python 3.5, 3.6

Urban Sound Classification Update

(업데이트)아래 훈련 세트와 테스트 세트를 사용하여 간단한 모델을 만들어 보았습니다. 훈련 데이터에서 62.8%(주피터 노트북 참고), 테스트 세트에서 56.5%(주피터 노트북 참고) 정확도를 얻었습니다. 나중에라도 구글 클라우드를 쓸 기회가 있으면 파라미터 탐색 범위를 늘려서 한번 시도해 보겠습니다. ^^

(업데이트)이 글에서 작업한 훈련 세트와 테스트 세트의 분류가 잘못되었습니다. 테스트 세트와 훈련 세트가 같은 소리의 샘플을 가지고 있습니다(문제점을 찾아주신 최근우님께 감사드립니다). 예를 들면 한 강아지로 부터 몇 개의 소리가 녹음되어 있습니다. 이런 경우에 이 소리가 훈련 세트와 테스트 세트로 나뉘어져 들어가면 정확한 추정이 되지 못합니다. 새로운 데이터는 완전히 새로운 강아지의 목소리일 것이기 때문입니다. 이와 비슷한 경우의 예로는 의료 영상 같은 분야입니다. 한 환자의 영상이 테스트 세트에 섞여 들어가면 과도하게 낙관적인 추정을 얻게됩니다. UrbanSound8K의 사운드 추출 데이터를 레이블이 섞어지 않도록 scikit-learn의 GroupShuffleSplit를 사용하여 훈련 세트와 테스트 세트로 나누어 깃허브에 올려 놓았습니다. 이 데이터셋으로 도전해 보도록 하겠습니다. 🙂

UrbanSound8K 데이터를 이용해 10가지의 소리를 분류하는 Urban Sound Classification의 코드를 텐서플로우 1.1 버전에 맞추어 업데이트했습니다. 이전과 달라진 점은 레이어의 노드를 증가시켰고, 텐서플로우의 매트릭스 연산자를 사용하지 않고 조금 더 상위 API인 dense, softmax_cross_entropy_with_logits 등을 사용한 것과 기본적인 경사 하강법 말고 0.0001의 학습속도로 Adam 옵티마이저를 사용한 점 등입니다. 여러번 하이퍼파라미터 튜닝을 하기 위해 특성 데이터를 훈련용과 테스트용으로 나누어 놓고 작업을 시작했습니다.

urban_sound_train

훈련은 Urban Sound Classification-Train.ipynb 파일에, 테스트는 Urban Sound Classification-Test.ipynb 에 있습니다. 학습 결과는 훈련 데이터에서 92.6%, 테스트 데이터에서 92.8% 입니다. 결과를 보아서는 확실히 언더피팅 상태로 보입니다. 훈련 데이터에서 조금 더 성능을 끌어올릴 여지가 있을 것 같지만 다른 일들 때문에 여기서 일단 멈추었습니다. 나누어진 훈련 데이터와 학습된 파라미터는 깃허브에서 볼 수 있습니다.

TensorFlow 1.2.0 RC2 Release

텐서플로우 1.2.0 RC2 버전이 릴리즈 되었습니다. RC2에서부터 윈도우즈 파이썬 3.6 버전을 지원합니다. 이제 윈도우에서 아나콘다를 설치하고 따로 파이썬 3.5 환경을 만들었던 번거로움이 사라졌습니다. 또 1.2 버전이 cuDNN 5.1을 사용하는 마지막 버전이 되었습니다. 1.3 버전부터는 cuDNN 6.0을 기준으로 wheel을 생성합니다. 하지만 텐서플로우 소스 코드는 cuDNN 5.1과의 호환성을 유지합니다. cuDNN5.1을 반드시 사용해야 하는 경우라면 직접 빌드를 해야할 것 같습니다.

이번 버전에서 바뀐 자세한 내용은 이전 포스트와 릴리즈 노트를 참고하세요. 1.2.0 RC2 버전이 이미 PyPI에 등록되어 있기 때문에 pip 명령에서 --pre 옵션으로 간단하게 설치할 수 있습니다.

$ pip install --upgrade --pre tensorflow

$ pip install --upgrade --pre tensorflow-gpu

TensorFlow 1.2.0 RC1 Release

텐서플로우 1.2.0 RC1이 릴리즈되었습니다. 1.0 버전 이후에도 여전히 빠른 속도로 버전 업그레이드가 되고 있네요. 이번 버전에서 바뀐 자세한 내용은 이전 포스트와 릴리즈 노트를 참고하세요.

1.2.0 RC1 버전이 이미 PyPI에 등록되어 있기 때문에 pip 명령으로 간단하게 설치할 수 있습니다. 텐서플로우 바이너리는 64bit 용이며, 윈도우즈에서는 파이썬 3.5 버전만을 지원합니다.

$ pip install --upgrade tensorflow

$ pip install --upgrade tensorflow-gpu