long-long-float / mini-cnn-runtime

A minimum CNN runtime for the study.
0 stars 0 forks source link

事前調査 #1

Open long-long-float opened 3 years ago

long-long-float commented 3 years ago
long-long-float commented 3 years ago

Protocol Bufferコンパイラのインストール

https://github.com/protocolbuffers/protobuf/blob/master/src/README.md

今回はC++で作成するので protobuf-cpp-3.13.0.tar.gz をダウンロード

onnxのprotoファイルをコンパイル

# /onnxディレクトリで実行
$ protoc --cpp_out $HOME/git/mini-cnn-runtime/ onnx.proto3
long-long-float commented 3 years ago

Tiny YOLOv3は確認するには大きい気がしたので小さいモデルを作成する

MNISTモデルの作成 https://www.tensorflow.org/tutorials/images/cnn?hl=ja

学習済みモデルをファイルに保存 https://www.tensorflow.org/tutorials/keras/save_and_load?hl=ja#savedmodel_%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6
以下、mnist_modelで保存したとする

保存したモデルをonnx形式に変換 https://github.com/onnx/tensorflow-onnx

python3 -m tf2onnx.convert --saved-model mnist_model --output mnist.onnx
long-long-float commented 3 years ago

コンパイル方法(後でMakefileにする)

$ clang++ main.cpp -I/usr/local/include -L/usr/local/lib -lprotobuf onnx.proto3.pb.cc