FloydHub
1. floyd-cli install
1 | pip3 install floyd-cli | cs |
나는 Mac OS X에 Virtualenv를 이용해서 Python3.6버전으로 환경을 구성해서 사용하고 있다. 가상환경에서 파이썬 개발환경을 구성한 분들은 해당 가상환경을 activated 하고 설치해야함.
2. FloydHub 가입 후 Project 생성
나중에 작업을 수행하면 jobs목록에 수행한 작업 목록이 뜨게됨.
프로젝트 생성이 완료 되었으면
로컬에 my-dl-project 폴더 생성하고 해당 폴더로 이동해서 아래의 명령어를 실행
1 | floyd init pleasure082/my-dl-project | cs |
그리고 파이썬 코드 파일(cifar10.py)을 해당 폴더에 옮겨논 다음 아래 명령어를 실행하여 Job을 할당하고 실행시킬 수 있다.
그리고 작업이 진행되며 나오는 콘솔창과 텐서보드는 job에 들어가면 볼 수 있음.
1 | floyd run --gpu --env tensorflow-1.5 --tensorboard 'python cifar10.py' | cs |
옵션 설명
--gpu : gpu를 사용해서 학습을 진행
--env tensorflow-1.5 : 작업 환경을 tensorflow 1.5버전으로 학습을 진행
--tensorboard : tensorboard를 이용해서 학습 과정을 시각화
-------------------------------------------------------------------------------------------------------------------
내용 추가!!(2018. 05. 13)
Dataset을 생성하고 Data를 업로드하는 것을 빠트려서 추가합니다.
Project를 생성하고 job을 생성해서 학습을 진행할 때 읽어오는 Data는 DataSet의 추가하여 업로드해서 사용해야 합니다.
Project를 생성한 것처럼 Dataset을 추가하고 마찬가지로 Floyd-CLI를 이용하여 Upload를 진행하면 됩니다.
job을 할당할 때 아래의 옵션도 추가합니다.
--data pleasure082/datasets/cifar10-data/1:data
floyd run --gpu --env tensorflow-1.5 --data pleasure082/datasets/cifar10-data/1:data --tensorboard 'python train.py'
이렇게 하면 할당된 job에 들어가서 import된 Dataset을 확인할 수 있습니다.
-------------------------------------------------------------------------------------------------------------------
저는 Tesla K80 Standard GPU를 비용을 지불하고 10시간 결제하였습니다. 10시간에 12달러 이므로 참고하시길 바랍니다.
우측 상단 프로필 화살표 - Usage - GPU 항목의 get more Hour를 클릭하면 원하는 시간만큼 구매할 수 있고 해외 결제가 가능한 카드를 등록하고 사용하면 된다.(결제 할 때 자동으로 갱신 안되게끔 주의!!)
그리고 내가 작성한 예제코드는 tensorflow.python.keras에 있는 cifar10 load_data.py를 import해야 해서 tensorflow 1.5버전으로 작업환경을 구성하였음.
from tensorflow.python.keras._impl.keras.datasets.cifar10 import load_data
옵션으로 tensorboard를 주게되면 자신이 올린 파이썬 코드에 텐서보드 Summary를 해놓았다면 해당 job에 들어가서 tensorboard 링크를 눌러 실행시킬 수 있음.
코드는 github에 올려놓았으니 참고하시길 바랍니다.
그리고 학습이 완료된 후 output(checkpoint(.ckpt), GraphFile(.pb), tensorboard event file 등등)을 확인하기 위해서는 반드시 /output 하위 경로로 저장되게 코드를 수정해줘야 한다.
그래야지 다음과 같이 학습이 끝난 후 output에서 해당 결과를 확인가능함
output은 다운로드 받을 수 있으며 CLI탭에 들어가서 로컬에서 명령어로 쉽게 다운로드 가능하다. :)
지금까지는 FloydHub를 이용하여 기존의 예제 코드에 조금 수정을한 CIFAR10를 학습해보았다. 다음은 이 모델을 안드로이드에서 TensorFlow Lite를 사용하여 run해보려고 한다.
'ML_DL' 카테고리의 다른 글
학습된 모델을 TensorFlow Lite 모델(tflite)로 변환하여 Android에서 Object Classification 해보기 (3) | 2018.04.09 |
---|