> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ja/burokku/blocks/advanced-blocks/dimension-collapse.md).

# 次元の折りたたみ

ネストされたバッチデータを、次元をレベル n からレベル n-1 に下げることで平坦化し、ネストされたリストを 1 つのフラットなリストに集約して、データ集約、バッチの平坦化、および次元削減のワークフローを可能にします。これにより、動的に切り出された画像の分類結果や OCR 結果など、ネストされたバッチ出力を下流処理用の単一レベルのバッチにまとめる必要がある場合に対応できます。

## このブロックの仕組み

このブロックは、ネストされたリストを 1 段階平坦化することでバッチデータの次元を縮小します。このブロックは、

1. レベル n の次元でバッチデータを受け取ります（ネストされたバッチ構造）
2. ネストされた構造を平坦化します：
   * ネストされたバッチ構造のすべての要素を取り出し
   * それらを 1 つのフラットなリストに連結します
   * データ構造からネストの 1 層を削除します
3. 次元を削減します：
   * レベル n の入力データ（例：リストのリスト）
   * レベル n-1 の出力データ（例：単一のリスト）
   * すべてのデータ要素を保持し、ネスト構造のみを削除します
4. 平坦化された出力を返します：
   * ネストされた入力のすべての要素を含む 1 つのリストを出力します
   * 要素は順序を保って保持されます（順番に平坦化）
   * 出力の次元は入力より 1 段階低くなります

このブロックは、動的に切り出された画像や、ネストされたバッチ構造を生成する他の操作を扱う際に特に便利です。たとえば、各画像から複数のオブジェクトを切り出すと、ネストされたバッチ（レベル 2）が得られます。つまり、各要素がさらに切り出し画像のリストになっているリストです。これらの切り出し画像の分類結果もネストされたバッチになります。Dimension Collapse ブロックは、このネストされた構造を単一レベルのバッチ（レベル 1）に平坦化し、すべての結果をまとめて扱えるようにします。

## 一般的な使用例

* **分類結果の集約**: 動的に切り出された画像からの分類結果を 1 つのリストに集約します（例：画像から切り出した画像を分類してすべての結果を集約する、複数の切り出し画像から分類結果を収集する、ネストされた分類出力を平坦化する）。分類結果の集約ワークフローを可能にします
* **OCR 結果の集約**: 動的に切り出されたテキスト領域からの OCR 結果を 1 つのリストに集約します（例：画像から切り出した領域に OCR をかけて、すべてのテキスト結果を集約する、複数の切り出し領域から OCR 結果を収集する、ネストされた OCR 出力を平坦化する）。OCR 結果の集約ワークフローを可能にします
* **バッチの平坦化**: 下流処理のためにネストされたバッチ構造を平坦化します（例：分析用にネストされたバッチを平坦化する、保存用にバッチの次元を下げる、フィルタリング用にネスト構造を折りたたむ）。バッチ平坦化ワークフローを可能にします
* **データ集約**: ネストされたバッチ操作の結果をフラットなリストに集約します（例：ネストされた操作からの結果を集約する、ネストされたバッチからの出力を収集する、ネストされた操作結果を平坦化する）。データ集約ワークフローを可能にします
* **次元削減**: 下流ブロックの要件に合わせてバッチの次元を削減します（例：レベル 1 入力を必要とするブロック向けに次元を削減する、互換性のためにネストされたバッチを平坦化する、ワークフロー接続用に次元を調整する）。次元調整ワークフローを可能にします
* **結果の収集**: ネストされた処理操作から結果を収集して平坦化します（例：ネストされた処理結果を収集する、操作出力を平坦化する、ネストされた操作データを集約する）。結果収集ワークフローを可能にします

## 他のブロックへの接続

このブロックはネストされたバッチデータを受け取り、平坦化されたバッチデータを出力します：

* **ネストされたバッチを生成するブロックの後に** （切り出しブロック、切り出し画像に対する分類、切り出し画像に対する OCR）でネストされた結果を平坦化します（例：切り出してから分類し、その後平坦化する、OCR した切り出し画像を平坦化する、ネストされたバッチを処理してから折りたたむ）。ネストからフラットへのワークフローを可能にします
* **単一レベルのバッチを必要とするブロックの前に** 平坦化されたデータを提供します（例：フィルタリングの前に平坦化する、保存の前に折りたたむ、分析の前に集約する）。フラットから処理へのワークフローを可能にします
* **データ保存ブロックの前** 集約された平坦化結果を保存します（例：集約された分類結果を保存する、平坦化された OCR 結果を保存する、折りたたまれたバッチデータを記録する）。集約から保存へのワークフローを可能にします
* **分析ブロックの前で** 集約された結果を分析します（例：集約された分類結果を分析する、平坦化されたデータに対して分析を行う、折りたたまれたバッチを処理する）。集約から分析へのワークフローを可能にします
* **フィルタリングブロックの前** 平坦化された集約データをフィルタリングします（例：集約された結果をフィルタリングする、折りたたまれたバッチにフィルターを適用する、平坦化データを処理する）。集約からフィルターへのワークフローを可能にします
* **ワークフロー出力において** 集約された平坦化結果を最終出力として提供します（例：集約された分類出力、平坦化された OCR 出力、折りたたまれたバッチ出力）。集約出力ワークフローを可能にします

## 要件

このブロックは、次元レベル n のバッチデータ（ネストされたバッチ構造）を必要とします。ブロックは入力パラメータに対するバッチキャストを自動的に処理します。ブロックは出力の次元を 1 レベル下げます（レベル n からレベル n-1 へ）。ネストされた構造内のすべての要素は保持され、1 つのリストに平坦化されます。このブロックは任意のデータ型で動作します。個々の要素を変更することなく、ネストされたリスト構造を単純に平坦化するだけです。出力は、ネストされた入力のすべての要素を含む単一レベルのバッチであり、ネストされた構造に現れる順序どおりに並びます。

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/dimension_collapse@v1` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前** | **型** | **説明**                  | 参照 |
| ------ | ----- | ----------------------- | -- |
| `name` | `str` | このステップの一意の識別子を入力してください。 | ❌  |

この **参照** 列は、で利用可能な動的値を使ってプロパティをパラメータ化できる可能性を示します `ワークフロー` 実行時。参照 *バインディング* 詳細は。

### 入力と出力のバインディング

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `次元の折りたたみ` のバージョン `v1` あるか確認してください。

<details>

<summary>入力と出力のバインディング</summary>

* 入力
  * `データ` ([*`*`*](/workflows/ja/gaido/developer-guide/kinds/wildcard.md)): 次元レベル n のステップ出力（ネストされたバッチ構造）への参照で、レベル n-1 に平坦化して折りたたみます。入力はネストされたバッチ（例：リストのリスト）で、各ネストレベルはバッチ次元を表します。このブロックは、すべてのネスト要素を 1 つのフラットなリストに連結することでこの構造を平坦化します。主な使用例：切り出し画像の分類結果（レベル 2 → レベル 1）、切り出し領域の OCR 結果（レベル 2 → レベル 1）、または平坦化が必要なあらゆるネストされたバッチ構造。。
* 出力
  * `出力` ([`list_of_values`](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md))：任意の型の値のリスト。

</details>

<details>

<summary>JSON 定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/dimension_collapse@v1",
	    "data": "$steps.classification_step.predictions"
	}
```

</details>
