C++でCPUのみでonnx-chainerで出力したONNX形式のDNNモデルの推論(Inference)をするライブラリ「Instant」を作った 背景 DNNを用いた一般的な機械学習の手法は学習フェーズと推論フェーズに分かれます.学習フェーズでは対象のデータを元にモデルのパラメータを調整し,推論フェーズでは学習フェーズで得られたモデルを実際の使用したい環境に組み込んで,実際に未知のデータを入力として結果を得ます.学習フェーズと推論フェーズの両方で用いることができるDNNライブラリは数多くあります(Chainer, Tensorflow, PyTorch, CNTK, Caffe2など). しかし,そのほとんどどれもPythonの使用を前提としているため,実際の推論フェーズの環境でPythonを使えない,もしくは使いたくないという場面は,そういったライブラリを直接使うことができません.