我有一个小的矩阵 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
答案 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()