จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เทนเซอร์โฟลว์:: ปฏิบัติการ:: Conv2D
#include <nn_ops.h>
คำนวณการบิดแบบ 2 มิติโดยรับ input
4 มิติและเทนเซอร์ filter
สรุป
เมื่อพิจารณาเทนเซอร์อินพุตของรูปร่าง [batch, in_height, in_width, in_channels]
และตัวกรอง / เทนเซอร์เคอร์เนลของรูปร่าง [filter_height, filter_width, in_channels, out_channels]
op นี้จะดำเนินการต่อไปนี้:
- ทำให้ตัวกรองเรียบเป็นเมทริกซ์ 2 มิติที่มีรูปร่าง
[filter_height * filter_width * in_channels, output_channels]
- แยกแพตช์รูปภาพจากเทนเซอร์อินพุตเพื่อสร้างเทนเซอร์ เสมือนจริง ของรูปร่าง
[batch, out_height, out_width, filter_height * filter_width * in_channels]
- สำหรับแต่ละแพตช์ ให้คูณขวากับเมทริกซ์ตัวกรองและเวกเตอร์แพตช์รูปภาพ
โดยละเอียดด้วยรูปแบบ 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]
ต้องมี strides[0] = strides[3] = 1
สำหรับกรณีที่พบบ่อยที่สุดของการก้าวในแนวนอนและจุดยอดเดียวกัน strides = [1, stride, stride, 1]
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- อินพุต: เทนเซอร์ 4-D ลำดับมิติได้รับการตีความตามค่าของ
data_format
โปรดดูรายละเอียดด้านล่าง - ตัวกรอง: เทนเซอร์ 4 มิติของรูปร่าง
[filter_height, filter_width, in_channels, out_channels]
- ความก้าวหน้า: เมตริกซ์ 1-D ที่มีความยาว 4 ก้าวของหน้าต่างบานเลื่อนสำหรับแต่ละมิติของ
input
ลำดับมิติถูกกำหนดโดยค่าของ data_format
โปรดดูรายละเอียดด้านล่าง - padding: ประเภทของอัลกอริธึมการเติมที่จะใช้
แอ็ตทริบิวต์ทางเลือก (ดู Attrs
):
- explic_paddings: หาก
padding
คือ "EXPLICIT"
รายการของจำนวนช่องว่างภายในที่ชัดเจน สำหรับมิติที่ 8 จำนวนช่องว่างภายในที่แทรกก่อนและหลังมิติคือ explicit_paddings[2 * i]
และ explicit_paddings[2 * i + 1]
ตามลำดับ หาก padding
ไม่ใช่ "EXPLICIT"
แสดงว่า explicit_paddings
จะต้องเว้นว่างไว้ - data_format: ระบุรูปแบบข้อมูลของข้อมูลอินพุตและเอาต์พุต ด้วยรูปแบบเริ่มต้น "NHWC" ข้อมูลจะถูกจัดเก็บตามลำดับ: [แบทช์ ความสูง ความกว้าง ช่อง] หรืออีกทางหนึ่ง รูปแบบอาจเป็น "NCHW" ซึ่งเป็นลำดับการจัดเก็บข้อมูลเป็น: [แบทช์ ช่อง ความสูง ความกว้าง]
- การขยาย: เทนเซอร์ 1-D ที่มีความยาว 4. ปัจจัยการขยายสำหรับแต่ละมิติของ
input
หากตั้งค่าเป็น k > 1 จะมีเซลล์ที่ข้าม k-1 ระหว่างองค์ประกอบตัวกรองแต่ละรายการในมิตินั้น ลำดับมิติถูกกำหนดโดยค่าของ data_format
โปรดดูรายละเอียดด้านบน การขยายขนาดแบทช์และความลึกต้องเป็น 1
ผลตอบแทน:
-
Output
: เทนเซอร์ 4-D ลำดับมิติถูกกำหนดโดยค่าของ data_format
โปรดดูรายละเอียดด้านล่าง
คุณลักษณะสาธารณะ
งานสาธารณะ
โหนด
::tensorflow::Node * node() const
operator::tensorflow::Input() const
ตัวดำเนินการ::tensorflow::เอาต์พุต
operator::tensorflow::Output() const
ฟังก์ชันคงที่สาธารณะ
Attrs DataFormat(
StringPiece x
)
การขยาย
Attrs Dilations(
const gtl::ArraySlice< int > & x
)
Paddings ที่ชัดเจน
Attrs ExplicitPaddings(
const gtl::ArraySlice< int > & x
)
ใช้ CudnnOnGpu
Attrs UseCudnnOnGpu(
bool x
)
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-25 UTC
[null,null,["อัปเดตล่าสุด 2025-07-25 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.0/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.0/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.0/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.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, ::`[tensorflow::Input](/versions/r2.0/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.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, ::`[tensorflow::Input](/versions/r2.0/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.0/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.0/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_conv2_d_1aaa248db46e3bf2bdff1daf72d5548c36) | `::`[tensorflow::Output](/versions/r2.0/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.0/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.0/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.0/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.0/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.0/api_docs/cc/struct/tensorflow/ops/conv2-d/attrs) | Optional attribute setters for [Conv2D](/versions/r2.0/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```"]]