관리 메뉴

꿈 많은 사람의 이야기

tensorflow의 tf.concat에 대해서 알아보기(axis = 0, 1에 따른 변화) 본문

python

tensorflow의 tf.concat에 대해서 알아보기(axis = 0, 1에 따른 변화)

이수진의 블로그 이수진의 블로그 2019. 3. 18. 14:24

텐서플로 책을 보다가 햇갈려서 정리하는 부분이다

바로 concat인데

이해를 했다가도 햇갈리고 그런다

특히 axis 부분..

axis = 0이냐

axis = 1이냐

axis = -1이냐

3차원이면 axis = 2까지..

tf.concat을 정리하면서 다시 정리한다


https://www.tensorflow.org/api_docs/python/tf/concat

참고



tensorflow를 import하고 t1, t2가 저렇게 있다고 가정하자



모양은 (2, 3)이 된다

즉, 바깥쪽에 2개가 있고 안쪽에 3개씩 있는 2차원 매트릭스이다.


이제 이것을 concat할 것이다



tf.concat([t1, t2], axis = 0)을 하게 되면 결과는 아래와 같이

[[1,2,3], [4,5,6], [7,8,9], [10,11,12]로 나온다


그리고 tf.concat([t1, t2], axis = 1)을 하게 되면

[[1,2,3,7,8,9], [4,5,6,10,11,12]]가 나오게 된다

왜냐하면 axis = 0이면 가장 바깥쪽을 기준으로 concat을 적용시키기 때문이다.

가장 바깥쪽이면 행렬의 '행' 기준이라고 생각하면 된다


axis = 1이면 '열' 기준이라고 생각하면 편하다

안쪽에 있는 데이터(여기 데이터 모양에선 실제 값)를 기준으로 진행한다

그림으로 보면 편하다



현재 메트릭스가 위와 같이 되어 있는 상태이다

여기서 axis = 0으로 concat을 하게 되면



이렇게 되는 것이다


하지만 concat을 axis = 1로 하게 되면


이렇게 되는 것이다!


0 Comments
댓글쓰기 폼