MetadataExtractor

public クラス MetadataExtractor

TFLite Model FlatBuffer からメタデータを読み込みます。

TFLite モデル FlatBuffer は、TFLite モデル スキーマ ファイルを使用して生成できます。

一部のモデルには TFLite メタデータ フラットバッファが含まれており、モデルの動作とモデルの解釈方法に関する詳細情報が記録されます。TFLite メタデータ フラットバッファは、TFLite メタデータ スキーマ ファイルを使用して生成できます。

TFLite メタデータなしでモデル FlatBuffer を渡すことができます。ただし、TFLite メタデータから読み取るメソッドを呼び出すと、ランタイム エラーが発生します。

同様に、関連ファイルなしでモデル FlatBuffer を渡すことができます。ただし、関連ファイルを読み取るメソッドを呼び出すと、ランタイム エラーが発生します。

TFLite モデルの FlatBuffer は複数のサブグラフをサポートしていますが、TFLite インタープリタはこれまでのところ 1 つのサブグラフのみをサポートしています。詳細については、変換中にサブグラフを指定する方法をご覧ください。したがって、MetadataExtractor はそのメソッドでサブグラフ インデックスを入力として省略します。

ネストされたクラス

クラス MetadataExtractor.QuantizationParams TFLite モデルのスキーマ ファイル 内のテーブル QuantizationParameters に対応する量子化パラメータ。

パブリック コンストラクタ

MetadataExtractorByteBuffer バッファ)
TFLite モデル FlatBuffer で MetadataExtractor を作成します。

パブリック メソッド

InputStream
getAssociatedFile(String fileName)
指定された fileName でパックされた関連ファイルを取得します。
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 Set<String> getAssociatedFileNames ()

関連ファイルのファイル名を取得します。

戻り値
  • 関連ファイルのファイル名
例外
IllegalStateException モデルが ZIP ファイルでない場合

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.11.14.0 など)、true を返します。null バージョンは、すべての数値バージョンに先行します。これは、バージョニングされた最初のリリースの前に一部のメタデータ フラットバッファが生成されるためです。
  • 必要な最小パーサー バージョンがより新しい場合(1.14.2 など)、false を返します。