#python #tensorflow
#python #тензорный поток
Вопрос:
Я ищу способ применить tensorflow op к каждому элементу 2d-тензора, например
input = tf.Variable([[1.0, 2.0], [3.0, 4.0]])
# final result should look like:
# [[myCustomOp(1.0), myCustomOp(2.0)]), [myCustomOp(3.0), myCustomOp(4.0)]]
Комментарии:
1. вы можете применить любую операцию к каждому элементу, например, myCustomOp(ввод [0,0])
2. Мне нужно затронуть весь тензор (см. Желаемый результат)
Ответ №1:
Работает следующий код:
def myOp(t):
return t 1
shape = tf.shape(input)
elems = tf.reshape(input, [-1])
res = tf.map_fn(fn=lambda t: myOp(t), elems=elems)
res = tf.reshape(res, shape)