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