レイヤ・ルーチン操作コマンド¶
SoftNeuroのレイヤ・ルーチンに対する操作を行うためのコマンドの操作方法を解説します。
GPUなどを含めたマルチバックエンド環境において、利用可能なデバイス、レイヤ、ルーチンの確認を行うことができます。
plugins¶
追加ルーチンを利用するためのプラグインの管理を行います。 インストール済みのプラグインの一覧表示、プラグインのインストール・アンインストール、利用可能なプラグインの一覧の表示などを行うことができます。
使い方
softneuro plugins [--help] [-i PLUGIN] [-u PLUGIN] [-s]
オプション
オプション | 効果 |
---|---|
-h, --help | 本コマンドのヘルプを表示します。 |
-i, --install PLUGIN | PLUGIN で指定したプラグインをインストールします。 auto と指定すると適切なものを全て自動的にインストールします。 |
-u, --uninstall PLUGIN | PLUGIN で指定したプラグインをアンインストールします。 all と指定するとインストール済みの全てのプラグインをアンインストールします。 |
-s, --status | 利用可能なプラグインとそのインストール状況を一覧表示します。インストール状況の凡例は下記の表のとおりです。 |
シンボル | 状態 |
---|---|
I |
正常にインストール済みな状態 |
C |
インストール済みだが両立できない他のプラグインが存在する状態 |
? |
インストール済みだが正常に実行できない可能性がある状態 |
なし | インストールされていない状態 |
使用例
オプション無しで実行するとインストール済みのプラグインが確認できます。
$ softneuro plugins
plugin_avx2 AVX routines.
plugin_opencl OpenCL routines.
次に他に利用可能なプラグインがないか確認します。下の例では、plugin_cuda
が利用可能です。
$ softneuro plugins -s
I plugin_avx2
I plugin_opencl
plugin_cuda
-i
オプションを指定して、plugin_cuda
プラグインを追加でインストールします。
$ softneuro plugin -i plugin_cuda
`plugin_cuda` is installed.
layers¶
利用可能なレイヤーの一覧を表示します。
使い方
usage: softneuro layers [--help]
オプション
オプション | 効果 |
---|---|
-h, --help | 本コマンドのヘルプを表示します。 |
使用例
$ softneuro layers
adaptive_unit_scale
add
ave_pool2
batch_norm
box_filter
:
lparams¶
レイヤーパラメータとそのデフォルト値の一覧を表示します。
使い方
usage: softneuro lparams [--help] LAYER
引数
引数名 | 内容 |
---|---|
LAYER | パラメータの一覧を表示するレイヤー名を指定します。 |
オプション
オプション | 効果 |
---|---|
-h, --help | 本コマンドのヘルプを表示します。 |
使用例
$ softneuro lparams conv2
{'padding': 'valid', 'pads': 0, 'dilations': 1, 'strides': 1, 'has_relu': false, 'relu_max_value': -1.0}
routines¶
実行環境で実行可能なスキーマを表示します。 実行環境で実行可能なルーチンを表示します。
使い方
usage: softneuro routines [--help] LAYER
引数
引数名 | 内容 |
---|---|
LAYER | 実行可能なルーチンの一覧を表示するレイヤー名を指定します。指定しない場合、スキーマを表示します。 |
オプション
オプション | 効果 |
---|---|
--help | 本コマンドのヘルプを表示します。 |
使用例
$ softneuro routines conv2
cpu/naive
cpu/naive/wg2
cpu:chf/naive
cpu:qint8:pt_sym/naive
cpu:qint8:pt_asym/naive
cpu:qint8:pc_sym/naive
cpu:qint8:pc_asym/naive
cpu:qint8/naive
cpu/wg2
:
rparams¶
ルーチンパラメータとそのデフォルト値の一覧(レシピ)を表示します。
使い方
usage: softneuro rparams [--help] LAYER ROUTINE
引数
引数名 | 内容 |
---|---|
LAYER | パラメータの一覧を表示するルーチンを持つレイヤーを指定します。 |
ROUTINE | パラメータの一覧を表示するルーチンを指定します。 |
オプション
オプション | 効果 |
---|---|
-h, --help | 本コマンドのヘルプを表示します。 |
使用例
$ softneuro rparams conv2 cpu/wg3x3_nxn_avx
{'cache': [8192, 16384, 32768], 'task_unit': [4, 8, 16], 'tile_size': [2, 4, 6, 8]}
test¶
指定したレイヤーの動作テストを実行します。
使い方
usage: softneuro test [-o OUTPUT]... [--weight WNAME TENSOR]...[--thread NTHREADS]
[--affinity MASK[@IDS]]
[--params PARAMS][--routine ROUTINE] [--rparams RPARAMS]
[--loop NLOOPS] [--help]
LAYER [INPUT]...
引数
引数名 | 内容 |
---|---|
LAYER | 動作テストを実行するレイヤ。 |
INPUT | 入力となるnumpyファイルまたはtensor specificationです。未指定時は[-1, 1]の乱数が入力となります。 |
オプション
オプション | 効果 |
---|---|
-o OUTPUT, --output OUTPUT | 結果をnumpyファイルとして出力する際に指定するファイル名です。 |
--weight WNAME TENSOR | WNAME で指定したウエイトにTENSOR を設定して実行します。テンソルはnumpyファイルまたはtensor specificationで指定します。未指定時は[-1, 1]の乱数が設定されます。 |
--thread NTHREADS | 処理を実行するスレッド数を設定できます。 指定のない場合はCPUのコア数と同じ数になります。 |
--affinity MASK[@THREAD_INDICES] | MASK で指定したアフィニティマスクをTHREAD_INDICES で指定したスレッドに適用します。THREAD_INDICES が指定されていない場合は全スレッドにアフィニティマスクが適用されます。THREAD_INDICES の書式についてはsoftneuro help thread_indices で表示されるヘルプを参照してください。 |
--params PARAMS | レイヤパラメータをJSONで指定します。パラメータはlparams コマンドで確認できます。 |
-r ROUTINE, --routine ROUTINE | ルーチンを設定して実行します。 設定しない場合はcpu となります。実行可能なルーチンはroutines コマンドで確認できます。 |
--rparams RPARAMS | ルーチンパラメータをJSONで指定します。指定可能なパラメータはrparams コマンドで確認できます。 |
-l NLOOPS, --loop NLOOPS | 指定した回数だけ動作テストを繰り返します。 |
-h, --help | 本コマンドのヘルプを表示します。 |
使用例
$ softneuro test -o out.npy --weight kernel "shape=3x3x128x128" --weight bias "shape=128" --params '{"padding": "valid", "stride": 2}' --routine "cpu/fast" conv2 "shape=1x64x64x128"
---------------------------------
Statistics
---------------------------------
FUNCTION AVE(usec) MIN(usec) MAX(usec) #CALL
Dnn_forward() 2,348 2,348 2,348 1
Used memory: 9,924,608 Bytes