Dockerベースの機械学習環境を構築できるOSSを作った


概要

自分が所属している研究室のメンバーで、機械学習の実験環境をスムーズに作れるOSSを作り、githubで公開した。

kronos

https://github.com/d-hacks/kronos
こちらにドキュメントなどが書いてあるが、ざっくり説明すると、このcliを入れると、機械学習のプロジェクトディレクトリの中にDockerのファイルを良い感じに作ってくれたり、その中で良い感じにjupyter notebookとかjupyter labとかを開いたり、Dockerのイメージの中でスクリプトを実行したりできる。

何が嬉しいの?

特殊なパッケージをいれたい場合は少しDockerの知識が必要になるが、基本的にはDockerの知識いらずでローカル環境とGPU環境で同じコードを動かすことができる。(内部的にはnvidia-dockerを使っている)

$ kronos init 

ってやると、既存のディレクトリ内に dockerディレクトリができる。

$ kronos build

で、dockerディレクトリ内のファイルを読み込んでイメージをビルドし、

$ kronos run experiment.py

で、イメージ内でスクリプトが実行される。--gpuオプションを使うと、gpuモードになって、gpuをdocker経由でアクセスできるようになる。

まだ足りない点

今後は、より簡単にDockerイメージの中で実験を行えるようにしたいので、opencvだったり、強化学習系の実験に必要なライブラリだったりをもっとも楽にいれられるようにしたい。それこそ、Dockerの知識がなくてもできたら最高に嬉しい。

プルリク大歓迎です

どんどん新しいプルリクを投げてくれると嬉しいです。もっとシームレスなDocker環境の構築ができるツールを作っていきたい。。。