설치
파이토치와 텐서플로우를 설치할 때, 각자 다른 가상환경에 따로 설치하는 편이 좋다.
같은 가상환경에 설치해도 둘은 다른 라이브러리이기에 충돌이 발생하지는 않지만, 하나의 가상환경에 여러 개의 프로젝트를 작업할 경우 무슨 프로젝트에 무슨 라이브러리가 필요한지 알기 어렵게 될 수 있다.
즉, 파이토치를 사용하는 프로젝트는 파이토치 가상환경에서, 텐서플로우를 사용하는 프로젝트는 텐서플로우 가상환경에서.. 이런 방식으로 사용하는게 합리적이다.
차원
2차원 텐서의 경우 행과 열로 표현될 수 있어 행렬로 이해할 수 있다.
이미지 데이터는 (가로, 세로, 색상)으로 총 3차원으로 표현되는데, 여기서 이미지 데이터 batch를 활용하게 되면
(이미지 데이터, 가로, 세로, 색상)으로 4차원의 형태가 된다. 차원이 늘어날수록 연산이 복잡해지고, 이를 줄이기 위한 다양한 방법이 있다.
3차원 텐서는 위와 같이 이해하면 된다. 크기는 (i, j, k)
3차원에서의 첫 번째 차원 (0) 은 i, 두 번째 차원 (1) 은 j, 세 번째 차원 (2) 은 k로 이해할 수 있다. -1 인덱스는 마지막 차원으로 이해하자.
3차원 텐서에서 sum(dim = 0)같은 함수를 사용하는 경우가 있다.
이 경우, (i, j, k)차원에서 i개의 (j, k)텐서가 원소 자리끼리 합해진다고 생각하면 된다.
해당 차원의 위치끼리 합쳐지게 된다.