Developer 向けの情報を書き置きます。
任意の動画をsample_movie.mp4
という名前でリポジトリ直下においてください。
streamer が利用します。
以下を使うと開発が楽になります。
必要な container ごとに起動ができます。
例えば
docker-compose -f docker-compose.debug.yml up -d web slack
と実行すれば web container,slack container が立ち上がります。 またそれらが依存する container も自動で立ち上がります。
Mac の場合 Docker の性能劣化の関係で,実行順序が望むものと異なってしまうという現象が起こります。
その場合依存関係を解決できなくなるため,lazydocker などでモニタして修正する必要があります。
lazydocker
と実行すると,各 container の起動状況が確認できます。 各 container の出力を見れたり,container 内で shell を起動することもできます。
各 container では debugger が起動しています。 VScode で,launch.jsonのように設定すると,各 container の debugger へと接続ができます。
NCS2 を用いずに object-detection を行う場合,つまり CPU で演算をする場合に OpenVINO で SIMD 命令を利用しますが,CPU によって命令セットが異なる場合があります。
もし,object-detection container が特別な出力なしに強制終了する場合は,以下の変更が必要です。
docker-compose.debug.yml
ファイルのobject-detection
の設定する箇所で,
- CPU_EXTENSION=/opt/intel/openvino/inference_engine/lib/intel64/libcpu_extension_avx2.so
とあります。
この行でのavx2
をsse4
またはavx512
へと,自分の PC に合わせたものへの変更を行ってください。
以下のコマンドで各 container が必要とする Package を完全にインストールします。
環境をリセットし lock した情報から復元するため時間がかかりますが,完全に復元できます。
docker-compose -f utils/docker-compose.install.yml up -d
以下のコマンドで各 container が必要とする Package の不足分と,脆弱性が見つかった Package の Upgrade を行います。
docker-compose -f utils/docker-compose.update.yml up -d