UniformQuantizedConvolution

パブリック最終クラスUniformQuantizedConvolution

量子化されたテンソル 'lhs' と量子化されたテンソル 'rhs' の量子化畳み込みを実行します。量子化された「出力」を作成します。

量子化された「lhs」と量子化された「rhs」を指定すると、「lhs」と「rhs」に対して量子化されたドットを実行して、量子化された「出力」を作成します。

`lhs` と `rhs` は同じランクの Tensor でなければならず、次の形状条件を満たさなければなりません。 - `lhs_feature` % `feature_group_count` == 0 - `lhs_feature` % `rhs_input_feature` == 0 - `lhs_feature` / `feature_group_count` == `rhs_input_feature` - `rhs_output_feature` % `feature_group_count` == 0 - `lhs_batch` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

`lhs` と `rhs` は Tensor で量子化する必要があります。データ値は次の式を使用して量子化されます。

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
`output` も同じ式を使用して量子化されます。 「rhs」がテンソルごとに量子化されている場合、「output」もテンソルごとに量子化されなければなりません。

ネストされたクラス

クラスUniformQuantizedConvolution.Options UniformQuantizedConvolutionのオプション属性

パブリックメソッド

出力<U>
asOutput ()
テンソルのシンボリック ハンドルを返します。
静的UniformQuantizedConvolution.Options
バッチグループカウント(長いバッチグループカウント)
静的 <U, T> UniformQuantizedConvolution <U>
create (スコープscope,オペランド<T> lhs,オペランド<T> rhs,オペランド<Float> lhsScales,オペランド<Integer> lhsZeroPoints,オペランド<Float> rhsScales,オペランド<Integer> rhsZeroPoints,オペランド<Float> OutputScales,オペランド<Integer > OutputZeroPoints、Class<U> Tout、文字列パディング、Long lhsQuantizationMinVal、Long lhsQuantizationMaxVal、Long rhsQuantizationMinVal、Long rhsQuantizationMaxVal、Long outputQuantizationMinVal、Long outputQuantizationMaxVal、 Options...オプション)
新しいUniformQuantizedConvolutionオペレーションをラップするクラスを作成するファクトリメソッド。
静的UniformQuantizedConvolution.Options
ディメンション番号(文字列ディメンション番号)
静的UniformQuantizedConvolution.Options
明示的なパディング(List<Long> 明示的なパディング)
静的UniformQuantizedConvolution.Options
featureGroupCount (長い featureGroupCount)
静的UniformQuantizedConvolution.Options
lhsDilation (List<Long> lhsDilation)
静的UniformQuantizedConvolution.Options
lhsQuantizationAxis (長い lhsQuantizationAxis)
出力<U>
出力()
`Tout` の出力量子化テンソル。`lhs` および `rhs` と同じランクです。
静的UniformQuantizedConvolution.Options
OutputQuantizationAxis (長い出力量子化軸)
静的UniformQuantizedConvolution.Options
rhsDilation (List<Long> rhsDilation)
静的UniformQuantizedConvolution.Options
rhsQuantizationAxis (長い rhsQuantizationAxis)
静的UniformQuantizedConvolution.Options
windowStrides (List<Long> windowStrides)

継承されたメソッド

パブリックメソッド

public Output <U> asOutput ()

テンソルのシンボリック ハンドルを返します。

TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。

パブリック静的UniformQuantizedConvolution.OptionsbatchGroupCountLongbatchGroupCount

パラメーター
バッチグループ数バッチグループの数。グループ化されたフィルターに使用されます。 「output_feature」の約数でなければなりません。

public static UniformQuantizedConvolution <U> create (スコープscope,オペランド<T> lhs,オペランド<T> rhs,オペランド<Float> lhsScales,オペランド<Integer> lhsZeroPoints,オペランド<Float> rhsScales,オペランド<Integer> rhsZeroPoints,オペランド<Float > OutputScales、オペランド<Integer> OutputZeroPoints、Class<U> Tout、文字列パディング、Long lhsQuantizationMinVal、Long lhsQuantizationMaxVal、Long rhsQuantizationMinVal、Long rhsQuantizationMaxVal、Long outputQuantizationMinVal、Long outputQuantizationMaxVal、 Options...オプション)

新しいUniformQuantizedConvolutionオペレーションをラップするクラスを作成するファクトリメソッド。

パラメーター
範囲現在のスコープ
量子化されたテンソル、ランク >= 3 でなければなりません。
右肩`lhs` と同じランクの量子化されたテンソルでなければなりません。
lhsスケール`lhs` が表す元のデータを量子化するときにスケール係数として使用される浮動小数点値。スカラー `Tensor` である必要があります (`lhs` はテンソルごとの量子化のみをサポートします)。
lhsゼロポイント`lhs` が表す元のデータを量子化するときにゼロ点として使用される int32 値。 lhs_scales と同じ形状条件。
rhsスケール`rhs` が表す元のデータを量子化するときにスケール係数として使用される浮動小数点値。テンソルごとの量子化の場合はスカラー `Tensor`、またはチャネルごとの量子化の場合はサイズ `rhs.dim_size(kernel_output_feature_dimension)` の 1D `Tensor` である必要があります。
rhsゼロポイント`rhs` が表す元のデータを量子化するときにゼロ点として使用される int32 値。 rhs_scales と同じ形状条件。
出力スケール「output」が表す元のデータを量子化するときにスケール係数として使用する浮動小数点値。テンソルごとの量子化の場合はスカラー `Tensor`、またはサイズ `rhs.dim_size(kernel_output_feature_dimension)` の 1D `Tensor` (チャネルごとの量子化の場合は `output.dim_size(output_feature_dimension)` に等しい) である必要があります。 「rhs」がテンソルごとに量子化されている場合、出力もテンソルごとに量子化されなければなりません。これは、「rhs_scales」と「rhs_zero_points」がスカラーの「Tensor」である場合、「output_scales」と「output_zero_points」も同様にスカラーの「Tensor」でなければならないことを意味します。
出力ゼロポイント出力が表す元のデータを量子化するときにゼロ点として使用される int32 値。 `output_scales` と同じ形状条件。
客引き「出力」「Tensor」のタイプ。
パディング使用するパディング アルゴリズムのタイプを示す文字列: `"SAME"`、`"VALID"`、または `"EXPLICIT"`。
lhs量子化最小値`lhs` に格納される量子化データの最小値。たとえば、「Tin」が「qint8」の場合、狭い範囲で量子化されている場合は -127、そうでない場合は -128 に設定する必要があります。
lhsQuantizationMaxVal lhs に格納される量子化データの最大値。たとえば、「Tin」が「qint8」の場合、これは 127 に設定する必要があります。
rhs量子化最小値「rhs」に格納される量子化データの最小値。たとえば、「Tin」が「qint8」の場合、狭い範囲で量子化されている場合は -127、そうでない場合は -128 に設定する必要があります。
rhsQuantizationMaxVal rhs に格納される量子化データの最大値。たとえば、「Tin」が「qint8」の場合、これは 127 に設定する必要があります。
出力量子化最小値「output」に格納される量子化データの最小値。たとえば、「Tout」が「qint8」の場合、狭い範囲で量子化されている場合は -127、そうでない場合は -128 に設定する必要があります。
出力量子化最大値「output」に格納される量子化データの最大値。たとえば、「Tout」が「qint8」の場合、これを 127 に設定する必要があります。
オプションオプションの属性値を持ちます
戻り値
  • UniformQuantizedConvolution の新しいインスタンス

public static UniformQuantizedConvolution.Optionsディメンションナンバー(文字列ディメンションナンバー)

パラメーター
寸法数字畳み込み演算の次元情報の構造。空の文字列 (デフォルト) または `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr` プロトのシリアル化された文字列である必要があります。空の文字列の場合、デフォルトは `("NCHW", "OIHW", "NCHW")` (2D 畳み込みの場合) です。

パブリック静的UniformQuantizedConvolution.Options明示的パディング(List<Long>明示的パディング)

パラメーター
明示的なパディング`padding` が `"EXPLICIT"` の場合、各 `lhs` 空間次元の開始と終了における明示的なパディングを示すリストとして設定する必要があります。それ以外の場合、これは空でなければなりません。

(使用する場合) サイズ `2 * (lhs 空間次元の数)` のリストでなければなりません。ここで、`(explicit_padding[2 * i], Explicit_padding[2 * i + 1])` は `(start_padding, end_padding) を示します。 `spatial_dimensions[i]` の `。

public static UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)

パラメーター
機能グループ数機能グループの数。グループ化された畳み込みに使用されます。 `lhs_feature` と `output_feature` の両方の約数でなければなりません。

public static UniformQuantizedConvolution.Options lhsDilation (List<Long> lhsDilation)

パラメーター
lhs拡張`lhs` の各空間次元に適用する膨張係数。空のリスト (デフォルト) またはサイズのリスト (`lhs` 空間次元の数) でなければなりません。空のリストの場合、各 `lhs` 空間次元の拡張は 1 に設定されます。

public static UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)

パラメーター
lhs量子化軸軸ごとの量子化がその次元に沿ったスライスに適用されるテンソルの次元インデックスを示します。 -1 (デフォルト) に設定すると、テンソルごとの量子化を示します。 `lhs` の場合、テンソルごとの量子化のみがサポートされます。したがって、これは -1 に設定する必要があります。他の値を指定すると、OpKernel 構築時にエラーが発生します。

public出力<U>出力()

`Tout` の出力量子化テンソル。`lhs` および `rhs` と同じランクです。

public static UniformQuantizedConvolution.Options OutputQuantizationAxis (Long OutputQuantizationAxis)

パラメーター
出力量子化軸軸ごとの量子化がその次元に沿ったスライスに適用されるテンソルの次元インデックスを示します。 -1 (デフォルト) に設定すると、テンソルごとの量子化を示します。 「出力」の場合、「output_feature_dimension」に沿ったテンソルごとの量子化またはチャネルごとの量子化のみがサポートされます。したがって、これは -1 または `dimension_numbers.output_feature_dimension` に設定する必要があります。他の値を指定すると、OpKernel 構築時にエラーが発生します。

public static UniformQuantizedConvolution.Options rhsDilation (List<Long> rhsDilation)

パラメーター
rhs拡張`rhs` の各空間次元に適用する膨張係数。空のリスト (デフォルト) またはサイズのリスト (「rhs」空間次元の数) でなければなりません。空のリストの場合、各「rhs」空間次元の拡張は 1 に設定されます。

public static UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

パラメーター
rhs量子化軸軸ごとの量子化がその次元に沿ったスライスに適用されるテンソルの次元インデックスを示します。 -1 (デフォルト) に設定すると、テンソルごとの量子化を示します。 「rhs」の場合、「kernel_output_feature_dimension」に沿ったテンソルごとの量子化またはチャネルごとの量子化のみがサポートされます。したがって、これは -1 または `dimension_numbers.kernel_output_feature_dimension` に設定する必要があります。他の値を指定すると、OpKernel 構築時にエラーが発生します。

public static UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)

パラメーター
ウィンドウストライド`lhs` の各空間次元のスライディング ウィンドウのストライド。空のリスト (デフォルト) またはサイズのリスト (空間次元の数) である必要があります。空のリストが指定された場合、各空間次元のストライドは 1 に設定されます。