Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
tensor akışı:: işlem:: BatchToSpaceND
#include <array_ops.h>
T tipi ND tensörleri için BatchToSpace.
Özet
Bu işlem, "toplu" boyut 0'ı block_shape + [batch]
şeklinin M + 1
boyutlarına yeniden şekillendirir, bu blokları, uzamsal boyutlar [1, ..., M]
tarafından tanımlanan ızgaraya geri yerleştirir ve sonuç elde edilir: girişle aynı sıra. Bu ara sonucun mekansal boyutları daha sonra çıktıyı üretmek için isteğe bağlı olarak crops
göre kırpılır. Bu SpaceToBatch'in tam tersidir. Kesin bir açıklama için aşağıya bakın.
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- giriş: ND şeklinde
input_shape = [batch] + spatial_shape + remaining_shape
, burada mekansal_şekil M boyutlara sahiptir. - Block_shape: 1-D şekilli
[M]
, tüm değerler >= 1 olmalıdır. - mahsuller:
[M, 2]
şeklinde 2 boyutlu, tüm değerler >= 0 olmalıdır. crops[i] = [crop_start, crop_end]
i
uzamsal boyutuna karşılık gelen i + 1
giriş boyutundan kırpılacak miktarı belirtir. crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]
olması gerekir.
Bu işlem aşağıdaki adımlara eşdeğerdir:
-
input
şekli reshaped
için yeniden şekillendirin: [blok_şekli[0], ..., blok_şekli[M-1], toplu / ürün(blok_şekli), giriş_şekli[1], ..., giriş_şekli[N-1]] -
permuted
şekil üretmek için reshaped
boyutların izinlerini değiştir [batch / prod(block_shape),input_shape[1], blok_shape[0], ..., input_shape[M], blok_shape[M-1],input_shape[M+1], ..., giriş_şekli[N-1]] - Yeniden
permuted
şeklin reshaped_permuted
izin verildi [batch / prod(block_shape),input_shape[1] * blok_shape[0], ..., input_shape[M] * blok_shape[M-1],input_shape[M+1], .. ., giriş_şekli[N-1]] - Şeklin çıktısını üretmek için
reshaped_permuted
boyutlarının [1, ..., M]
başlangıç ve bitişini crops
göre kırpın: [batch / prod(block_shape),input_shape[1] * blok_shape[0] - mahsuller[0, 0] - mahsuller[0,1], ..., girdi_şekli[M] * blok_şekli[M-1] - mahsuller[M-1,0] - mahsuller[M-1,1],girdi_şekli[M+1] , ..., giriş_şekli[N-1]]
Bazı örnekler:
(1) Aşağıdaki şekil girişi için [4, 1, 1, 1]
, block_shape = [2, 2]
ve crops = [[0, 0], [0, 0]]
:
[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
Çıkış tensörünün şekli [1, 2, 2, 1]
ve değeri vardır:
x = [[[[1], [2]], [[3], [4]]]]
(2) Aşağıdaki şekil girişi için [4, 1, 1, 3]
, block_shape = [2, 2]
ve crops = [[0, 0], [0, 0]]
:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
Çıkış tensörünün şekli [1, 2, 2, 3]
ve değeri vardır:
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
(3) Aşağıdaki şekil girişi için [4, 2, 2, 1]
, block_shape = [2, 2]
ve crops = [[0, 0], [0, 0]]
:
x = [[[[1], [3]], [[9], [11]]],
[[[2], [4]], [[10], [12]]],
[[[5], [7]], [[13], [15]]],
[[[6], [8]], [[14], [16]]]]
Çıkış tensörünün şekli [1, 4, 4, 1]
ve değeri vardır:
x = [[[[1], [2], [3], [4]],
[[5], [6], [7], [8]],
[[9], [10], [11], [12]],
[[13], [14], [15], [16]]]]
(4) Aşağıdaki şekil girişi için [8, 1, 3, 1]
, block_shape = [2, 2]
ve 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]]]]
Çıkış tensörünün şekli [2, 2, 4, 1]
ve değeri vardır:
x = [[[[1], [2], [3], [4]],
[[5], [6], [7], [8]]],
[[[9], [10], [11], [12]],
[[13], [14], [15], [16]]]]
İade:
Genel özellikler
Kamu işlevleri
düğüm
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operatör::tensorflow::Çıktı
operator::tensorflow::Output() const
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[null,null,["Son güncelleme tarihi: 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```"]]