#tensorflow #tensorflow2.0
#tensorflow #tensorflow2.0
Вопрос:
Я хочу преобразовать этот вид индексации:
a = tf.ones((500, 1000))
a[1:150, 50:700]
В :
a[idx_x, idx_y]
Очевидно, мы можем использовать while
цикл для построения двух векторов. Но каков наиболее эффективный способ сделать это в tensorflow?
Ответ №1:
Вы можете генерировать значения индекса как:
idx_x, idx_y = tf.meshgrid(tf.range(1, 150), tf.range(50, 700), indexing='ij')
Затем вы должны использовать их как:
b = tf.gather_nd(a, tf.stack([idx_x, idx_y], axis=-1))