Kubeflow とは Kubernetes ベースの本格的な機械学習基盤です。Google に強力に推進されており、GCPにはワンプッシュでデプロイできます。AWSやAzureにも当然設置可能です。
今回は MiniKFの新登場で、普段の開発マシンやオンプレサーバに簡単に本格的な機械学習基盤 Kubeflow をインストールできるようになりました。
準備
必要なもの
- Vagrant
- VirtualBox
Macの場合
Brewを使うと楽勝です。
brew cask install vagrant virtualbox
Virtualboxのインストールが The Installation Failed
のエラーで失敗した場合は、Macの「セキュリティとプライバシ」の設定で、 "Oracle America, Inc." のソフトウェアを許可してください。
Ubuntuの場合
VirtualBoxは apt で入ります。
sudo apt install virtualbox
しかし、vagrant は apt で入るバージョンが古くて virtualbox に対応していないので、ダウンロードしてインストールしましょう。
https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb
MiniKF 起動・アクセス
mkdir -p ~/w/minikf
cd ~/w/minikf
vagrant init arrikto/minikf
vagrant up
最初の up では、VMイメージのダウンロードに20分くらいかかりますが、VMの起動が終わったら次に MiniKFを起動
vagrant ssh
minikf # vagrant 内
minikfコマンドが成功したら、
Kubeflow 画面 http://10.10.10.10:8080
へアクセスできるようになります。
Macの場合
2019/06/06現在、VM内で minikf
コマンドが失敗に終わりました。
An unexpected exception has occured
Line: build/bdist.linux-x86_64/egg/rok_common/cmdutils.py:936
Type: CommandExecutionError
Reason: Command `<ExtCommand `systemctl start data.mount', status=FINISHED (ret: 1), PID=12176, shell=False>' failed: 'Job for data.mount failed. See "systemctl status data.mount" and "journalctl -xe" for details.\n'
The logfile `/home/vagrant/provision.log' may contain more information on this error, including a backtrace.
*** MiniKF provisioning tool terminated. Press Enter to restart, Ctrl-C to exit...
Ubuntuなどオンプレサーバに入れた場合
MacなどからSSHトンネルを接続していきましょう。
サーバ ai.local
でMiniKFを動かしていたら、
ssh -NL 8080:10.10.10.10:8080 ai.local &
open http://localhost:8080
によって Kubeflow 画面にいけます。
URL、パスワード
設定情報は本系ドキュメントで確認しましょう。
GPU
MiniKF does not currently support GPU pass-through, but it is definitely in our immediate plans
GPUはまだサポートされていないのですが、直近の開発プランに含まれているとのこと。
おわりに
以上、本番で Kubeflow の運用を考えていたら、開発時に MiniKF を使って、本番と開発の差分を小さくしておきましょう。
Top comments (0)