Tuesday, March 9, 2021

Tensorflow 텐서플로우 네트워크 중간에서 값 추출하기 or 타일 생성하기

 텐서플로우 네트워크를 디자인 하다보면,

특정 계수를 뽑아 내거나 혹은 타일 형태로 생성하여 다른 입력과 곱해야 할 경우가 생긴다.

이 때, 두 텐서 사이에 크기가 맞지 않으면 연산이 되질 않아 여간 귀찮은게 아님 -_-


아무튼 이럴 때 tf.split과 tf.tile 조합을 통해 원하는 출력을 만들어 낼 수 있다.


예시는 아래를 참조


gain, offset = tf.split(h_linear_4, num_or_size_splits=2, axis=1)

gain_tile = tf.tile(gain, [1, 128 * 128])
gain_tile = tf.reshape(gain_tile, [-1, 128, 128])
gain_tile = tf.expand_dims(gain_tile, axis=3)

offset_tile = tf.tile(offset, [1, 128 * 128])
offset_tile = tf.reshape(offset_tile, [-1, 128, 128])
offset_tile = tf.expand_dims(offset_tile, axis=3)

output = data_pan * gain_tile + offset_tile

No comments:

Post a Comment