量子化されたテンソル '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)
ネストされたクラス
クラス | 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.OptionsバッチGroupCount (LongバッチGroupCount)
パラメータ
バッチグループ数 | バッチグループの数。グループ化されたフィルターに使用されます。 「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 の新しいインスタンス
パブリック静的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 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 に設定されます。 |
---|