如何在 tensorflow 中训练卷积滤波器

我正在尝试训练一个神经网络,该网络将被水平线(以及未来的角落)激活。

我画了一个包含垂直和水平线的图像(见下面的链接)。然后在 Photoshop 中,我在水平线的顶部绘制标记,即我希望网络激活的位置。

原始图像和标签图像如下所示:

http://img4.mukewang.com/611778160001279702440225.jpghttp://img1.mukewang.com/6117781d0001d8da02150219.jpg

现在任务看起来很简单,但我无法让 tensorflow 来训练这样一个网络。这是我的代码:


input = tf.convert_to_tensor(original, tf.float32)

label = tf.convert_to_tensor(lbl_hor, tf.float32)


W1 = tf.Variable(tf.random_normal([5,5,1,1]))

b1 = tf.Variable(0.1)

W2 = tf.Variable(tf.random_normal([5,5,1,1]))

b2 = tf.Variable(0.1)


l1 = tf.nn.conv2d(input, W1, [1,1,1,1], 'SAME')

l1 = l1 + b1

l1 = tf.nn.relu(l1)


l2 = tf.nn.conv2d(l1, W2, [1,1,1,1], 'SAME')

l2 = l2 + b2

l2 = tf.nn.relu(l2)


loss = tf.square(l2 - label)

loss_sum = tf.reduce_sum(loss)

train_op = tf.train.AdamOptimizer(0.01).minimize(loss)


sess = tf.Session()

sess.run(tf.global_variables_initializer())


for i in range(0, 100):

    sess.run(train_op)

网络每次都会给出不可预测的输出,有时只是黑色。我试图将标签乘以一些常数,以便激活具有更大的权重 - 没有太大影响......


你能帮我弄清楚如何训练这样的网络或找出我的代码有什么问题吗?


泛舟湖上清波郎朗
浏览 167回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python