2
공간 손실 변환기 네트워크 (https://github.com/tensorflow/models/blob/master/transformer/spatial_transformer.py)에서 수행되는 것과 유사한 수집 인덱스를 나타내는 변수와 관련하여 손실 함수의 그래디언트를 전파하려는 일부 문제가 있습니다. 나는 아주 간단한 것을 놓치고있는 것처럼 느낍니다. 에 ValueError :Tensorflow : tf.gather를 통해 기울기를 전파하는 방법?
현재import tensorflow as tf
import numpy as np
lf = np.array([1.0,2.0,3.0])
lf_b = 2.0
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32, shape=(3))
pt = tf.Variable(0, name='point')
y_ = tf.placeholder(tf.float32, shape=())
sess.run(tf.initialize_all_variables())
y = tf.gather(x, pt)
data_loss = tf.reduce_mean(tf.squared_difference(y,y_))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(data_loss)
는이 오류를 반환 : 어떤 변수
답변 해 주셔서 감사합니다. 나의 이해는 (https://arxiv.org/pdf/1506.02025v3.pdf)와 (https://github.com/tensorflow/models/blob/master/transformer/spatial_transformer.py)의 코드에 따르면, 이런 종류의 표본 추출은 (하위) - 구분할 수 있어야한다. pt가 float (나중에 반올림되고 int로 캐스트) 일 때도 동일한 오류가 발생합니다. 이것이 어떻게 작동해야하는지에 대한 제안이 있습니까? – user873261