새소식

반응형
IT skill/Python

[python] numpy.expand_dims / np.newaxis

  • -
반응형

numpy.expand_dims는 차원을 확장하고 싶을 때 쓰는 함수이다.

 

보통 그레이스케일의 이미지에 1개의 채널을 추가해주거나 (128, 128) > (128, 128, 1)

 

배치를 정의하기 위해 사용한다. (128, 128, 1) > (1, 128, 128, 1)

 

인풋으로 array를 받는다.

>>> import numpy as np
>>> np.array([1,1])
array([1, 1])
>>> A = np.array([1,1])
>>> A.shape
(2,)
>>> np.expand_dims(A, axis=0)
array([[1, 1]])
>>> np.expand_dims(A, axis=0).shape
(1, 2)
>>> np.expand_dims(A, axis=1).shape
(2, 1)

같은 방법이지만 더 쉬운 방법으로 np.newaxis가 있다.

>>> A[np.newaxis, ...].shape # 맨 처음에 dimension 추가 (2,) -> (1, 2)
(1, 2)
>>> A[..., np.newaxis].shape # 맨 뒤에 dimension 추가 (2,) -> (2, 1)
(2, 1)
>>> A[np.newaxis, :].shape
(1, 2)
>>> A[:, np.newaxis].shape
(2, 1)

이런 방법으로 사용할 수 있다.

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~