더북(TheBook)

2.3.4 텐서 크기 변환

꼭 알아 두어야 할 세 번째 텐서 연산은 텐서 크기 변환(tensor reshaping)입니다. 첫 번째 신경망 예제의 Dense 층에서는 사용되지 않지만 모델에 주입할 숫자 데이터를 전처리할 때 사용했습니다.

train_images = train_images.reshape((60000, 28 * 28))

텐서의 크기를 변환한다는 것은 특정 크기에 맞게 열과 행을 재배열한다는 뜻입니다. 당연히 크기가 변환된 텐서는 원래 텐서와 원소 개수가 동일합니다. 간단한 예제를 통해 크기 변환을 알아보겠습니다.

>>> x = np.array([[0., 1.],
                  [2., 3.],
                  [4., 5.]]) 
>>> x.shape
(3, 2) 
>>> x = x.reshape((6, 1))
>>> x 
array([[ 0.],        
       [ 1.],        
       [ 2.],        
       [ 3.],        
       [ 4.],        
       [ 5.]]) 
>>> x = x.reshape((2, 3))
>>> x 
array([[ 0.,  1.,  2.],
       [ 3., 4., 5.]])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.