Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
przepływ tensorowy:: ops:: FakeQuantWithMinMaxVars na kanał
#include <array_ops.h>
Fałszywie skwantuj tensor „wejściowy” typu float i jeden z kształtów: [d]
,.
Streszczenie
[b, d]
[b, h, w, d]
poprzez pływaki na kanał min
i max
kształtu [d]
do tensora „wyjść” o tym samym kształcie co inputs
.
[min; max]
definiuje zakres zaciskania danych inputs
. wartości inputs
są kwantowane do zakresu kwantyzacji ( [0; 2^num_bits - 1]
gdy narrow_range
ma wartość false i [1; 2^num_bits - 1]
gdy jest prawdą), a następnie dekwantyzowane i wyprowadzane jako wartości zmiennoprzecinkowe w [min; max]
interwał. num_bits
to szerokość bitowa kwantyzacji; od 2 do 16 włącznie.
Przed kwantyzacją wartości min
i max
są dostosowywane zgodnie z następującą logiką. Sugeruje się, aby min <= 0 <= max
. Jeśli 0
nie należy do zakresu wartości, zachowanie może być nieoczekiwane: Jeśli 0 < min < max
: min_adj = 0
i max_adj = max - min
. Jeśli min < max < 0
: min_adj = min - max
i max_adj = 0
. Jeśli min <= 0 <= max
: scale = (max - min) / (2^num_bits - 1)
, min_adj = scale * round(min / scale)
i max_adj = max + min_adj - min
.
Ta operacja ma gradient i dlatego pozwala na trenowanie wartości min
i max
.
Argumenty:
Zwroty:
Atrybuty publiczne
Funkcje publiczne
węzeł
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operator::tensorflow::Wyjście
operator::tensorflow::Output() const
Publiczne funkcje statyczne
WąskiZakres
Attrs NarrowRange(
bool x
)
Liczba bitów
Attrs NumBits(
int64 x
)
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[],[],null,["# tensorflow::ops::FakeQuantWithMinMaxVarsPerChannel Class Reference\n\ntensorflow::ops::FakeQuantWithMinMaxVarsPerChannel\n==================================================\n\n`#include \u003carray_ops.h\u003e`\n\nFake-quantize the 'inputs' tensor of type float and one of the shapes: `[d]`,.\n\nSummary\n-------\n\n`[b, d]``[b, h, w, d]` via per-channel floats `min` and `max` of shape `[d]` to 'outputs' tensor of same shape as `inputs`.\n\n`[min; max]` define the clamping range for the `inputs` data. `inputs` values are quantized into the quantization range (`[0; 2^num_bits - 1]` when `narrow_range` is false and `[1; 2^num_bits - 1]` when it is true) and then de-quantized and output as floats in `[min; max]` interval. `num_bits` is the bitwidth of the quantization; between 2 and 16, inclusive.\n\nBefore quantization, `min` and `max` values are adjusted with the following logic. It is suggested to have `min \u003c= 0 \u003c= max`. If `0` is not in the range of values, the behavior can be unexpected: If `0 \u003c min \u003c max`: `min_adj = 0` and `max_adj = max - min`. If `min \u003c max \u003c 0`: `min_adj = min - max` and `max_adj = 0`. If `min \u003c= 0 \u003c= max`: `scale = (max - min) / (2^num_bits - 1)`, `min_adj = scale * round(min / scale)` and `max_adj = max + min_adj - min`.\n\nThis operation has a gradient and thus allows for training `min` and `max` values.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): The outputs tensor.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [FakeQuantWithMinMaxVarsPerChannel](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a6030177a230ce0707cc84d79780582a9)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` inputs, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` min, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max)` ||\n| [FakeQuantWithMinMaxVarsPerChannel](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a757ed99cef8d6918b36881c63b277e37)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` inputs, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` min, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max, const `[FakeQuantWithMinMaxVarsPerChannel::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-per-channel/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1aa47fa159b050ba6248ed92fab3b37c71) | [Operation](/versions/r2.1/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [outputs](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a045da04027810b223dfcd856f1a5aeb6) | `::`[tensorflow::Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a8b5095141e6cd70ed955461ded03fed9)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1ac20c09de7bf22ed92c3c4e8779c91731)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a1e190c4077dd2fc0e08d472ac85d044e)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|----------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [NarrowRange](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a8988bcb74e45c0d5741dc23d48ff4218)`(bool x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-per-channel/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1_1_attrs) |\n| [NumBits](#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1a8e692f7bad00eea0472c6e277b38ca89)`(int64 x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-per-channel/attrs#structtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel_1_1_attrs) |\n\n| ### Structs ||\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::FakeQuantWithMinMaxVarsPerChannel::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/fake-quant-with-min-max-vars-per-channel/attrs) | Optional attribute setters for [FakeQuantWithMinMaxVarsPerChannel](/versions/r2.1/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars-per-channel#classtensorflow_1_1ops_1_1_fake_quant_with_min_max_vars_per_channel). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### outputs\n\n```text\n::tensorflow::Output outputs\n``` \n\nPublic functions\n----------------\n\n### FakeQuantWithMinMaxVarsPerChannel\n\n```gdscript\n FakeQuantWithMinMaxVarsPerChannel(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input inputs,\n ::tensorflow::Input min,\n ::tensorflow::Input max\n)\n``` \n\n### FakeQuantWithMinMaxVarsPerChannel\n\n```gdscript\n FakeQuantWithMinMaxVarsPerChannel(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input inputs,\n ::tensorflow::Input min,\n ::tensorflow::Input max,\n const FakeQuantWithMinMaxVarsPerChannel::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### NarrowRange\n\n```text\nAttrs NarrowRange(\n bool x\n)\n``` \n\n### NumBits\n\n```text\nAttrs NumBits(\n int64 x\n)\n```"]]