Tensor Ranks, Shapes, Type

TensorFlow 프로그램은 모든 데이터를 tensor 데이터 구조를 사용해서 표현한다. TensorFlow의 tensor는 n-차원 배열 또는 리스트라고 생각해도 된다. 하나의 tensor는 정적 타입과 동적 차원을 갖고 있다. 컴퓨테이션 그래프의 노드들은 오직 tensor만을 전달 할 수 있다.

Rank

TensorFlow 시스템에서, tensor는 rank라는 차원 단위로 표현된다. Tensor rank는 행렬의 rank와 다르다. Tensor rank(order, degree, -n_dimension 으로도 언급됨)는 tensor의 차원수다. 예를 들어, 아래 tensor(Python 리스트로 정의)의 rank는 2다.

t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

rank 2인 tensor는 행렬, rank 1인 tensor는 벡터로 생각할 수 있다. rank 2인 tensor는 t[i, j] 형식으로 원소에 접근할 수 있다. rank 3인 tensor는 t[i, j, k] 형식으로 원소를 지정할 수 있다.

Rank Math entity Python example
0 Scalar (magnitude only) s = 483
1 Vector (magnitude and direction) v = [1.1, 2.2, 3.3]
2 Matrix (table of numbers) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3 3-Tensor (cube of numbers) t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]
n n-Tensor (you get the idea) ....

Shape

TensorFlow 문서는 tensor 차원을 표현할 때 세 가지 기호를 사용한다. rank, shape, 차원수. 아래 표는 그 세 가지의 관계를 보여준다:

Rank Shape Dimension number Example
0 [] 0-D A 0-D tensor. A scalar.
1 [D0] 1-D A 1-D tensor with shape [5].
2 [D0, D1] 2-D A 2-D tensor with shape [3, 4].
3 [D0, D1, D2] 3-D A 3-D tensor with shape [1, 4, 3].
n [D0, D1, ... Dn-1] n-D A tensor with shape [D0, D1, ... Dn-1].

Shape는 Python 리스트 / 정수형 튜플 또는 TensorShape class로 표현 할 수 있다.

Data types

Tensor는 차원 말고도 데이터 타입도 갖는다. 아래의 데이터 타입을 tensor에 지정할 수 있다.

Data type Python type Description
DT_FLOAT tf.float32 32 비트 부동 소수.
DT_DOUBLE tf.float64 64 비트 부동 소수.
DT_INT8 tf.int8 8 비트 부호 있는 정수.
DT_INT16 tf.int16 16 비트 부호 있는 정수.
DT_INT32 tf.int32 32 비트 부호 있는 정수.
DT_INT64 tf.int64 64 비트 부호 있는 정수.
DT_UINT8 tf.uint8 8 비트 부호 없는 정수.
DT_STRING tf.string 가변 길이 바이트 배열. Tensor의 각 원소는 바이트 배열.
DT_BOOL tf.bool 불리언.
DT_COMPLEX64 tf.complex64 2개의 32 비트 부동 소수로 만든 복소수 : 실수부 + 허수부
DT_COMPLEX128 tf.complex128 2개의 64 비트 부동 소수로 만든 복소수 : 실수부 + 허수부
DT_QINT8 tf.qint8 8 비트 부호 있는 정수로 quantized Ops에서 사용.
DT_QINT32 tf.qint32 32 비트 부호 있는 정수로 quantized Ops에서 사용.
DT_QUINT8 tf.quint8 8 비트 부호 없는 정수로 quantized Ops에서 사용.

(역주: quantized op는 fixed-point 데이터로써, quantized op에 의하면 아직 문서화 되지 않은 기능.)

results matching ""

    No results matching ""