Как я могу добавить все ядра / фильтры в один слой TensorFlow и получить на выходе одно окончательное отдельное изображение? - PullRequest
0 голосов
/ 05 августа 2020

Что мне нужно сделать, так это у меня есть последний слой в моей модели как (None, 512,512,64), я хочу добавить все эти 64 изображения поэлементно и вывести результат из моей модели. Итак, как мне добавить все изображения, присутствующие в одном слое, что приведет к 1 выходу.

введите описание изображения здесь

1 Ответ

2 голосов
/ 05 августа 2020

Допустим, ваша текущая сеть имеет следующий уровень:

layer = Conv2D(64, kernel_size=(9, 9), input_shape=(512, 512, 1), padding='same',name = 'conv1')(input)

Теперь ваша функция имеет размер [Нет, 512, 512, 64]. Вы можете продолжить это с помощью

layer = Conv2D(1, kernel_size=(9, 9), input_shape=(512, 512, 1), padding='same',name = 'conv2')(input)

Я предполагаю, что вы используете Conv2D, поэтому на выходе вы получите изображение в градациях серого формы [None, 512, 512, 1]. Если это не то, что вы хотите, и вы просто хотите добавить тензоры, вы можете использовать tf.math.reduce_sum для axis = 3, просто передайте ему тензорный вывод первого слоя.

...