Используйте методы поворота и перевода из TensorFlow с Backprop
Сегодня я столкнулся с проблемой при использовании tf.contrib.image.rotate и tf.contrib.image.translate в TensorFlow. Я хочу обучить сверточную сеть оценивать вращение и сдвиг между двумя 2D-изображениями лазера в качестве входных данных.
network = NeuralTransformEstimator()
xy, alpha = tf.split(network.logits, [2, 1], 1)
img1, img2 = tf.split(network.inputs, [1, 1], 3)
alphas = tf.squeeze(alpha, axis=1)
#print xy.shape
rotated = tf.contrib.image.rotate(img1, alphas, interpolation='NEAREST')
translated = tf.contrib.image.translate(rotated, xy, interpolation='NEAREST')
loss_function = tf.reduce_mean(tf.square(img2-translated))
Сеть выдает три значения, а на входе два изображения. Но когда я использую BackProp, я получаю это сообщение об ошибке:
ValueError: Градиенты не указаны ни для одной переменной, проверьте график на наличие операций, которые не поддерживают градиенты, между переменными
Я думаю, что методы вращения и перевода не поддерживают градиенты. Могу ли я что-нибудь сделать, чтобы запустить?