13.1.12. ROM ファイルシステムの編集¶
ROMFS をサポートするボードは、フラッシュ内に読み取り専用ファイルシステムを持ち、カメラ上では /rom にマウントされます。これにはボードのデフォルトの機械学習モデルが付属しており、製品のモデルやアセットを置くべき場所です。ROMFS 内のファイルはフラッシュから直接メモリマップされるため、大きなモデルをコピー用の RAM を消費せずにロードできます。IDE の Tools → ROM File System サブメニューがその編集ツールです。
13.1.12.1. エディタ¶
Edit ROMFS on OpenMV Cam は、接続されたカメラの ROMFS を読み込んでエディタで開きます。ファイルツリーに加えて、ファイルの追加、フォルダの作成、エントリの削除と抽出、モデルズー からモデルを直接取り込むためのボタンがあります。使用量の表示は、コンテンツがボードの ROMFS パーティションをどれだけ占有しているかを追跡します。Commit を押すまでカメラには何も影響せず、押すと結果をカメラに書き戻すか、ディスク上の .img ファイルに保存するかを尋ねられます。
ファイルを追加すると、2つの変換が自動的に行われます。.py スクリプトはターゲットボード用に .mpy バイトコードへクロスコンパイルされ、モデルファイルは、ボードに NPU アクセラレータがありモデルがそれを必要とする場合に、そのアクセラレータ用に変換されます。ROMFS に格納されるのは常に、カメラが直接実行する形式です。
ボードのデフォルトのコンテンツ(その機械学習モデル)を表示する Edit ROMFS ダイアログ。右下に使用量の表示があります。¶
Open ROMFS File は、接続されたカメラの代わりにディスク上の .img イメージファイルに対して同じエディタを実行し、New ROMFS File は空の状態で開始します。どちらの場合も、本番でのフラッシュやカスタムファームウェアビルドと併せた出荷のために、ROMFS イメージをオフラインで準備する経路となります。Reset ROMFS on OpenMV Cam は、接続されたカメラの ROMFS をボードのデフォルトに復元し、すべての編集を取り消します。
参考
アプリケーションの出荷における ROMFS の役割、つまり何を入れるべきか、カメラが実行時にそれをどう読み取るかについては ROMFSイメージのビルド を参照してください。