데이터분석
[tensorflow 2.0] tf.pad
jaehwi0823
2019. 12. 2. 01:12
이미지 전처리 중 shape 통일을 위해서 원본 이미지에 zero-padding을 해야할 경우가 있다. 그 때 손쉽게 패팅하는 방법이 tf.pad이다.
tf.pad(
tensor,
paddings,
mode='CONSTANT',
constant_values=0,
name=None
)
사용 방법은 padding만 신경쓰면 어렵지 않다. padding은 shape이 D x 2인 텐서이며, [D, 0]은 D차원(rank) 앞의 패딩 [D, 1]은 D차원 뒤의 패딩을 의미한다.
예를 들어, input tensor의 Shape이 (Batch_size, height, width, channel) 라면, 다음과 같이 height와 width에만 padding을 추가할 수 있다.
padding = [[0, 0],
[6, 6],
[6, 6],
[0, 0]]
output = tf.pad(input_tensor, padding, 'CONSTANT').numpy()