2016-11-18 1 views
0

Я хочу визуализировать вес фильтров моего CNN. Они имеют размер height x width x input x output.Визуализируйте фильтр conv2d для TensorBoard image_summary

Однако TensorBoard требует image_summary быть Тензор формы batches х height х width х channels.

Как преобразовать вес фильтра в нужную форму?

Некоторый контекст:

W1 = tf.Variable(tf.random_normal([5, 5, 1, 64]), name='W1') 
conv = tf.nn.conv2d(x, W1, strides=[1, 1, 1, 1], padding='SAME') 

ответ

0

Нормальная партия изображения имеет форму [batch, height, width, 3], так что вы можете сделать Tensorboard показать партию цветных изображений для первого сверточного слоя перемены фильтров [output, height, width, 3]. Этот ответ имеет код: How to visualize learned filters on tensorflow.

Для изображений в других слоях вы можете отображать только input * output изображения в оттенках серого. Сначала вам нужно разбить тензор вдоль входного/выходного канала, транспонировать и конкатенировать тензор до формы [input * output, height, width, 1]. Здесь вы можете найти пример кода: https://github.com/tensorflow/tensorflow/issues/908

Смежные вопросы