tensorflow:: ops:: FakeQuantWithMinMaxVarsPerChannel

#include <array_ops.h>

チャネルごとの浮動小数点数を使用して、float型の「inputs」テンソルを擬似的に量子化します。

まとめ

inputsテンソルを、チャネルごとに float 型で、形状が[d] 、 [b, d] [b, h, w, d]のいずれかであるものに、チャネルごとに float 型のminとmaxの形状[d]を介して擬似量子化し、 inputsと同じ形状の出力テンソルをoutputs 。

属性

  • [min; max] inputsデータのクランプ範囲を定義します。
  • inputs値は量子化範囲( narrow_rangeがfalseの場合は[0; 2^num_bits - 1] 、trueの場合は[1; 2^num_bits - 1] )に量子化され、その後逆量子化されて[min; max]の区間の浮動小数点数として出力されます。
  • num_bitsは量子化のビット幅であり、2から16までの範囲の値をとります。

量子化の前に、 minとmax値は以下のロジックで調整されます。 min <= 0 <= maxとなるようにすることが推奨されます。0 0値の範囲に含まれていない場合、予期しない動作が発生する可能性があります。

  • 0 < min < max場合: min_adj = 0かつmax_adj = max - min 。
  • min < max < 0の場合: min_adj = min - maxかつmax_adj = 0 。
  • min <= 0 <= max場合: scale = (max - min) / (2^num_bits - 1) 、 min_adj = scale * round(min / scale)およびmax_adj = max + min_adj - min 。

この演算には勾配が存在するため、 minとmax値を学習することが可能です。

議論:

返品:

  • Output :出力テンソル。

構築者と破壊者

FakeQuantWithMinMaxVarsPerChannel (const :: tensorflow::Scope & scope, :: tensorflow::Input inputs, :: tensorflow::Input min, :: tensorflow::Input max)
FakeQuantWithMinMaxVarsPerChannel (const :: tensorflow::Scope & scope, :: tensorflow::Input inputs, :: tensorflow::Input min, :: tensorflow::Input max, const FakeQuantWithMinMaxVarsPerChannel::Attrs & attrs)

公開属性

operation
outputs

公的機能

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

パブリック静的関数

NarrowRange (bool x)
NumBits (int64 x)

構造

tensorflow:: ops:: FakeQuantWithMinMaxVarsPerChannel:: Attrs

FakeQuantWithMinMaxVarsPerChannelのオプション属性設定子。

公開属性

手術

Operation operation

出力

::tensorflow::Output outputs

公的機能

FakeQuantWithMinMaxVarsPerChannel

 FakeQuantWithMinMaxVarsPerChannel(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max
)

FakeQuantWithMinMaxVarsPerChannel

 FakeQuantWithMinMaxVarsPerChannel(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max,
  const FakeQuantWithMinMaxVarsPerChannel::Attrs & attrs
)

ノード

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const 

パブリック静的関数

狭い範囲

Attrs NarrowRange(
  bool x
)

ビット数

Attrs NumBits(
  int64 x
)