Link Search Menu Expand Document

Reshape


tensorflow C++ API

tensorflow::ops::Reshape

Reshapes a tensor.


Summary

Giventensor, this operation returns a tensor that has the same values astensorwith shapeshape.

If one component ofshapeis the special value -1, the size of that dimension is computed so that the total size remains constant. In particular, ashapeof[-1]flattens into 1-D. At most one component ofshapecan be -1.

Ifshapeis 1-D or higher, then the operation returns a tensor with shapeshapefilled with the values oftensor. In this case, the number of elements implied byshapemust be the same as the number of elements intensor.

For example:

``` tensor ‘t’ is [1, 2, 3, 4, 5, 6, 7, 8, 9]

tensor ‘t’ has shape [9]

reshape(t, [3, 3]) ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

tensor ‘t’ is [[[1, 1], [2, 2]],

[[3, 3], [4, 4]]]

tensor ‘t’ has shape [2, 2, 2]

reshape(t, [2, 4]) ==> [[1, 1, 2, 2], [3, 3, 4, 4]]

tensor ‘t’ is [[[1, 1, 1],

[2, 2, 2]],

[[3, 3, 3],

[4, 4, 4]],

[[5, 5, 5],

[6, 6, 6]]]

tensor ‘t’ has shape [3, 2, 3]

pass ‘[-1]’ to flatten ‘t’

reshape(t, [-1]) ==> [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6]

-1 can also be used to infer the shape

-1 is inferred to be 9:

reshape(t, [2, -1]) ==> [[1, 1, 1, 2, 2, 2, 3, 3, 3], [4, 4, 4, 5, 5, 5, 6, 6, 6]] -1 is inferred to be 2:

reshape(t, [-1, 9]) ==> [[1, 1, 1, 2, 2, 2, 3, 3, 3], [4, 4, 4, 5, 5, 5, 6, 6, 6]] -1 is inferred to be 3:

reshape(t, [ 2, -1, 3]) ==> [[[1, 1, 1], [2, 2, 2], [3, 3, 3]], [[4, 4, 4], [5, 5, 5], [6, 6, 6]]]

tensor ‘t’ is [7]

shape[]reshapes to a scalar

reshape(t, []) ==> 7 ```

Arguments:

  • scope: A Scope object
  • shape: Defines the shape of the output tensor.

Returns:


Reshape block

Source link :https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_array_ops.cpp

Argument:

  • Scope scope : A Scope object (A scope is generated automatically each page. A scope is not connected.)
  • Input input: any tensor.
  • Input shape: The 1-D tensor is of type int32, int64.

Output:

  • Output output : Output object of Reshape class object.

Result:

  • std::vector(Tensor) result_output: Returns the rank of a tensor.

Using Method

※ tensor의 벡터 데이터를 shape에 넣어주는 기능을 한다.
※ tensor 핀으로 들어오는 input tensor의 value갯수와 shape로 들어오는 공간의 갯수가 일치해야 결과값이 나온다.