Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
przepływ tensorowy:: ops:: Konw2D
#include <nn_ops.h>
Oblicza splot 2-D przy input
4-D i tensorach filter
.
Streszczenie
Biorąc pod uwagę tensor wejściowy kształtu [batch, in_height, in_width, in_channels]
i tensor filtra/jądra kształtu [filter_height, filter_width, in_channels, out_channels]
, ta operacja wykonuje następujące czynności:
- Spłaszcza filtr do macierzy 2-D o kształcie
[filter_height * filter_width * in_channels, output_channels]
. - Wyodrębnia fragmenty obrazu z tensora wejściowego, tworząc wirtualny tensor kształtu
[batch, out_height, out_width, filter_height * filter_width * in_channels]
. - Dla każdej łaty mnoży w prawo macierz filtra i wektor łaty obrazu.
Szczegółowo, w domyślnym formacie NHWC,
output[b, i, j, k] =
sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
filter[di, dj, q, k]
Musi mieć strides[0] = strides[3] = 1
. W najczęstszym przypadku tych samych kroków poziomych i wierzchołków, strides = [1, stride, stride, 1]
.
Argumenty:
- zakres: Obiekt Scope
- wejście: tensor 4-D. Kolejność wymiarów jest interpretowana zgodnie z wartością
data_format
, szczegóły znajdziesz poniżej. - filtr: 4-D tensor kształtu
[filter_height, filter_width, in_channels, out_channels]
- kroki: tensor 1-D o długości 4. Krok przesuwanego okna dla każdego wymiaru
input
. Kolejność wymiarów jest określana przez wartość data_format
, szczegóły znajdziesz poniżej. - dopełnienie: typ algorytmu dopełniania, który ma zostać użyty.
Opcjonalne atrybuty (patrz Attrs
):
- express_paddings: Jeśli
padding
ma wartość "EXPLICIT"
, lista jawnych ilości dopełnienia. W przypadku i-tego wymiaru ilość dopełnienia wstawionego przed i po wymiarze wynosi odpowiednio explicit_paddings[2 * i]
i explicit_paddings[2 * i + 1]
. Jeśli padding
nie jest "EXPLICIT"
, explicit_paddings
musi być puste. - data_format: Określ format danych wejściowych i wyjściowych. Przy domyślnym formacie „NHWC” dane są zapisywane w kolejności: [partia, wysokość, szerokość, kanały]. Alternatywnie formatem może być „NCHW”, a kolejność przechowywania danych: [partia, kanały, wysokość, szerokość].
- dylatacje: 1-D tensor długości 4. Współczynnik dylatacji dla każdego wymiaru
input
. Jeśli ustawione na k > 1, pomiędzy każdym elementem filtrującym w tym wymiarze zostanie pominiętych komórek k-1. Kolejność wymiarów jest określona przez wartość data_format
, szczegóły znajdziesz powyżej. Dylatacje w wymiarach partii i głębokości muszą wynosić 1.
Zwroty:
-
Output
: tensor 4-D. Kolejność wymiarów jest określana przez wartość data_format
, szczegóły znajdziesz poniżej.
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
Attrs DataFormat(
StringPiece x
)
Dylatacje
Attrs Dilations(
const gtl::ArraySlice< int > & x
)
Wyraźne wyściółki
Attrs ExplicitPaddings(
const gtl::ArraySlice< int > & x
)
UżyjCudnnOnGpu
Attrs UseCudnnOnGpu(
bool 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-26 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-26 UTC."],[],[],null,["# tensorflow::ops::Conv2D Class Reference\n\ntensorflow::ops::Conv2D\n=======================\n\n`#include \u003cnn_ops.h\u003e`\n\nComputes a 2-D convolution given 4-D `input` and `filter` tensors.\n\nSummary\n-------\n\nGiven an input tensor of shape `[batch, in_height, in_width, in_channels]` and a filter / kernel tensor of shape `[filter_height, filter_width, in_channels, out_channels]`, this op performs the following:\n\n\n1. Flattens the filter to a 2-D matrix with shape `[filter_height * filter_width * in_channels, output_channels]`.\n2. Extracts image patches from the input tensor to form a *virtual* tensor of shape `[batch, out_height, out_width, filter_height * filter_width * in_channels]`.\n3. For each patch, right-multiplies the filter matrix and the image patch vector.\n\n\u003cbr /\u003e\n\nIn detail, with the default NHWC format, \n\n```scdoc\noutput[b, i, j, k] =\n sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *\n filter[di, dj, q, k]\n```\n\n\u003cbr /\u003e\n\nMust have `strides[0] = strides[3] = 1`. For the most common case of the same horizontal and vertices strides, `strides = [1, stride, stride, 1]`.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- input: A 4-D tensor. The dimension order is interpreted according to the value of `data_format`, see below for details.\n- filter: A 4-D tensor of shape `[filter_height, filter_width, in_channels, out_channels]`\n- strides: 1-D tensor of length 4. The stride of the sliding window for each dimension of `input`. The dimension order is determined by the value of `data_format`, see below for details.\n- padding: The type of padding algorithm to use.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs)):\n\n- explicit_paddings: If `padding` is `\"EXPLICIT\"`, the list of explicit padding amounts. For the ith dimension, the amount of padding inserted before and after the dimension is `explicit_paddings[2 * i]` and `explicit_paddings[2 * i + 1]`, respectively. If `padding` is not `\"EXPLICIT\"`, `explicit_paddings` must be empty.\n- data_format: Specify the data format of the input and output data. With the default format \"NHWC\", the data is stored in the order of: \\[batch, height, width, channels\\]. Alternatively, the format could be \"NCHW\", the data storage order of: \\[batch, channels, height, width\\].\n- dilations: 1-D tensor of length 4. The dilation factor for each dimension of `input`. If set to k \\\u003e 1, there will be k-1 skipped cells between each filter element on that dimension. The dimension order is determined by the value of `data_format`, see above for details. Dilations in the batch and depth dimensions must be 1.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A 4-D tensor. The dimension order is determined by the value of `data_format`, see below for details.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [Conv2D](#classtensorflow_1_1ops_1_1_conv2_d_1ae27dd9789ca39f5241ef6169e9602d98)`(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)` input, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` filter, const gtl::ArraySlice\u003c int \u003e & strides, StringPiece padding)` ||\n| [Conv2D](#classtensorflow_1_1ops_1_1_conv2_d_1a66103d912b58ddc4cc8630ff2aee7cdc)`(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)` input, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` filter, const gtl::ArraySlice\u003c int \u003e & strides, StringPiece padding, const `[Conv2D::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_conv2_d_1af9ad760317104d0f49e840991ec3b098) | [Operation](/versions/r2.1/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_conv2_d_1aaa248db46e3bf2bdff1daf72d5548c36) | `::`[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_conv2_d_1a0792a7741b724bc96b71180628af6375)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_conv2_d_1a9f4abe0db26277c44cb54ea09954944f)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_conv2_d_1ac956ca095c170eabe93569934e8d1eb8)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|--------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|\n| [DataFormat](#classtensorflow_1_1ops_1_1_conv2_d_1abb338036c1cdf1dca0ca58eb4a1f1226)`(StringPiece x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs) |\n| [Dilations](#classtensorflow_1_1ops_1_1_conv2_d_1ad1fd4cc8dd1e6d6fe15d3f4d57352a4f)`(const gtl::ArraySlice\u003c int \u003e & x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs) |\n| [ExplicitPaddings](#classtensorflow_1_1ops_1_1_conv2_d_1a1745cff4561efd59e819a2374db7f925)`(const gtl::ArraySlice\u003c int \u003e & x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs) |\n| [UseCudnnOnGpu](#classtensorflow_1_1ops_1_1_conv2_d_1ad94e81abdab43c58740cc2e9a522d35f)`(bool x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs#structtensorflow_1_1ops_1_1_conv2_d_1_1_attrs) |\n\n| ### Structs ||\n|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::Conv2D::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs) | Optional attribute setters for [Conv2D](/versions/r2.1/api_docs/cc/class/tensorflow/ops/conv2-d#classtensorflow_1_1ops_1_1_conv2_d). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\nPublic functions\n----------------\n\n### Conv2D\n\n```gdscript\n Conv2D(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n ::tensorflow::Input filter,\n const gtl::ArraySlice\u003c int \u003e & strides,\n StringPiece padding\n)\n``` \n\n### Conv2D\n\n```gdscript\n Conv2D(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n ::tensorflow::Input filter,\n const gtl::ArraySlice\u003c int \u003e & strides,\n StringPiece padding,\n const Conv2D::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### DataFormat\n\n```text\nAttrs DataFormat(\n StringPiece x\n)\n``` \n\n### Dilations\n\n```gdscript\nAttrs Dilations(\n const gtl::ArraySlice\u003c int \u003e & x\n)\n``` \n\n### ExplicitPaddings\n\n```gdscript\nAttrs ExplicitPaddings(\n const gtl::ArraySlice\u003c int \u003e & x\n)\n``` \n\n### UseCudnnOnGpu\n\n```text\nAttrs UseCudnnOnGpu(\n bool x\n)\n```"]]