Это довольно простой вопрос, который я просто не могу понять. Я работаю с выходным тензором формы [100, 250]. Я хочу иметь доступ к массиву 250 размерности в любом месте по стом и изменять их отдельно. Математические инструменты tensorflow, которые я нашел, либо модифицируют по типу, либо скалярную модификацию на всем тензоре. Тем не менее, я пытаюсь сделать скалярную модификацию на подмножествах тензора.Как преобразовать вектор в единичный вектор в Tensorflow
РЕДАКТИРОВАТЬ:
Здесь NumPy код, который я хотел бы воссоздать с методами tensorflow:
update = sess.run(y, feed_dict={x: batch_xs})
for i in range(len(update)):
update[i] = update[i]/np.sqrt(np.sum(np.square(update[i])))
update[i] = update[i] * magnitude
Этот цикл следует эту формулу в 250-D вместо 3-D , Затем я умножаю каждый единичный вектор по величине, чтобы преобразовать его в нужную длину.
Таким образом, обновление здесь представляет собой размерный размер [100, 250]. Я хочу преобразовать каждый 250-мерный вектор в его единичный вектор. Таким образом, я могу изменить свою длину до величины моего выбора. Используя этот Numpy код, если я бегу мой train_step и передать обновление в одном из моих заполнителей
sess.run(train_step, feed_dict={x: batch_xs, prediction: output})
он возвращает ошибку:
No gradients provided for any variable
Это потому, что я сделал математику в NumPy и портирована он возвращается в тензор. Here - связанный с этим вопрос о стеке, который не получил ответа.
tf.nn.l2_normalize очень близко к тому, что я ищу, но он делит на квадратный корень максимум сумма квадратов. В то время как я пытаюсь разделить каждый вектор на свою сумму квадратов.
Спасибо!
Итак, по-другому можно сформулировать следующие вопросы: , если у меня есть тензор [x, y] и тензор [x, 1], могу ли я выполнять математические операции так, чтобы значение в '1 'влияет на каждое соответствующее значение в категории' y '? Не элементный, но не специально скалярное умножение. –
Я нахожу ваш вопрос очень неясным. Не могли бы вы дать код для того, как вы это сделаете в numpy? –
возможно, используя карту funciont of tensorflow? Он доступен в 0,9 – jorgemf