반응형
텐서는 데이터를 담고 있는 다차원 배열에 대한 일반화된 수학적 용어입니다. 텐서 차원을 일반적으로 랭크라고 합니다.
지금까지는 대부분 랭크0에서 랭크2사이 텐서를 다루었습니다. 예를 들어 정수나 실수처럼 숫자 하나로 이루어진 스칼라는 랭크 0인 텐서입니다. 벡터는 랭크 1인 텐서입니다. 행렬은 랭크 2인 텐서입니다. 텐서 표기는 더 고차원으로 일반화될 수 있습니다. 여러 개의 컬러 채널을 가진 이미지를 다루기 위해 랭크 3인 입력과 랭크 4인 가중치 텐서를 사용합니다.
import tensorflow as tf
import numpy as np
t1 = tf.constant(np.pi)
t2 = tf.constant([1,2,3,4])
t3 = tf.constant([[1,2], [3,4]])
#랭크를 구합니다.
r1 = tf.rank(t1)
r2 = tf.rank(t2)
r3 = tf.rank(t3)
#크기를 구합니다.
s1 = t1.get_shape()
s2 = t2.get_shape()
s3 = t3.get_shape()
print('Size ', s1, s2, s3)
print('Rank ', r1.numpy(), r2.numpy(), r3.numpy())
Size () (4,) (2, 2)
Rank 0 1 2
결과에서 보듯이 t1텐서는 단순한 스칼라이므로 랭크가 0입니다(크기가 ()입니다.). t2벡터는 네개의 원소를 가지므로 랭크가 1입니다. 크기는 원소 하나로 이루어진 튜플(4, )입니다. 마지막으로2X2행렬인 t3의 랭크는 2입니다. 이 텐서 크기는 (2, 2)튜플입니다.
반응형
'ML & AI Theory' 카테고리의 다른 글
tf.keras 모델의 저장과 복원 (0) | 2021.07.13 |
---|---|
tf.keras API. Sequential 모델 실습 (0) | 2021.07.11 |
텐서플로의 계산 그래프 : 1.0 vs 2.x 버젼 차이 (0) | 2021.07.10 |
텐서를 다차원 배열로 변환하기 (0) | 2021.07.10 |
다층 신경망의 활성화 함수 : 시그모이드, 소프트맥스, 하이퍼볼릭탄젠트, 렐루함수 (0) | 2021.07.05 |
케라스 실습] tf.keras API를 사용한 다층 신경망 훈련 기본 (0) | 2021.07.04 |
텐서플로우 #1] 텐서플로우의 시작과 배열 구조 다루기 (0) | 2021.07.03 |
RNN 실전실습 : 시퀀스 모델링을 위한 다층 RNN구현 : IMDB 영화리뷰 구현 (0) | 2021.06.28 |