데이터분석

[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()