メインコンテンツへスキップ

E.A C++ とモデルデプロイのロードマップ

Python で作ったモデルは動くようになった。でも遅延、メモリ、配布、サービス費用が本当の課題になってきた。そんなときに使う選択モジュールです。

まずデプロイの道筋を見る

C++ とモデルデプロイ モジュールの学習マップ

C++ ランタイムとメモリの地図

中心になる問いはシンプルです。モデルの出力を、速く、測定でき、配布できる推論経路に変えられるか。

最小の C++ 推論ステップを動かす

demo.cpp を作成します。

#include <iostream>
#include <vector>

int main() {
std::vector<float> logits = {1.2f, 0.3f, 2.1f};
int best_index = 0;

for (int i = 1; i < static_cast<int>(logits.size()); ++i) {
if (logits[i] > logits[best_index]) {
best_index = i;
}
}

std::cout << "best_class=" << best_index << "\n";
std::cout << "score=" << logits[best_index] << "\n";
return 0;
}

実行します。

c++ -std=c++17 demo.cpp -o demo
./demo

期待される出力:

best_class=2
score=2.1

これはデプロイで最初に身につけたい最小習慣です。テンソルのような値を受け取り、判断を計算し、再現できる結果として出力します。

この順番で学ぶ

Stepレッスン実践で残す成果
1E.A.1 C++ 基礎小さな推論補助コードをコンパイルして実行する
2E.A.2 C++ 応用所有権、RAII、安全なリソース解放を説明する
3E.A.3 モデル最適化遅延、メモリ、精度のトレードオフを比較する
4E.A.4 推論エンジンハードウェアとモデル形式に合わせてエンジンを選ぶ
5E.A.5 エッジデプロイエッジ制約を挙げ、確認リストを作る
6E.A.6 モデルサービス化バージョン管理とメトリクス付きのサービス設計を描く
7E.A.7 プロジェクト小さなデプロイ証拠パックを提出する

合格チェック

このモジュールは、C++ の例を 1 つコンパイルでき、デプロイ上のトレードオフを説明でき、遅延またはメモリの証拠を残し、その結果を選択モジュール実践ワークショップにつなげられたら合格です。