সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
টেনসরফ্লো :: অপস:: BatchToSpaceND
#include <array_ops.h>
T টাইপের ND টেনসরের জন্য BatchToSpace।
সারাংশ
এই অপারেশনটি "ব্যাচ" ডাইমেনশন 0 কে M + 1
আকার block_shape + [batch]
এর আকারে পরিবর্তন করে, এই ব্লকগুলিকে স্থানিক মাত্রা [1, ..., M]
দ্বারা সংজ্ঞায়িত গ্রিডে ফেরত দেয়, যাতে ফলাফল পাওয়া যায়। ইনপুট হিসাবে একই পদে. এই মধ্যবর্তী ফলাফলের স্থানিক মাত্রাগুলি তারপরে আউটপুট উত্পাদন করার জন্য crops
অনুসারে ক্রপ করা হয়। এটি SpaceToBatch এর বিপরীত। একটি সুনির্দিষ্ট বিবরণের জন্য নীচে দেখুন.
যুক্তি:
- স্কোপ: একটি স্কোপ অবজেক্ট
- ইনপুট: ND আকৃতির সাথে
input_shape = [batch] + spatial_shape + remaining_shape
, যেখানে স্থানিক_shape-এর M মাত্রা আছে। - ব্লক_শেপ: আকৃতি
[M]
সহ 1-D, সমস্ত মান হতে হবে >= 1। - ফসল: 2-D আকৃতি
[M, 2]
সহ, সমস্ত মান অবশ্যই >= 0 হতে হবে crops[i] = [crop_start, crop_end]
ইনপুট ডাইমেনশন i + 1
থেকে ক্রপ করার পরিমাণ নির্দিষ্ট করে, যা স্থানিক মাত্রা i
এর সাথে মিলে যায়। এটা প্রয়োজন যে crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]
এই অপারেশনটি নিম্নলিখিত ধাপগুলির সমতুল্য:
- আকৃতির
reshaped
input
পুনরায় আকার দিন: [block_shape[0], ..., block_shape[M-1], batch/prod(block_shape), input_shape[1], ..., input_shape[N-1]] - আকৃতির
permuted
তৈরি করতে reshaped
পারমিউট মাত্রা [ব্যাচ / প্রোড(ব্লক_শেপ), ইনপুট_শেপ[1], ব্লক_শেপ[0], ..., ইনপুট_শেপ[M], ব্লক_শেপ[M-1],ইনপুট_শেপ[M+1], ..., input_shape[N-1]] - আকৃতি [ব্যাচ / প্রোড(ব্লক_শেপ), ইনপুট_শেপ[1] * ব্লক_শেপ[0], ..., ইনপুট_শেপ[
permuted
reshaped_permuted
* ব্লক_শেপ[M-1],ইনপুট_শেপ[M+1], .. ., input_shape[N-1]] - আকৃতির আউটপুট তৈরি করতে
crops
অনুসারে reshaped_permuted
মাত্রার শুরু এবং শেষ [1, ..., M]
কাটুন: [ব্যাচ / প্রোড(ব্লক_শেপ), ইনপুট_শেপ[1] * ব্লক_শেপ[0] - ফসল[0, 0] - ফসল[0,1], ..., ইনপুট_শেপ[M] * ব্লক_শেপ[M-1] - ফসল[M-1,0] - ফসল[M-1,1],ইনপুট_শেপ[M+1] , ..., input_shape[N-1]]
কিছু উদাহরণ:
(1) আকৃতির নিম্নলিখিত ইনপুটের জন্য [4, 1, 1, 1]
, block_shape = [2, 2]
, এবং crops = [[0, 0], [0, 0]]
:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
আউটপুট টেনসরের আকৃতি রয়েছে [1, 2, 2, 1]
এবং মান:
x = [[[[1], [2]], [[3], [4]]]]
(2) আকৃতির নিম্নলিখিত ইনপুটের জন্য [4, 1, 1, 3]
, block_shape = [2, 2]
, এবং crops = [[0, 0], [0, 0]]
:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
আউটপুট টেনসরের আকৃতি রয়েছে [1, 2, 2, 3]
এবং মান:
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
(3) আকৃতির নিম্নলিখিত ইনপুটের জন্য [4, 2, 2, 1]
, block_shape = [2, 2]
, এবং crops = [[0, 0], [0, 0]]
:
x = [[[[1], [3]], [[9], [11]]],
[[[2], [4]], [[10], [12]]],
[[[5], [7]], [[13], [15]]],
[[[6], [8]], [[14], [16]]]]
আউটপুট টেনসরের আকৃতি [1, 4, 4, 1]
এবং মান রয়েছে:
x = [[[[1], [2], [3], [4]],
[[5], [6], [7], [8]],
[[9], [10], [11], [12]],
[[13], [14], [15], [16]]]]
(4) আকৃতির নিম্নলিখিত ইনপুটের জন্য [8, 1, 3, 1]
, block_shape = [2, 2]
, এবং crops = [[0, 0], [2, 0]]
:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]],
[[[0], [2], [4]]], [[[0], [10], [12]]],
[[[0], [5], [7]]], [[[0], [13], [15]]],
[[[0], [6], [8]]], [[[0], [14], [16]]]]
আউটপুট টেনসরের আকৃতি [2, 2, 4, 1]
এবং মান রয়েছে:
x = [[[[1], [2], [3], [4]],
[[5], [6], [7], [8]]],
[[[9], [10], [11], [12]],
[[13], [14], [15], [16]]]]
রিটার্ন:
পাবলিক বৈশিষ্ট্য
পাবলিক ফাংশন
নোড
::tensorflow::Node * node() const
operator::tensorflow::Input() const
অপারেটর::টেনসরফ্লো::আউটপুট
operator::tensorflow::Output() const
অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-26 UTC-তে শেষবার আপডেট করা হয়েছে।
[null,null,["2025-07-26 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# tensorflow::ops::BatchToSpaceND Class Reference\n\ntensorflow::ops::BatchToSpaceND\n===============================\n\n`#include \u003carray_ops.h\u003e`\n\n[BatchToSpace](/versions/r1.15/api_docs/cc/class/tensorflow/ops/batch-to-space#classtensorflow_1_1ops_1_1_batch_to_space) for N-D tensors of type T.\n\nSummary\n-------\n\nThis operation reshapes the \"batch\" dimension 0 into `M + 1` dimensions of shape `block_shape + [batch]`, interleaves these blocks back into the grid defined by the spatial dimensions `[1, ..., M]`, to obtain a result with the same rank as the input. The spatial dimensions of this intermediate result are then optionally cropped according to `crops` to produce the output. This is the reverse of SpaceToBatch. See below for a precise description.\n\nArguments:\n\n- scope: A [Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- input: N-D with shape `input_shape = [batch] + spatial_shape + remaining_shape`, where spatial_shape has M dimensions.\n- block_shape: 1-D with shape `[M]`, all values must be \\\u003e= 1.\n- crops: 2-D with shape `[M, 2]`, all values must be \\\u003e= 0. `crops[i] = [crop_start, crop_end]` specifies the amount to crop from input dimension `i + 1`, which corresponds to spatial dimension `i`. It is required that `crop_start[i] + crop_end[i] \u003c= block_shape[i] * input_shape[i + 1]`.\n\n\u003cbr /\u003e\n\nThis operation is equivalent to the following steps:\n\n\n1. Reshape `input` to `reshaped` of shape: \\[block_shape\\[0\\], ..., block_shape\\[M-1\\], batch / prod(block_shape), input_shape\\[1\\], ..., input_shape\\[N-1\\]\\]\n2. Permute dimensions of `reshaped` to produce `permuted` of shape \\[batch / prod(block_shape),input_shape\\[1\\], block_shape\\[0\\], ..., input_shape\\[M\\], block_shape\\[M-1\\],input_shape\\[M+1\\], ..., input_shape\\[N-1\\]\\]\n3. Reshape `permuted` to produce `reshaped_permuted` of shape \\[batch / prod(block_shape),input_shape\\[1\\] \\* block_shape\\[0\\], ..., input_shape\\[M\\] \\* block_shape\\[M-1\\],input_shape\\[M+1\\], ..., input_shape\\[N-1\\]\\]\n4. Crop the start and end of dimensions `[1, ..., M]` of `reshaped_permuted` according to `crops` to produce the output of shape: \\[batch / prod(block_shape),input_shape\\[1\\] \\* block_shape\\[0\\] - crops\\[0,0\\] - crops\\[0,1\\], ..., input_shape\\[M\\] \\* block_shape\\[M-1\\] - crops\\[M-1,0\\] - crops\\[M-1,1\\],input_shape\\[M+1\\], ..., input_shape\\[N-1\\]\\]\n\n\u003cbr /\u003e\n\nSome examples:\n\n(1) For the following input of shape `[4, 1, 1, 1]`, `block_shape = [2, 2]`, and `crops = [[0, 0], [0, 0]]`:\n\n\n```text\n[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]\n```\n\n\u003cbr /\u003e\n\nThe output tensor has shape `[1, 2, 2, 1]` and value:\n\n\n```text\nx = [[[[1], [2]], [[3], [4]]]]\n```\n\n\u003cbr /\u003e\n\n(2) For the following input of shape `[4, 1, 1, 3]`, `block_shape = [2, 2]`, and `crops = [[0, 0], [0, 0]]`:\n\n\n```text\n[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]\n```\n\n\u003cbr /\u003e\n\nThe output tensor has shape `[1, 2, 2, 3]` and value:\n\n\n```text\nx = [[[[1, 2, 3], [4, 5, 6]],\n [[7, 8, 9], [10, 11, 12]]]]\n```\n\n\u003cbr /\u003e\n\n(3) For the following input of shape `[4, 2, 2, 1]`, `block_shape = [2, 2]`, and `crops = [[0, 0], [0, 0]]`:\n\n\n```text\nx = [[[[1], [3]], [[9], [11]]],\n [[[2], [4]], [[10], [12]]],\n [[[5], [7]], [[13], [15]]],\n [[[6], [8]], [[14], [16]]]]\n```\n\n\u003cbr /\u003e\n\nThe output tensor has shape `[1, 4, 4, 1]` and value:\n\n\n```text\nx = [[[[1], [2], [3], [4]],\n [[5], [6], [7], [8]],\n [[9], [10], [11], [12]],\n [[13], [14], [15], [16]]]]\n```\n\n\u003cbr /\u003e\n\n(4) For the following input of shape `[8, 1, 3, 1]`, `block_shape = [2, 2]`, and `crops = [[0, 0], [2, 0]]`:\n\n\n```text\nx = [[[[0], [1], [3]]], [[[0], [9], [11]]],\n [[[0], [2], [4]]], [[[0], [10], [12]]],\n [[[0], [5], [7]]], [[[0], [13], [15]]],\n [[[0], [6], [8]]], [[[0], [14], [16]]]]\n```\n\n\u003cbr /\u003e\n\nThe output tensor has shape `[2, 2, 4, 1]` and value:\n\n\n```text\nx = [[[[1], [2], [3], [4]],\n [[5], [6], [7], [8]]],\n [[[9], [10], [11], [12]],\n [[13], [14], [15], [16]]]]\n```\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): The output tensor.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [BatchToSpaceND](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1ae9fc7cf839b67ec1692eb9dbd13dab3f)`(const ::`[tensorflow::Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` block_shape, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` crops)` ||\n\n| ### Public attributes ||\n|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1a1e8d19aed27a8ba75041200ee25a7310) | [Operation](/versions/r1.15/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1a2f9a5258c2d37ba9ce71c6ebfe2f754d) | `::`[tensorflow::Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1a8c320b154abac62302b289161e5aa745)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1a94adde19cfddf4d1109cceff401543c8)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_batch_to_space_n_d_1a17e07f190557e6565111355cc159b528)`() const ` | ` ` ` ` |\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### BatchToSpaceND\n\n```gdscript\n BatchToSpaceND(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n ::tensorflow::Input block_shape,\n ::tensorflow::Input crops\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```"]]