티스토리 뷰

Python/Python Library

Numpy 함수 : pad / zeros

4OurFuture 2024. 11. 21. 19:15
728x90
반응형

1. np.pad

np.pad 함수는 배열의 가장자리에 패딩을 추가하여 배열의 크기를 확장하는 데 사용됩니다. 이는 주로 이미지 처리나 신경망의 합성곱 연산에서 경계 문제를 해결하기 위해 사용됩니다.

 

기본 구문

numpy.pad(array, pad_width, mode='constant', **kwargs)

 

  • array: 패딩을 추가할 원래 배열입니다.
  • pad_width: 각 축에 추가할 패딩의 너비를 지정합니다. 예를 들어, ((1, 1), (2, 2))는 첫 번째 축에 1씩, 두 번째 축에 2씩 패딩을 추가합니다.
  • mode: 패딩 방법을 지정합니다. 기본값은 'constant'이며, 다른 옵션으로는 'edge', 'reflect', 'symmetric' 등이 있습니다.
  • kwargs: 추가적인 인자를 통해 패딩할 값 등을 지정할 수 있습니다.

예제

import numpy as np

# 원본 배열
array = np.array([[1, 2], [3, 4]])

# 패딩 추가 (모든 방향에 1씩 추가)
padded_array = np.pad(array, pad_width=1, mode='constant', constant_values=0)
print("원본 배열:")
print(array)
print("패딩된 배열:")
print(padded_array)

 

출력:



원본 배열:

[[1 2]

 [3 4]]

패딩된 배열:

[[0 0 0 0]

 [0 1 2 0]

 [0 3 4 0]

 [0 0 0 0]]

 

 

 

2. np.zeros

np.zeros 함수는 주어진 형태(shape)의 배열을 생성하고, 모든 요소를 0으로 초기화합니다. 이는 주로 배열을 초기화할 때 사용됩니다.

 

기본 구문

numpy.zeros(shape, dtype=None)

 

  • shape: 생성할 배열의 형태를 지정합니다. 예를 들어, (3, 4)는 3행 4열의 배열을 생성합니다.
  • dtype: 배열의 데이터 타입을 지정합니다. 기본값은 float입니다.

 

예제

import numpy as np



# 3x4 배열 생성

zero_array = np.zeros((3, 4))



print("0으로 초기화된 배열:")

print(zero_array)

 

출력:

0으로 초기화된 배열:

[[0. 0. 0. 0.]

 [0. 0. 0. 0.]

 [0. 0. 0. 0.]]

 

결론

**np.pad**는 배열의 가장자리에 패딩을 추가하여 배열의 크기를 확장하는 데 유용합니다. 주로 이미지 처리나 합성곱 신경망에서 경계 문제를 해결하기 위해 사용됩니다.

**np.zeros**는 주어진 형태의 배열을 생성하고 모든 요소를 0으로 초기화하는 데 사용됩니다. 초기화가 필요한 배열을 만들 때 매우 유용합니다.

이 두 가지 함수는 딥러닝 및 데이터 처리에 있어 매우 유용한 도구입니다.

 

728x90
반응형