TFLite Model FlatBuffer からメタデータを読み込みます。
TFLite モデル FlatBuffer は、TFLite モデル スキーマ ファイルを使用して生成できます。
一部のモデルには TFLite メタデータ フラットバッファが含まれており、モデルの動作とモデルの解釈方法に関する詳細情報が記録されます。TFLite メタデータ フラットバッファは、TFLite メタデータ スキーマ ファイルを使用して生成できます。
TFLite メタデータなしでモデル FlatBuffer を渡すことができます。ただし、TFLite メタデータから読み取るメソッドを呼び出すと、ランタイム エラーが発生します。
同様に、関連ファイルなしでモデル FlatBuffer を渡すことができます。ただし、関連ファイルを読み取るメソッドを呼び出すと、ランタイム エラーが発生します。
TFLite モデルの FlatBuffer は複数のサブグラフをサポートしていますが、TFLite インタープリタはこれまでのところ 1 つのサブグラフのみをサポートしています。詳細については、変換中にサブグラフを指定する方法をご覧ください。したがって、MetadataExtractor
はそのメソッドでサブグラフ インデックスを入力として省略します。
ネストされたクラス
クラス | MetadataExtractor.QuantizationParams | TFLite モデルのスキーマ ファイル 内のテーブル QuantizationParameters に対応する量子化パラメータ。 |
パブリック コンストラクタ
パブリック メソッド
InputStream | |
Set<String> |
getAssociatedFileNames()
関連ファイルのファイル名を取得します。
|
整数 |
getInputTensorCount()
モデル内の入力テンソルの数を取得します。
|
TensorMetadata |
getInputTensorMetadata(int inputIndex)
inputIndex で指定された入力テンソルのメタデータを取得します。 |
MetadataExtractor.QuantizationParams |
getInputTensorQuantizationParams(int inputIndex)
inputIndex で指定された入力テンソルの量子化パラメータを取得します。 |
int[] |
getInputTensorShape(int inputIndex)
inputIndex を使用して入力テンソルの形状を取得します。 |
バイト |
getInputTensorType(int inputIndex)
inputIndex を使用して入力テンソルの ERROR(/TensorType) を取得します。 |
ModelMetadata |
getModelMetadata()
モデル メタデータのルートハンドラを取得します。
|
整数 |
getOutputTensorCount()
モデル内の出力テンソルの数を取得します。
|
TensorMetadata |
getOutputTensorMetadata(int outputIndex)
outputIndex で指定された出力テンソルのメタデータを取得します。 |
MetadataExtractor.QuantizationParams |
getOutputTensorQuantizationParams(int outputIndex)
outputIndex で指定された出力テンソルの量子化パラメータを取得します。 |
int[] |
getOutputTensorShape(int outputIndex)
outputIndex を使用して出力テンソルの形状を取得します。 |
バイト |
getOutputTensorType(int outputIndex)
outputIndex を使用して出力テンソルの ERROR(/TensorType) を取得します。 |
ブール値 |
hasMetadata()
モデルにメタデータがある場合、
true を返します。 |
final ブール値 |
isMinimumParserVersionSatisfied()
指定されたメタデータ フラットバッファに必要な最小パーサー バージョンが、この MetadataExtractor ライブラリが依存しているメタデータ パーサーのバージョン以上である場合、
true を返します。 |
継承されるメソッド
パブリック コンストラクタ
public MetadataExtractor (ByteBuffer バッファ)
TFLite モデル FlatBuffer で MetadataExtractor
を作成します。
パラメータ
buffer | TFLite モデルの FlatBuffer |
---|
例外
IllegalArgumentException | モデル内の入力テンソルまたは出力テンソルの数がメタデータ内の数と一致しない場合 |
---|---|
IOException | モデルを ZIP ファイルとして読み取っているときにエラーが発生した場合 |
パブリック メソッド
public InputStream getAssociatedFile (String fileName)
指定された fileName
でパックされた関連ファイルを取得します。
パラメータ
fileName | 関連ファイルの名前 |
---|
戻り値
- 指定されたファイルを含む未加工の入力ストリーム
例外
IllegalStateException | モデルが ZIP ファイルでない場合 |
---|---|
IllegalArgumentException | 指定したファイルがモデルに存在しない場合 |
public int getInputTensorCount ()
モデル内の入力テンソルの数を取得します。
public TensorMetadata getInputTensorMetadata (int inputIndex)
inputIndex
で指定された入力テンソルのメタデータを取得します。
パラメータ
inputIndex | 目的の入力テンソルのインデックス |
---|
例外
IllegalStateException | このモデルにモデル メタデータが含まれていない場合 |
---|
public MetadataExtractor.QuantizationParams getInputTensorQuantizationParams (int inputIndex)
inputIndex
で指定された入力テンソルの量子化パラメータを取得します。
パラメータ
inputIndex | 目的の入力テンソルのインデックス |
---|
public int[] getInputTensorShape (int inputIndex)
inputIndex
を使用して入力テンソルの形状を取得します。
パラメータ
inputIndex | 目的の入力テンソルのインデックス |
---|
public byte getInputTensorType (int inputIndex)
inputIndex
を使用して入力テンソルの ERROR(/TensorType)
を取得します。
パラメータ
inputIndex | 目的の入力テンソルのインデックス |
---|
public ModelMetadata getModelMetadata ()
モデル メタデータのルートハンドラを取得します。
例外
IllegalStateException | このモデルにモデル メタデータが含まれていない場合 |
---|
public int getOutputTensorCount ()
モデル内の出力テンソルの数を取得します。
public TensorMetadata getOutputTensorMetadata (int outputIndex)
outputIndex
で指定された出力テンソルのメタデータを取得します。
パラメータ
outputIndex | 目的の出力テンソルのインデックス |
---|
例外
IllegalStateException | このモデルにモデル メタデータが含まれていない場合 |
---|
public MetadataExtractor.QuantizationParams getOutputTensorQuantizationParams (int outputIndex)
outputIndex
で指定された出力テンソルの量子化パラメータを取得します。
パラメータ
outputIndex | 目的の出力テンソルのインデックス |
---|
public int[] getOutputTensorShape (int outputIndex)
outputIndex
を使用して出力テンソルの形状を取得します。
パラメータ
outputIndex | 目的の出力テンソルのインデックス |
---|
public byte getOutputTensorType (int outputIndex)
outputIndex
を使用して出力テンソルの ERROR(/TensorType)
を取得します。
パラメータ
outputIndex | 目的の出力テンソルのインデックス |
---|
public boolean hasMetadata ()
モデルにメタデータがある場合、true
を返します。それ以外の場合は、false
を返します。
public final boolean isMinimumParserVersionSatisfied ()
指定されたメタデータ フラットバッファに必要な最小パーサー バージョンが、この MetadataExtractor ライブラリが依存しているメタデータ パーサーのバージョン以上である場合、true
を返します。この場合、メタデータ内のすべてのフィールドは、このメタデータ抽出ライブラリを使用して正しく解析できます。それ以外の場合は、false
を返します。
たとえば、基盤となるメタデータ パーサーのバージョンが 1.14.1
であるとします。
- 必要な最小パーサー バージョンが同じか古い場合(
1.14.1
や1.14.0
など)、true
を返します。null バージョンは、すべての数値バージョンに先行します。これは、バージョニングされた最初のリリースの前に一部のメタデータ フラットバッファが生成されるためです。 - 必要な最小パーサー バージョンがより新しい場合(
1.14.2
など)、false
を返します。