daisukeの技術ブログ

AI、機械学習、最適化、Pythonなどについて、技術調査、技術書の理解した内容、ソフトウェア/ツール作成について書いていきます

量子化:論文 Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference を読む(3)

量子化の3回目です!

Googleが2017年12月にarXivに登録した論文の「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」の続きで、今回は 3章の予定でしたが、2章に関係が深い Appendix を先に読んでいきます。

続きを読む

gemmlowpライブラリのソースコードをデバッガを使って理解する

今回もAIの量子化について学んでいきます。GoogleのQAT量子化の論文 に出てくる gemmlowp ライブラリ について見ていきます。

前回は、gemmlowp の サンプルコード(doc/quantization_example.cc)を実行しました。長い実行ログが出力されて、その内容は量子化計算のチュートリアルのようになっていたので、その説明をしました。

今回は、実行結果のログだけでは十分に理解できなかった部分を、デバッガを使って、実行結果とソースコードを見ながら、理解を深めていきます。

それでは、やっていきます!

続きを読む

量子化:論文 Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference を読む(2)

「量子化の論文を読む」の2回目です!

Googleが2017年12月にarXivに登録した論文の「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」の続きで、今回は2章を読んでいきます。

続きを読む

Raspberry Pi 4のTensorFlow Lite C++をVSCodeでリモートデバッグする

今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、TensorFlow Lite C++ の動作を見るために、デバッグ環境を立ち上げたいと思います。

前回は、TensorFlow Lite の C++ で、量子化モデルを動かしました。何が実行されてるか分からなかったので、ソースコードを見ていきます。ソースを追うだけで理解するのは難しいので、デバッグ環境を立ち上げて、動かしながら理解していきます。

Raspberry Pi 上で動作するプログラムのデバッグ環境としては、VSCode のリモートデバッグを使います。さらに、今回は、CMake環境のデバッグということで、そのあたりの基礎的なところからやっていきたいと思います。

続きを読む

TensorFlow Lite C++で量子化モデルをRaspberry Pi 4で動かす

今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、実際に量子化モデルを動かして、推論の高速化を実感したいと思います。

前回(TensorFlow Lite Pythonで量子化モデルをRaspberry Pi 4で動かす - daisukeの技術ブログ)は、Python の tflite-runtime をインストールして実行しましたが、今回は、C++でやっていきます。手順通りにやれば、必ず同じことが出来るように、環境構築、ビルド、実行の手順を書いていきます。

それでは、やっていきます!

続きを読む

TensorFlow Lite Pythonで量子化モデルをRaspberry Pi 4で動かす

今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、実際に量子化モデルを動かして、推論の高速化を実感したいと思います。

まずは、VirtualBox の Ubuntu 22.04 で動かしていきますが、TensorFlow Lite は、ARM CPU に最適化されていると思うので、性能が出ないかもしれません。その後、Raspberry Pi 4(Raspberry Pi OS)でも動かしていきます。

それでは、やっていきます!

続きを読む