جریان تنسور:: عملیات:: Conv2D
#include <nn_ops.h>
یک کانولوشن دو بعدی را با توجه به تانسورهای input
و filter
4 بعدی محاسبه می کند.
خلاصه
با توجه به یک تانسور ورودی شکل [batch, in_height, in_width, in_channels]
و یک فیلتر / تانسور هسته شکل [filter_height, filter_width, in_channels, out_channels]
، این عملیات موارد زیر را انجام میدهد:
- فیلتر را به یک ماتریس دوبعدی با شکل
[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]
.
استدلال ها:
- scope: یک شی Scope
- ورودی: یک تانسور 4 بعدی. ترتیب ابعاد با توجه به مقدار
data_format
تفسیر می شود، برای جزئیات به زیر مراجعه کنید. - فیلتر: یک تانسور 4 بعدی شکل
[filter_height, filter_width, in_channels, out_channels]
- گام ها: تانسور 1 بعدی به طول 4. گام پنجره کشویی برای هر بعد
input
. ترتیب ابعاد با مقدارdata_format
تعیین می شود، برای جزئیات به زیر مراجعه کنید. - padding: نوع الگوریتم padding مورد استفاده.
ویژگی های اختیاری (به Attrs
مراجعه کنید):
- explicit_paddings: اگر
padding
"EXPLICIT"
باشد، فهرست مقادیر صریح padding. برای بعد ith، مقدار padding درج شده قبل و بعد از بعد به ترتیبexplicit_paddings[2 * i]
وexplicit_paddings[2 * i + 1]
است. اگرpadding
"EXPLICIT"
نیست،explicit_paddings
باید خالی باشد. - data_format: فرمت داده داده های ورودی و خروجی را مشخص کنید. با فرمت پیش فرض "NHWC"، داده ها به ترتیب زیر ذخیره می شوند: [دسته، ارتفاع، عرض، کانال]. از طرف دیگر، قالب می تواند "NCHW" باشد، ترتیب ذخیره سازی داده ها: [دسته، کانال، ارتفاع، عرض].
- اتساع: تانسور 1 بعدی به طول 4. ضریب اتساع برای هر بعد
input
. اگر روی k> 1 تنظیم شود، بین هر عنصر فیلتر در آن بعد، سلول های k-1 پرش شده وجود خواهد داشت. ترتیب ابعاد با مقدارdata_format
تعیین می شود، برای جزئیات بیشتر به بالا مراجعه کنید. اتساع در ابعاد دسته ای و عمقی باید 1 باشد.
برمی گرداند:
-
Output
: یک تانسور 4 بعدی. ترتیب ابعاد با مقدارdata_format
تعیین می شود، برای جزئیات به زیر مراجعه کنید.
سازندگان و ویرانگرها | |
---|---|
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding) | |
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs) |
صفات عمومی | |
---|---|
operation | |
output |
توابع عمومی | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
توابع استاتیک عمومی | |
---|---|
DataFormat (StringPiece x) | |
Dilations (const gtl::ArraySlice< int > & x) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) | |
UseCudnnOnGpu (bool x) |
سازه ها | |
---|---|
tensorflow:: ops:: Conv2D:: Attrs | تنظیم کننده های ویژگی اختیاری برای Conv2D . |
صفات عمومی
عملیات
Operation operation
خروجی
::tensorflow::Output output
توابع عمومی
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding )
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs )
گره
::tensorflow::Node * node() const
عملگر::tensorflow::ورودی
operator::tensorflow::Input() const
عملگر::tensorflow::خروجی
operator::tensorflow::Output() const
توابع استاتیک عمومی
DataFormat
Attrs DataFormat( StringPiece x )
اتساع ها
Attrs Dilations( const gtl::ArraySlice< int > & x )
Explicit Paddings
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )
ازCudnnOnGpu استفاده کنید
Attrs UseCudnnOnGpu( bool x )
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-09-23 بهوقت ساعت هماهنگ جهانی.