LoginSignup
3
3

More than 3 years have passed since last update.

Google Colab Proでの開発に慣れないので,FloydHubに移行した話

Last updated at Posted at 2021-03-28

Google Colab Proを登録して色々と遊んではみたが,ipynb形式に慣れないのと,セッションの問題などが面倒でFloydHubに移行することにした.

FloydHubとは

データサイエンティスト用の廉価なクラウドサービス + ホスティングサービス.無料版もあるが学習時間の時間制限などの制約が厳しい.有料版でも9ドル/月と安いため,無料版を使ってみて良かったら有料版に移行したい.無料版(Beginner)と有料版(Data Scientist)の細かい差異(の一部分)は以下のとおり.

floyd.PNG

よいところ

  • 環境構築の手間がかからない
  • ローカルで書いたコードをCLIでサクッとGPU環境に流せる

登録

普通にSign Upすればよいが,無料版でもクレジットカードの入力が求められた.
何もしていしないと無料版での登録となり,登録後に移動するページで"Upgrade your plan"に従うと有料版に移行できる.

利用法

実際にコードを動かしてみる.基本的には,Quick Startに沿えばよい.

手順:
1). floyd-cliをローカルマシンにインストール
- pip install -U floyd-cli
- 私の場合,Python 3.6にしないとうまくいかなかった
2). floyd login でログイン
- PowerShell等でこのコマンドを打つと,ブラウザが起動しログインできる
3). プロジェクトの作成
ブラウザでFloydHubに入り,プロジェクト("test"と命名)を作成する.ほぼGitHub.
floyd_project.PNG

4). "quick-start repository"を動かしてみる

サンプルリポジトリ(CNNによるMNISTの分類)を落とす:

$ git clone https://github.com/floydhub/quick-start.git
Cloning into 'quick-start'...
...
$ cd quick-start
$ ls
eval.py  LICENSE  mnist_cnn.ipynb  README.md  train_and_eval.py  train.py

先ほど作ったプロジェクトの初期化:

$ floyd init test

Project "test" initialized in current directory

実行:

floyd run --gpu --env tensorflow-1.3 "python train_and_eval.py"

ジョブをリアルタイムで確認:

floyd logs <ジョブ名> -f

出力:

2021-03-28 09:04:13,348 INFO - Iter 192000, Minibatch Loss= 331.912109, Training Accuracy= 0.96094
2021-03-28 09:04:13,509 INFO - Iter 193280, Minibatch Loss= 83.669022, Training Accuracy= 0.98438
2021-03-28 09:04:13,671 INFO - Iter 194560, Minibatch Loss= 320.909058, Training Accuracy= 0.98438
2021-03-28 09:04:13,832 INFO - Iter 195840, Minibatch Loss= 234.908890, Training Accuracy= 0.96875
2021-03-28 09:04:13,993 INFO - Iter 197120, Minibatch Loss= 116.310966, Training Accuracy= 0.96875
2021-03-28 09:04:14,154 INFO - Iter 198400, Minibatch Loss= 54.050278, Training Accuracy= 0.97656
2021-03-28 09:04:14,315 INFO - Iter 199680, Minibatch Loss= 70.160957, Training Accuracy= 0.96094
2021-03-28 09:04:14,346 INFO - Optimization Finished!
2021-03-28 09:04:14,384 INFO - Testing Accuracy: 0.96875
2021-03-28 09:04:15,150 INFO - 
################################################################################

2021-03-28 09:04:15,150 INFO - Waiting for container to complete...
2021-03-28 09:04:15,435 INFO - Persisting outputs...
2021-03-28 09:04:15,787 INFO - Creating data module for output...
2021-03-28 09:04:15,830 INFO - Data module created for output.
2021-03-28 09:04:15,831 INFO - Persisting data in home...
2021-03-28 09:04:16,085 INFO - Home data persisted.
2021-03-28 09:04:16,086 INFO - [success] Finished execution

簡単.結果はブラウザ上でも確認できる.

各種フレームワークへの対応

上のコマンドfloyd run --gpu --env tensorflow-1.3 "python train_and_eval.py" にある--envオプションには,TensorFlowやPyTorch等のフレームワークを指定することができ,バージョンもほぼ揃っているため自前で環境構築をする必要はない.ここが一番うれしい

スマホから学習進捗の確認

ブラウザベースなのでスマホからもログを確認することができる.
CA919EEA-51B5-43C4-A3F9-49729937043C.png


他にも,JupyterLabをベースにしたIDEをブラウザ上で使えたりするので,ご興味がある方はCore Conceptsを参照していただきたい.

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3