# tensorflow::ops::ReduceJoin

`#include <string_ops.h>`

Joins a string [Tensor](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) across the given dimensions.

## Summary

Computes the string join across dimensions in the given string [Tensor](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) of shape `[\\(d_0, d_1, ..., d_{n-1}\\)]`. Returns a new [Tensor](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/tensor#classtensorflow_1_1_tensor) created by joining the input strings with the given separator (default: empty string). Negative indices are counted backwards from the end, with `-1` being equivalent to `n - 1`. If indices are not specified, joins across all dimensions beginning from `n - 1` through `0`.

For example:


```
# tensor `a` is [["a", "b"], ["c", "d"]]
tf.reduce_join(a, 0) ==> ["ac", "bd"]
tf.reduce_join(a, 1) ==> ["ab", "cd"]
tf.reduce_join(a, -2) = tf.reduce_join(a, 0) ==> ["ac", "bd"]
tf.reduce_join(a, -1) = tf.reduce_join(a, 1) ==> ["ab", "cd"]
tf.reduce_join(a, 0, keep_dims=True) ==> [["ac", "bd"]]
tf.reduce_join(a, 1, keep_dims=True) ==> [["ab"], ["cd"]]
tf.reduce_join(a, 0, separator=".") ==> ["a.c", "b.d"]
tf.reduce_join(a, [0, 1]) ==> "acbd"
tf.reduce_join(a, [1, 0]) ==> "abcd"
tf.reduce_join(a, []) ==> [["a", "b"], ["c", "d"]]
tf.reduce_join(a) = tf.reduce_join(a, [1, 0]) ==> "abcd"
```

<br />

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- inputs: The input to be joined. [All](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/all#classtensorflow_1_1ops_1_1_all) reduced indices must have non-zero size.
- reduction_indices: The dimensions to reduce over. Dimensions are reduced in the order specified. Omitting `reduction_indices` is equivalent to passing `[n-1, n-2, ..., 0]`. Negative indices from `-n` to `-1` are supported.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/reduce-join/attrs#structtensorflow_1_1ops_1_1_reduce_join_1_1_attrs`):

- keep_dims: If `True`, retain reduced dimensions with length `1`.
- separator: The separator to use when joining.

<br />

Returns:

- `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: Has shape equal to that of the input with reduced dimensions removed or set to `1` depending on `keep_dims`.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1a5a26b37735fa42ff7193a838ad779913(const ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input inputs, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reduction_indices)` ||
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1a16f60dfc9dd223f31647f7d6b2b8b2aa(const ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input inputs, ::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input reduction_indices, const https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/reduce-join/attrs#structtensorflow_1_1ops_1_1_reduce_join_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1ae3c932b8ed453d9ad3c543af34f90263` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1aae2b38746b0a6787c6bda531650a94df` | `::https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1a82dc1971263a0bc85f85e9f9cba8ab5f() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1a205e8612d71b9bf0327d0983fceacbd7() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1ad25cf42911f8ba258fbaf2e6ccddb063() const ` | ` `` ` |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1a308bbdd23abc9c952087a7842b3c3c62(bool x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/reduce-join/attrs#structtensorflow_1_1ops_1_1_reduce_join_1_1_attrs` |
| `https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join_1aa888289eecaa69b2883039ade1ad7598(StringPiece x)` | `https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/reduce-join/attrs#structtensorflow_1_1ops_1_1_reduce_join_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::ReduceJoin::Attrs](https://www.tensorflow.org/versions/r1.15/api_docs/cc/struct/tensorflow/ops/reduce-join/attrs) | Optional attribute setters for [ReduceJoin](https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/ops/reduce-join#classtensorflow_1_1ops_1_1_reduce_join). |

## Public attributes

### operation

```
Operation operation
```

### output

```
::tensorflow::Output output
```

## Public functions

### ReduceJoin

```
 ReduceJoin(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input reduction_indices
)
```

### ReduceJoin

```
 ReduceJoin(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input reduction_indices,
  const ReduceJoin::Attrs & attrs
)
```

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```

## Public static functions

### KeepDims

```
Attrs KeepDims(
  bool x
)
```

### Separator

```
Attrs Separator(
  StringPiece x
)
```