tensorflow에서 차원(dimension)을 추가하는 방법은 대표적으로 2가지 방법이 있다.
코드의 예시로 확인해보자.
다음과 같은 2*2 shape tensor가 있다.
a=tf.constant([[1,2],[3,4]],dtype=tf.float32)
tf.Tensor(
[[1. 2.]
[3. 4.]], shape=(2, 2), dtype=float32)
[1] expand_dims
늘리고 싶은 axis에 지정을 하면 해당 axis에 차원이 추가됨.
expand_a=tf.expand_dims(a,axis=2)
tf.Tensor(
[[[1.]
[2.]]
[[3.]
[4.]]], shape=(2, 2, 1), dtype=float32)
[2] tf.newaxis 사용하기
방법2-1
newaxis_a=a[:,:,tf.newaxis]
tf.Tensor(
[[[1.]
[2.]]
[[3.]
[4.]]], shape=(2, 2, 1), dtype=float32)
방법2-2
newaxis_b=a[...,tf.newaxis]
tf.Tensor(
[[[1.]
[2.]]
[[3.]
[4.]]], shape=(2, 2, 1), dtype=float32)