2017-01-10 4 views
2

У меня есть подготовленный сингл. Форма фильтра - [высота, ширина, in_channels, out_channels]. И я хочу использовать этот фильтр для деконва, мы знаем, что процесс deconv нуждается в транспонировании фильтра. Мне нужно транспонировать фильтр mannuly, или TF сделает это внутри tf.nn.conv2d_transpose, и все, что нам нужно сделать, это пройти подготовленный фильтр до tf.nn.conv2d_transpose?Передает ли фильтр tf.nn.conv2d_transpose фильтр?

ответ

2

Нам не нужно транспонировать фильтр вручную. В общем, мы организуем наш код следующим образом.

stride = [1,1,1,1] 
conv1W = tf.Variable(tf.random.normal[4,4,3,20]) 
conv1 = tf.nn.conv2d(input, conv1W, strides=stride, padding='SAME') 
conv1 = tf.nn.relu(conv1) 

Затем сделать процесс deconv

deconv1 = tf.nn.conv2d_transpose(conv1, conv1W, output_shape=[batch_size,output_height, output_width, output_channels],strides=stride) 
res = tf.nn.relu(deconv1) 

res является результатом deconv процесса.

В слове, filter и stride использования в процессе deconv является таким же, как и filterstride с использованием в процессе ко.

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