画像処理・機械学習の分野では、ベースとなる学習・評価の時点で、どのようなフレームワークを使うのかが重要になる。 最終成果物の推論の環境とは必ずしも一致しない。
- フレームワーク1: 3Dカメラの想定するフレームワーク
- フレームワーク2: 画像認識の想定するフレームワーク
- そのアルゴリズムが開発されているフレームワーク
- 最終成果物のdeploy先のフレームワーク その2つを結ぶモデルの変換方法を重視すること。
学習用・評価用の環境は、実装するアルゴリズムのソースコードの利用している環境になるだろう。 PyTorch, Tensorflow, Keras などが使われているだろうか。
PyTorch Cudaデバイス以外でも利用できるようになってきている。Mac用の版も存在する。
pip install torch
Tensorflow NVIDIA GPU、Google TPUで動作する。
pip install tensorflow
-
Keras Kerasは、主にTensorflowをバックエンドとして動作します。 pip install keras
-
huggingface pip install huggingface LLM系の実装が多い。
-
Ultralytics 「detection, segmentation, classification, tracking and pose estimation」が用意されている。 pip install ultralytics
-
MMDetectionのフレームワークでは以下のリンクに示すように多数のタスクにある実装が公開されている。 Projects in OpenMMLab
物体検出モデルがよりどりみどり MMdetectionの使いかた
- あなたが関心を持っているタスクの分野で一番に使われているフレームワークを使うべきだと考える。
- 学習用・評価用のデータセットの規模は年々大きくなるし、DVC(Data Version Control)や他のMLopsのフレームワークを使うことになるだろう。
- 開発チームの方針に合わせることだ。
Caffe Chainer
それぞれ、メンテナンスが終了しているはずです。
deploy 先のframework は、ボードやアクセラレータを選択した時点で決まるだろう。
複数のタスクを実装に加えたときの、処理能力・演算の負荷を考慮して、ボード・アクセラレータを選択する。 その結果を検証することになる。