没有提供渐变

时间:2018-10-29 10:51:21

标签: python-3.x tensorflow conv-neural-network image-segmentation

我有问题的网络将10x10x1图像作为输入,并返回4x2x3图像作为输出。像这样: 输入到网络 enter image description here

输入图像有两个2x2x1大小的色块。

网络输出: 我有问题的网络需要提取大小为4x2x3的输出图像。像这样:

enter image description here

以上补丁应直接从另一张我称为原始图像的图像中提取。

原始图片 这是原始图像,我需要从中提取原始补丁。此原始图像包含大小为4x2x3

的色块

enter image description here

我从10x10x1输入图像中提取最后一层中每个补丁的左上位置,该位置的补丁与输入图像的位置大致相同。但是,这些值是预测值,因此可能并不完全准确。找到补丁的左上角位置后,便从10x10x3原始图像中提取了补丁并将其输出。该输出被馈送到损耗函数。看来我的渐变色没有倒流,并且出现以下错误:

ValueError: No gradients provided for any variable, check your graph for ops that do not support gradients, between variables ["<tf.Variable 'cv/conv1_W:0' shape=(4, 4, 1, 16) dtype=float32_ref>", "<tf.Variable 'cv/conv1_b:0' shape=(16,) dtype=float32_ref>", "<tf.Variable 'fc/fc_1_W:0' shape=(400, 100) dtype=float32_ref>", "<tf.Variable 'fc/fc_1_b:0' shape=(100,) dtype=float32_ref>"] and loss Tensor("Mean:0", shape=(), dtype=float32).

但是,如果我从10x10x1输入图像中提取图像,则一切正常。我需要从10x10x1图像中提取位置,然后从10x10x3原始图像中提取实际的补丁内容。位置可能不一定总是准确的,因此我需要训练我的网络以改善输入10x10x1图像中给定的位置。因此,我需要能够提取补丁,计算梯度,改善权重并尝试再次提取。

我正在使用Tensorflow和Conv Nets执行此功能。我将不胜感激。谢谢。

0 个答案:

没有答案