チュートリアル
本チュートリアルでは、SoftNeuro SDKのセットアップから実際に推論処理を実行するまでの流れを解説します。
セットアップ
セットアップ(for Linux)
1. ライブラリ・CLIツールのセットアップ
※本節におけるlinux_x64は環境によってはlinux_armv8となります
- 
SDKのトップディレクトリに移動します。 
- 
linux_x64を任意の場所へコピーし、環境変数SOFTNEURO_DIRにその親ディレクトリを追加してください。
- 
環境変数 PATHに${SOFTNEURO_DIR}/linux_x64を追加してください。 bashでは、下記のコマンドを実行します。mkdir ~/.softneuro cp -r linux_x64 ~/.softneuro export SOFTNEURO_DIR=~/.softneuro export PATH=${SOFTNEURO_DIR}/linux_x64:${PATH}
- 
(Ver5.1のみ)Ver5.1の場合は下記の手順でライセンスキーの登録を行います。 - 
(optional)versionの確認をします。Ver5.1の場合は以降の手順を行います。 $ softneuro version SoftNeuro 5.1.0.xxxxxxx
- 
CLIツールで softneuro licenseを実行し、User IDを確認して下さい。$ softneuro license softneuro:Error: No license key. softneuro:Error: User ID: 12345678-ABCDEFGH.
- 
ライセンス発行ページでUser IDを入力し、ライセンスキーを発行して下さい。 
- 
CLIツールで --keyにライセンスキーを渡しsoftneuro licenseを実行して、登録が完了します。$ softneuro license --key 12345678-90123456-ABCDEFGH-IJKLMNOP
 
- 
- 
pluginsコマンドを実行してプラグインをインストールします。 プラグインの個別インストール手順については、CLIツールマニュアルを参照してください。$ softneuro plugins --install auto
2. Pythonモジュールのインストール
pipコマンドで実行環境にあったバージョンのPythonモジュールをインストールして下さい。
Python3.6の環境では以下のようなファイル名のwhlを利用します。
$ pip install whl/softneuro-5.2.0-cp36-cp36m-*.whl
下記はサンプルコードの実行に必要です。
$ pip install scipy opencv-python
セットアップ(for Windows)
1. ライブラリ・CLIツールのセットアップ
- SDKのトップディレクトリに移動します。
- win_x64を任意の場所へコピーし、環境変数- SOFTNEURO_DIRにその親ディレクトリを追加してください。
- 
環境変数 PATHに%SOFTNEURO_DIR%\win_x64を追加してください。 Windowsでは、下記の手順です。- クイック検索に "env" と入力し、"システム環境変数の編集" を選択する。
- "環境変数(N)..." をクリックする。
- 必要な環境変数を設定する。
 
- 
(Ver5.1のみ)Ver5.1の場合は下記の手順でライセンスキーの登録を行います。 - 
(optional)versionの確認をします。Ver5.1の場合は以降の手順を行います。 $ softneuro version SoftNeuro 5.1.0.xxxxxxx
- 
CLIツールで softneuro licenseを実行し、User IDを確認して下さい。$ softneuro license softneuro:Error: No license key. softneuro:Error: User ID: 12345678-ABCDEFGH.
- 
ライセンス発行ページでUser IDを入力し、ライセンスキーを発行して下さい。 
- 
CLIツールで --keyにライセンスキーを渡しsoftneuro licenseを実行して、登録が完了します。$ softneuro license --key 12345678-90123456-ABCDEFGH-IJKLMNOP
 
- 
- 
pluginsコマンドを実行してプラグインをインストールします。 $ softneuro plugins --install autoプラグインの個別インストール手順については、CLIツールマニュアルを参照してください。 
2. Pythonモジュールのインストール
pipコマンドでPythonモジュールをインストールして下さい。
$ pip install whl/softneuro-5.2.0-cp36-cp36m-*.whl
下記はサンプルコードの実行に必要です。
$ pip install scipy opencv-python
CLIツールを利用した推論処理の実行(画像分類)
上記のセットアップ完了後、CLIツールを用いた推論処理の実行が可能となります。
例えばモデルファイルexamples/models/mobilenetv2-7.dnnと画像ファイルexamples/data/classification_sample.jpg を利用した推論処理は、runコマンドを利用して以下のように実行することができます。
$ softneuro run --top 5 examples/models/mobilenetv2-7.dnn examples/data/classification_sample.jpg
---------------------------------
Top 5 Labels
---------------------------------
#   SCORE  LABEL
1  0.9996  goose
2  0.0003  black_swan
3  0.0000  drake
4  0.0000  peacock
5  0.0000  American_coot
---------------------------------
Statistics
---------------------------------
FUNCTION       AVE(us)  MIN(us)  MAX(us)  #RUN
Dnn_load()       9,395    9,395    9,395     1
Dnn_compile()   23,249   23,249   23,249     1
Dnn_forward()    6,774    6,774    6,774     1
Used memory: 40,955,904 Bytes
Pythonからの推論処理の実行(画像分類)
SoftNeuroには、Pythonコードから各種機能を利用するためのAPIが用意されています。  
SoftNeuro SDKにはこのPython APIを利用して画像分類の推論処理を実行するためのPythonコードがサンプルとして同梱されています。
画像分類用の学習済みモデルファイルはSDKに同梱されているexamples/models/mobilenetv2-7.dnnです。
SoftNeuro Model Zooからも同じモデルファイルをダウンロードできます。
サンプルコードを利用した画像分類処理はexamples/python/classificationディレクトリで
以下のようなコマンドを入力することで実行できます。
$ python classification.py ../../models/mobilenetv2-7.dnn ../../data/classification_sample.jpg
[Label Name]                                : [Probability]
 0.goose                                        : 0.9995970129966736
 1.black_swan                                   : 0.000263840367551893
 2.peacock                                      : 3.83547849196475e-05
 3.drake                                        : 3.685235060402192e-05
 4.American_coot                                : 2.5823321266216226e-05
Pythonからの推論処理の実行(物体検出)
SoftNeuro SDKには物体検出の推論処理を実行するためのPythonコードがサンプルとして同梱されています。
物体検出用の学習済みモデルファイルは、SoftNeuro Model Zooからダウンロードしてください。
サンプルコードを利用した物体検出処理はexamples/python/detectionディレクトリで以下のようなコマンドで実行できます。
※検出結果の画像がresult.pngとして出力されます
$ python detection.py yolov4.dnn ../../data/detection_sample.jpg
Inference is done.
result.png is saved.
Pythonからの推論処理の実行(セグメンテーション)
SoftNeuro SDKにはセグメンテーションの推論処理を実行するためのPythonコードがサンプルとして同梱されています。
セグメンテーション用の学習済みモデルファイルは、SoftNeuro Model Zooからダウンロードしてください。
サンプルコードを利用したセグメンテーション処理はexamples/python/segmentationディレクトリで以下のようなコマンドで実行できます。
※セグメンテーション結果の画像がresult.png, blended.pngとして出力されます
$ python segmentation.py duc.dnn ../../data/segmentation_sample.png
Inference is done.
result.png and blended.png are saved.