본문 바로가기
Tensorflow

[Tensor] 연산

by ram_ 2023. 2. 24.

기본 연산

: 아래의 기본 연산은 특수 메서드를 이용하여 연산자 오버로딩이 되어 있으므로 그냥 연산자 기호를 사용하는 것도 가능하다.

  • tf.add : 덧셈
  • tf.subtract : 뺄셈
  • tf.multiply : 곱셈
  • tf.divide : 나눗셈
  • tf.pow : n-제곱
  • tf.negative : 음수부호

 

그 외 여러가지 연산

  • tf.abs : 절대값
  • tf.sign : 부호
  • tf.round : 반올림
  • tf.ceil : 올림
  • tf.floor : 내림
  • tf.squre : 제곱
  • tf.sqrt : 제곱근
  • tf.maximum : 두 텐서의 각 원소에서 최댓값만 반환
  • tf.miniimum : 두 텐서의 각 원소에서 최솟값만 반환.
  • tf.cumsum : 누적합
  • tf.cumprod : 누적곱

 

차원 축소 연산

  • tf.reduce_mean : 설정한 축의 평균을 구한다.
  • tf.reduce_max : 설정한 축의 최댓값을 구한다.
  • tf.reduce_min : 설정한 축의 최솟값을 구한다.
  • tf.reduce_prod : 설정한 축의 요소를 모두 곱한 값을 구한다.
  • tf.reduce_sum : 설정한 축의 요소를 모두 더한 값을 구한다.

 

행렬과 관련된 연산

  • tf.matmul : 내적
  • tf.linalg.inv : 역행렬

 

크기 및 차원을 바꾸는 명령

: 이를 사용할 때는 축을 잘 이해하고 사용하면 좋다. 자주 사용된다.

  • tf.reshape : 백터 행렬의 크기 변환
  • tf.transpose : 전치 연산
  • tf.expand_dims : 지정한 축으로 차원을 추가
  • tf.squeeze : 벡터로 차원을 축소

 

 텐서를 나누거나 두 개 이상의 텐서를 합치는 명령

  • tf.slice : 특정 부분을 추출
  • tf.split : 분할
  • tf.concat : 합치기
  •  tf.tile : 복제-붙이기
  • tf.stack : 합성
  • tf.unstack : 분리

 

 

 


퀴즈 

더보기

차원이 다른 a와 b를 matmul 해라.

a = tf.constant(((1, 2, 3), (1, 2, 3)))
b = tf.constant([1, 2, 3])
[2,3]과 [3] 행렬인데, [3]에 원소가 하나인 부분이 없으니 squeeze는 사용 못하고, [2,3]과 연산하려면 [3,1]을 만들어줘야 한다.
고로, expand_dims로 연산 뒤, matmul 해준다.
tf.matmul(a, tf.expand_dims(b, axis=1))

 

'Tensorflow' 카테고리의 다른 글

[Tensor] Variable  (0) 2023.02.24
[Tensor] Constant  (0) 2023.02.24