CSLAIER is Artificial Intelligence Entangled RealWorld
CSLAIER version 0.7.0
Browser based GUI deep learning tool.
CSLAIER is tested on Ubuntu 14.04. We recommend them to use CSLAIER, though it may run on other systems as well.
- Chrome
- Safari
- Firefox
Minimum requirment:
- Python 2.7
- opencv
- hdf5
- SQLite3
- nkf
- matplotlib
- Other dependenceis, see requirements.txt
Requirements for some features:
- NVIDIA CUDA Technology GPU and drivers / CUDA 7.5
- TensorFlow 0.11.0 https://www.tensorflow.org/
- 0.12 is not supported currently
- Edit
cslaier.cfg
to set paths for saving files.- Begin with
/
stands for abosolute path. - Begin without
/
or begin with./
stands for absolute path from CSLAIER's root directory. - Parameters are below
- Begin with
Parameter | Description |
---|---|
HOST | name or IP address of your host |
PORT | Port number |
DEBUG | Debug flag (True or False) |
UPLOADED_FILE | Path for uploaded files will save. |
UPLOADED_RAW_FILE | Path for uploaded zip files will save. |
INSPECTION_TEMP | Path for uploaded images for inspection will save. |
PREPARED_DATA | Path for preprocessed data for train will save. |
TRAINED_DATA | Path for trained data will save. |
DATABASE_PATH | Path of cslaier.db |
LOG_DIR | Path for log file |
- CSLAIER requires these libralies. Install these first.
- opencv
- hdf5
- matplotlib
Using Mac's default python will fail to run pip install -r requirements.txt
.
You have to install Python 2.7.11 or higher by using Homebrew or something.
Use Homebrew to intall like instructions below.
$ brew tap homebrew/science
$ brew tap homebrew/python
$ brew install opencv hdf5 nkf scipy
$ brew install matplotlib
On Linux system, use package manager to install. Instructions below is an example on Ubuntu14.04.
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo apt-get install libhdf5-dev
$ sudo apt-get install python-opencv
$ sudo apt-get install sqlite3
$ sudo apt-get install python-matplotlib
$ sudo apt-get install nkf
- Try command below on root directory of CSLAIER.
$ ./setup.sh # setting up database
$ pip install -r requirements.txt # install python dependenceis
$ ./run.sh # run server
- Access
http://localhost:8080
on your browser. If you have changed hostname and port oncslaier.cfg
, use that one.
- Make backup
cslaier.cfg
andcslaier.db
. - Get newest code by
git pull
or something. - Restore
cslaier.cfg
andcslaier.db
from backup. - Follow the instructions below as required.
- Move to CSLAIER's directory.
- Run
$ ./run.sh
. - Access
http://localhost:8080
by web browser.
- Upload dataset from '+new' button on Dataset section on top page.
- Dataset is a zip file which contains classifeid images by directory like Caltech 101 dataset.
- Make model from '+new' button on Models section on top page.
- Select network template from list.
- Edit it, if you want.
- Press 'Create' button. Then model is created and move to model detail page.
- Select created Model from top page.
- Press 'start train' button.
- Fill in forms and start train.
- Move to 'Model' page.
- Chose 'Epoch' which you want to use for inspection.
- Press 'inspect' button.
- Select image(.jpg) for inspection.
- Press 'Submit'. Then you will see the result of inspection.
- Train result graph's epoch is not correctly shown.
- MIT License
ブラウザベースのGUI深層学習ツール
CSLAIERはUbuntu14.04でテストしています。
- Chrome
- Safari
- Firefox
Minimum requirment:
- Python 2.7
- opencv
- hdf5
- SQLite3
- nkf
- matplotlib
- その他の依存ライブラリについては requirements.txt をご参照ください。
Requirements for some features:
- NVIDIA CUDA Technology GPU and drivers / CUDA 7.5
- TensorFlow 0.11.0 https://www.tensorflow.org/
- 0.12は現在サポートしておりません
- 下記を
apt-get
などでインストールする- mecab
- libmecab-dev
- mecab-ipadic
- mecab-ipadic-utf8
- python-mecab
- 各種ファイルの保存場所を
cslaier.cfg
に定義します。/
で始まるパスは絶対パスとして処理されます。/
で始まらないパス、./
で始まるパスはCSLAIERのルートディレクトリ直下の相対パスとして処理されます。- 設定ファイルのパラメタの意味は下記の通りです
パラメタ | 説明 |
---|---|
HOST | ホスト名 |
PORT | ポート番号 |
DEBUG | デバグフラグ |
UPLOADED_FILE | アップロードされたデータ・セットの格納場所 |
UPLOADED_RAW_FILE | アップロードされたzipファイルの格納場所 |
INSPECTION_TEMP | inspection用の画像のアップロード先 |
PREPARED_DATA | 学習用の前処理済データの格納場所 |
TRAINED_DATA | 学習済データの格納場所 |
DATABASE_PATH | cslaier.dbの場所 |
LOG_DIR | ログファイルの出力場所 |
- 下記のライブラリをインストールする必要があります。
- opencv
- hdf5
- matplotlib
Homebrewなどを使ってインストールしてください。
MacのデフォルトのPythonだと、この後に行うpipでエラーとなります。HomebrewなどでPythonのバージョンを2.7.11以上にしてください。
下記は一例です。
$ brew install python # インストール後、brewで入れたPythonに必ずPathを通すこと
$ brew tap homebrew/science
$ brew tap homebrew/python
$ brew install opencv hdf5 nkf
$ brew install matplotlib
Linuxの場合はパッケージマネージャーを利用してインストールしてください。 下記はUbuntu14.04の例です。
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo apt-get install libhdf5-dev
$ sudo apt-get install python-opencv
$ sudo apt-get install sqlite3
$ sudo apt-get install python-matplotlib
$ sudo apt-get install nkf
- 下記のコマンドを実行する
$ ./setup.sh # setting up database
$ pip install -r requirements.txt # install python dependenceis
$ ./run.sh # run server
- ブラウザで
http://localhost:8080
にアクセスします。cslaier.cfg
でhostnameとportを変更している場合はそちらを利用してください。
cslaier.cfg
(旧settings.yaml
)とcslaier.db
のバックアップをとってください。git pull
などで新しいソースコードを取得します。cslaier.cfg
とcslaier.db
をバックアップから復元します。- 必要に応じて、以下のアップデート手順を実行します。
- Datasetの作成
- Modelの作成
- Modelの学習
- Modelによる画像の予測結果の取得
- CSLAIERをcloneしてきた場所に移動
./run.sh
を実行- ブラウザで
http://localhost:8080
にアクセスする
- ディレクトリ毎にカテゴリ分けされた画像セットを用意し、zip形式に格納します。
- ディレクトリはCaltech 101のような構造になっている必要があります。
- サブディレクトリ名が画像の予測結果の分類カテゴリーの名前になります。
- トップページのDatasetセクションにある'+new'ボタンを押し、Dataset Nameに任意のDataset名を記入します。 * 'ファイルを選択'ボタンで作成した画像セットをアップロードします。
- トップページのDatasetセクションにアップロードしたDatasetが追加されていれば、無事Datasetの作成は完了です。
- トップページのModelsセクションにある'+new'ボタンを押し、Model新規作成画面に移動します。
- Choose Network Template下のセレクトボックスで、任意のネットワークテンプレートを選択します。
- 必要であればModel名やNetwork名を変更します。
- **に表示されるエディタでModelの編集が可能です。編集しないでも動作します。
- 下段の'Create'ボタンを押すとModelが作成され、Modelの詳細画面に遷移します。
- 左上に表示されている'CSLAIER'ロゴを押すと、トップページに遷移します。
- トップページのModelsセクションに作成したModelが追加されていれば、無事Modelの作成は完了です。
- トップページのModelsセクションから学習に利用するModelを選択し、Modelの詳細画面に移動します。
- 'start train'ボタンを押し、使用するDataset、学習させるEpock(世代)の数、使用するGPUのIDを選択します。
- 'Start'ボタンで学習が開始され、Modelのステータスが'In Progress'に切り替わります。
- Modelのステータスが`In Progress'から'Trained'に切り替われば、無事Modelの学習は完了です。
- 注:使用するDataset、学習させるEpoch(世代)の数、使用するGPUの種類と数によって学習にかかる時間は大きく変化します。
- トップページのModelsセクションから学習済みModel('Trained'となっているModel)を選択し、Modelの詳細画面に移動します。
- Epock下の入力ボックスで予測に利用するEpoch(世代)を指定します。
- 'inspect'ボタンを押します。
- 予測させたい画像を選択します。
- 'Submit'ボタンを押すと、予測結果が表示されます。
#### 画像の追加と削除
- トップページのDatasetセクションから編集するDatasetを選択して、Datasetの詳細画面に移動します。
- Datasetの詳細画面内で編集するカテゴリー選択して、カテゴリーの詳細画面に移動します。
- 画像を追加する場合: カテゴリーの詳細画面内の'+New'ボタンを押し、'ファイルを選択'ボタンで追加したい画像をアップロードします。
- 画像を削除する場合: カテゴリーの詳細画面内にある削除する画像をクリックして、'OK'ボタンを押します。
#### カテゴリーの追加と削除
- トップページのDatasetセクションから編集するDatasetを選択して、Datasetの詳細画面に移動します。
- カテゴリーを追加する場合: Datasetの詳細画面内の'+New'ボタンを押し、カテゴリー名を指定してカテゴリーを作成します。
- カテゴリーを削除する場合: 削除するカテゴリー選択して、カテゴリーの詳細画面に移動します。'Delete Category'ボタンを押して、'OK'ボタンを押します。
#### Datasetの削除
- トップページのDatasetセクションから編集するDatasetを選択して、Datasetの詳細画面に移動します。
- 'Delete Dataset'ボタンを押して、'OK'ボタンを押します。
#### Datasetのディレクトリを直接編集する
- Datasetのディレクトリの中身は直接編集することが可能です。ただしディレクトリ自体のパスは変更しないでください。
#### Modelの編集
- トップページのModelsセクションから編集したいModelを選択し、Modelの詳細画面に移動します。
- 'Network'タブを押し、表示されるエディタからModelを編集します。
- 'Create'ボタンを押して、Model名やNetwork名を指定し、編集を終了します。
- 注:編集したModelは別のModelとして新規作成されます。
#### Modelの削除
- トップページのModelsセクションから削除したいModelを選択し、Modelの詳細画面に移動します。
- 'Delete'ボタンを押すと選択されたModelが削除されます。
- 注: 学習済のモデルも一緒に削除されます。
Modelの詳細画面内の'Result'タブを押すと学習の経過グラフが表示され、学習の経過を確認することができます。 学習中のModel('In Progress'となっているModel)の場合は経過グラフが随時更新されていきます。
名前 | 線分の色 | 意味 |
---|---|---|
loss | 青 | 誤差 |
accuracy | オレンジ | 正確性 |
loss(val) | 緑 | 学習中の誤差 |
accuracy(val) | 赤 | 学習中の正確性 |
横軸はEpoch数です。
Modelの詳細画面内の'Download Trained Files'ボタンを押下すると、学習済みModel、Label(カテゴリの一覧)、Mean File、ネットワークファイルをzip圧縮されたものをダウンロードすることができます。 他のプログラムからの利用方法はサンプルを参照ください。
- cslaier.cfgを編集し、保存場所のパスを変更します。
- サーバーを再起動します。
- cslaier.cfgを編集し、ホストとポートを指定します。
- サーバーを再起動します。
- CSLAIERが動いている以外のマシンでブラウザより、cslaier.cfgに指定したURLにアクセスし、CSLAIERの画面が開いたら成功です。
- Ubuntu14.04、GPU無しでchainerとtensorflowを利用するDockerfileが用意されています。利用するときは
docker build
する必要があります。 - dockerを利用する場合、cslaier.cfgは
docker_config/cslaier.cfg
をコピーして利用してください。ただし、HOST='0.0.0.0'
はそのままにしておく必要があります。
末尾の.
を忘れないように
$ cd (cslaierのルート・ディレクトリ)
$ docker build -t cslaier/ubuntu14_cpu .
$ docker run -d -p 8080:8080 cslaier/ubuntu14_cpu
上記コマンド実行後、ブラウザで http://localhost:8080
にアクセスする
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7803235d494c cslaier/ubuntu14_cpu "/bin/sh -c 'sh -c 'l" 5 seconds ago Up 3 seconds 0.0.0.0:32769->8080/tcp desperate_hawking
# docker ps 出力のCONTAINER IDを指定する
$ docker stop 7803235d494c
- TensorFlowを用いて学習した場合、学習結果のグラフに表示されるepoch数が指定したepochの半分くらいの値になります。
- MIT License