
ONNX Runtimeの量子化ツールを用いた深層学習モデルに対する量子化の入門書です。 この本は量子化の仕組みを学びつつ、ONNX Runtimeと呼ばれるツールを使ってPythonでの量子化を試すことができる構成になっています。 具体的には次の通りです。 1章は量子化の必要性をメモリの使用量の削減や高速化などの点から述べています。 その後、量子化がどのような手順で行うのかについて解説します。 また、量子化によって処理速度が向上する理由についても触れます。 2章は量子化用のツールであるONNNX Runtimeについて解説し、仕様や使い方を学びます。 3章は画像認識モデルの量子化を例として、モデルの学習から量子化までの流れをコードを使いながら実践します。 章の最後には、量子化前後のモデルをモデルのファイルサイズ・正答率・実行時間で比較します。 本書が扱っていない内容は主に以下の通りです。 - 量子化技術の最新の結果 - 学習時の量子化 - 特殊なハードウェア環境で量子化推論のするためのツールのセットアップ方法 - Pythonの使い方や深層学習の細かな話 本書が想定する対象読者は次の通りです。なお、解説の都合上、Pythonを用いて深層学習を試したことがある方が望ましいです。 - 量子化という名前自体は見聞きするが、技術の中身はあまり知らない方 - 量子化用ツールの使い方を知りたい方 最後に本書の注意点として、内容の一部に深層学習フレームワークの一つであるPyTorchとPyTorchに関連するライブラリを使用した学習用のコードが含まれています。 これは、量子化用のツールを使う前に深層学習フレームワーク独自のモデル形式からONNX形式に変換する必要があるのですが、3章ではその準備としてPyTorchを利用しています。 ただし、量子化の説明や量子化用ツールの実行とは独立していており、PyTorchのコード自体を理解せずに読み進めることが可能ですのでご安心ください。 なお、TensorFlowについてはONNX形式への変換方法のみを記しています。 記載内容の訂正とお詫び 本書の掲載内容に誤りがございました。謹んでお詫び申し上げますとともに、以下のとおり訂正させていただきます。 v1.0.0 p26, 3.2節:"model12.onnx"→"model.onnx" p28, 3.5節:"CUDAExecutionProvider"→"CPUExecutionProvider"