如何在Tensorflow中定义多个过滤器

时间:2019-05-03 06:09:43

标签: tensorflow

我有一个小的矩阵 4 * 4 ,我想用TensorFlow(1.8.0)中的两个不同的过滤器对其进行过滤。我有一个带有一个过滤器(my_filter)的示例: 我想将过滤器更改为

my_filter = tf.constant([0.2,0.5], shape=[2, 2, 3, 1])

一个将是全部{{1}的 2 * 2 ,而另一个是0.25全部的 2 * 2 。但是如何设置值?

这是我的代码:

0.5

1 个答案:

答案 0 :(得分:1)

第一个选项

过滤器也可以定义为占位符

filter = tf.placeholder(filter_type, filter_shape)
...
with tf.Session() as sess:
 for i in range (number_filters) :
   result =sess.run(mov_avg_layer,feed_dict={x_data: x_val, filter: filter_val})

第二个选项

在图中定义第二个过滤器

my_filter = tf.constant(0.25, shape=[2, 2, 1, 1])
my_filter2 = tf.constant(0.5, shape=[2, 2, 1, 1])

mov_avg_layer= tf.nn.conv2d(x_data, my_filter, my_strides,
padding='SAME', name='Moving_Avg_Window')

mov_avg_laye2= tf.nn.conv2d(x_data, my_filter2, my_strides,
padding='SAME', name='Moving_Avg_Window')

...
with tf.Session() as sess:
   result1, result2 =sess.run([mov_avg_layer1, mov_avg_layer2],feed_dict={x_data: x_val})
   sess.close()