コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
テンソルフロー::作戦::深さから空間まで
#include <array_ops.h>
T 型のテンソルのDepthToSpace。
まとめ
データを深度から空間データのブロックに再配置します。これは、SpaceToDepth の逆変換です。より具体的には、この操作は、 depth
次元の値が空間ブロックでheight
およびwidth
次元に移動される入力テンソルのコピーを出力します。 attr block_size
、入力ブロック サイズとデータの移動方法を示します。
- 深さからのサイズ
block_size * block_size
のデータのチャンクは、サイズblock_size x block_size
の重複しないブロックに再配置されます。 - 出力テンソルの幅は
input_depth * block_size
ですが、高さはinput_height * block_size
です。 - 出力イメージの各ブロック内の Y、X 座標は、入力チャネル インデックスの高次成分によって決定されます。
- 入力テンソルの深さは
block_size * block_size
で割り切れる必要があります。
data_format
属性は、次のオプションを使用して入力テンソルと出力テンソルのレイアウトを指定します: "NHWC": [ batch, height, width, channels ]
"NCHW": [ batch, channels, height, width ]
"NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]
この操作を 6-D Tensor の変換と考えると便利です。たとえば、data_format = NHWC の場合、入力テンソルの各要素は 6 つの座標を介して指定でき、メモリ レイアウトの重要性の降順で次のように並べられます: n,iY,iX,bY,bX,oC (n=バッチ インデックス、iX、iY は X を意味します)または入力画像内の Y 座標、bX、bY は出力ブロック内の座標を意味し、oC は出力チャンネルを意味します)。出力は、入力を次のレイアウトに転置したものになります: n,iY,bY,iX,bX,oC
この操作は、たとえばプールする代わりに、畳み込み間のアクティベーションのサイズを変更する場合に役立ちます (ただし、すべてのデータは保持します)。純粋に畳み込みモデルをトレーニングする場合にも役立ちます。
たとえば、shape [1, 1, 1, 4]
の入力、 data_format = "NHWC" および block_size = 2 の場合、次のようになります。
x = [[[[1, 2, 3, 4]]]]
This operation will output a tensor of shape [1, 2, 2, 1]
:
[[[[1], [2]],
[[3], [4]]]]
ここで、入力には 1 のバッチがあり、各バッチ要素の形状は[1, 1, 4]
、対応する出力には 2x2 要素があり、深さは 1 チャネル (1 = 4 / (block_size * block_size)
) になります。出力要素の形状は[2, 2, 1]
です。
より深い深さの入力テンソルの場合、ここでは[1, 1, 1, 12]
の形状になります。
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
この操作は、ブロック サイズ 2 の場合、次の形状[1, 2, 2, 3]
のテンソルを返します。
[[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
Similarly, for the following input of shape [1 2 2 4]
, and a block size of 2:
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
演算子は、次の形状[1 4 4 1]
のテンソルを返します。
x = [[[ [1], [2], [5], [6]],
[ [3], [4], [7], [8]],
[ [9], [10], [13], [14]],
[ [11], [12], [15], [16]]]]
Arguments:
- scope: A Scope object
- block_size: The size of the spatial block, same as in Space2Depth.
Returns:
Public attributes
公共機能
ノード
::tensorflow::Node * node() const
operator::tensorflow::Input() const
演算子::tensorflow::出力
operator::tensorflow::Output() const
パブリック静的関数
Attrs DataFormat(
StringPiece x
)
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-27 UTC。
[null,null,["最終更新日 2025-07-27 UTC。"],[],[],null,["# tensorflow::ops::DepthToSpace Class Reference\n\ntensorflow::ops::DepthToSpace\n=============================\n\n`#include \u003carray_ops.h\u003e`\n\n[DepthToSpace](/versions/r2.2/api_docs/cc/class/tensorflow/ops/depth-to-space#classtensorflow_1_1ops_1_1_depth_to_space) for tensors of type T.\n\nSummary\n-------\n\nRearranges data from depth into blocks of spatial data. This is the reverse transformation of SpaceToDepth. More specifically, this op outputs a copy of the input tensor where values from the `depth` dimension are moved in spatial blocks to the `height` and `width` dimensions. The attr `block_size` indicates the input block size and how the data is moved.\n\n\n- Chunks of data of size `block_size * block_size` from depth are rearranged into non-overlapping blocks of size `block_size x block_size`\n- The width the output tensor is `input_depth * block_size`, whereas the height is `input_height * block_size`.\n- The Y, X coordinates within each block of the output image are determined by the high order component of the input channel index.\n- The depth of the input tensor must be divisible by `block_size * block_size`.\n\n\u003cbr /\u003e\n\nThe `data_format` attr specifies the layout of the input and output tensors with the following options: \"NHWC\": `[ batch, height, width, channels ]` \"NCHW\": `[ batch, channels, height, width ]` \"NCHW_VECT_C\": `qint8 [ batch, channels / 4, height, width, 4 ]`\n\nIt is useful to consider the operation as transforming a 6-D [Tensor](/versions/r2.2/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor). e.g. for data_format = NHWC, Each element in the input tensor can be specified via 6 coordinates, ordered by decreasing memory layout significance as: n,iY,iX,bY,bX,oC (where n=batch index, iX, iY means X or Y coordinates within the input image, bX, bY means coordinates within the output block, oC means output channels). The output would be the input transposed to the following layout: n,iY,bY,iX,bX,oC\n\nThis operation is useful for resizing the activations between convolutions (but keeping all data), e.g. instead of pooling. It is also useful for training purely convolutional models.\n\nFor example, given an input of shape `[1, 1, 1, 4]`, data_format = \"NHWC\" and block_size = 2:\n\n\n```text\nx = [[[[1, 2, 3, 4]]]]\n```\n\n\u003cbr /\u003e\n\n\n``````text\n \n This operation will output a tensor of shape `[1, 2, 2, 1]`:\n \n [[[[1], [2]],\n [[3], [4]]]]\n \n Here, the input has a batch of 1 and each batch element has shape `[1, 1, 4]`, the corresponding output will have 2x2 elements and will have a depth of 1 channel (1 = `4 / (block_size * block_size)`). The output element shape is `[2, 2, 1]`.\n For an input tensor with larger depth, here of shape `[1, 1, 1, 12]`, e.g.\n \n \n```text\nx = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]\n```\n\n \n This operation, for block size of 2, will return the following tensor of shape `[1, 2, 2, 3]`\n \n \n```text\n [[[[1, 2, 3], [4, 5, 6]],\n [[7, 8, 9], [10, 11, 12]]]]\n```\n\n \n \n \n`````text\n \n Similarly, for the following input of shape `[1 2 2 4]`, and a block size of 2:\n \n x = [[[[1, 2, 3, 4],\n [5, 6, 7, 8]],\n [[9, 10, 11, 12],\n [13, 14, 15, 16]]]]\n \n the operator will return the following tensor of shape `[1 4 4 1]`:\n \n \n```text\nx = [[[ [1], [2], [5], [6]],\n [ [3], [4], [7], [8]],\n [ [9], [10], [13], [14]],\n [ [11], [12], [15], [16]]]]\n```\n\n \n \n \n````gdscript\n \n Arguments:\n \n- scope: A /versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope object\n\n \n- block_size: The size of the spatial block, same as in Space2Depth.\n\n \n\n Returns:\n \n- /versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output: The output tensor. \n\n \n\n \n\n\n \n### Constructors and Destructors\n\n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a2c9e364eeb7f160468ea1d96f6cfb8e6(const ::/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input, int64 block_size)\n \n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a8f6fcb6f032b7cf643f973e6ac13c27c(const ::/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input input, int64 block_size, const /versions/r2.2/api_docs/cc/struct/tensorflow/ops/depth-to-space/attrs#structtensorflow_1_1ops_1_1_depth_to_space_1_1_attrs & attrs)\n \n\n \n\n\n \n\n\n \n### Public attributes\n\n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a957382b910309c5111ee14e1ab67e743\n \n\n \n\n /versions/r2.2/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation\n \n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1af26b151763bb3a313233613cc17a77f0\n \n\n \n\n ::/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output\n \n\n \n\n\n \n\n\n \n### Public functions\n\n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a41b9c51a62fa577cdd60303f1e4121ab() const \n \n\n \n\n ::tensorflow::Node *\n \n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a0ef22b3a73050121df809b37a5bcf10c() const \n \n\n \n\n `\n` \n`\n` \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1a20278953425786797aa70c161f3c746b() const \n \n\n \n\n `\n` \n`\n` \n\n\n \n\n\n \n### Public static functions\n\n\n \n\n\n\n #classtensorflow_1_1ops_1_1_depth_to_space_1abc5ed947752840207dff9d8be78c49a3(StringPiece x)\n \n\n \n\n /versions/r2.2/api_docs/cc/struct/tensorflow/ops/depth-to-space/attrs#structtensorflow_1_1ops_1_1_depth_to_space_1_1_attrs\n \n\n \n\n\n \n\n\n \n### Structs\n\n\n \n\n\n\n /versions/r2.2/api_docs/cc/struct/tensorflow/ops/depth-to-space/attrs\n \n\n \nOptional attribute setters for /versions/r2.2/api_docs/cc/class/tensorflow/ops/depth-to-space#classtensorflow_1_1ops_1_1_depth_to_space. \n\n \n\n\n Public attributes\n \n \n### operation\n\n\n \n```\nOperation operation\n```\n\n \n\n \n \n \n### output\n\n\n \n\n\n```text\n::tensorflow::Output output\n```\n\n \n\n \n Public functions\n \n \n### DepthToSpace\n\n\n \n\n\n```gdscript\n DepthToSpace(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n int64 block_size\n)\n```\n\n \n\n \n \n \n### DepthToSpace\n\n\n \n\n\n```gdscript\n DepthToSpace(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n int64 block_size,\n const DepthToSpace::Attrs & attrs\n)\n```\n\n \n\n \n \n \n### node\n\n\n \n\n\n```gdscript\n::tensorflow::Node * node() const \n```\n\n \n\n \n \n \n### operator::tensorflow::Input\n\n\n \n\n\n```gdscript\n operator::tensorflow::Input() const \n```\n\n \n\n \n \n \n### operator::tensorflow::Output\n\n\n \n\n\n```gdscript\n operator::tensorflow::Output() const \n```\n\n \n\n \n Public static functions\n \n \n### DataFormat\n\n\n \n\n\n```text\nAttrs DataFormat(\n StringPiece x\n)\n```\n\n \n\n \n\n \n\n \n````\n`````\n``````"]]