Machine Learning/TensorFlow

[Machine Learning] TensorFlow Matrix

데이터 세상 2021. 2. 27. 03:07
728x90
반응형

TensorFlow Matrix

  • 텐서플로우에서 행렬의 차원은 shape라는 개념으로 표현
  • 행렬의 가장 기본 개념은 행과 열
  • m x n : m=행, n=열

행렬 곱셈

  • 곱셈은 앞의 행렬에서 행과 뒤의 행렬의 열을 순차적으로 곱해준다
  • 앞 행렬의 열과 뒤 행렬의 행이 같아야 곱할 수 있다

행렬 덧셈

  • 행렬의 덧셈은 같은 행과 열에 있는 값을 더한다
  • 덧셈을 하는 두 개 행렬의 차원은 동일해야 한다

텐서플로우 행렬 표현

import tensorflow as tf

a = tf.constant([[2,0],[0,1]], dtype=tf.float32)
b = tf.constant([[1,1],[1,1]], dtype=tf.float32)
print(tf.matmul(a, b).numpy())
print(tf.linalg.inv(a).numpy())

>>
[[2. 2.]
 [1. 1.]]
[[0.5 0. ]
 [0.  1. ]]

TensorFlow Broadcasting

행렬 연산(덧셈, 뺄셈, 곱셈)에서 차원이 맞지 않을 떄 행렬을 자동으로 늘려줘서(Stretch) 차원을 맞춰주는 것

 

import tensorflow as tf

x = tf.constant([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])
y = tf.constant([[1.,1.,1.]])
print('shape{} {}'.format(x.get_shape(), y.get_shape()))

sub_xy = tf.subtract(x, y)
print(sub_xy)

>>
shape(3, 3) (1, 3)
tf.Tensor(
[[0. 1. 2.]
 [3. 4. 5.]
 [6. 7. 8.]], shape=(3, 3), dtype=float32)
728x90
반응형