Я пытаюсь реализовать эту функцию с помощью tf.xyz
модулей, доступных в TensorFlow здесь .Эта функция, основанная на NumPy, принимает в качестве входных данных трехмерную матрицу, проверяет условие со значениями последнего столбца и возвращает значения из первых двух столбцов, которые удовлетворяют условию.
Мне трудно конвертировать модули на основе NumPy для тензоров TensorFlow, которые я хочу добавить в качестве лямбда-слоя в мою модель.Любое предложение?
Я пытаюсь использовать tf.greater()
и tf.slice()
, но не получаю тот же вывод, что и версия функции NumPy.
# NumPy based function on 3D matrix:
def fun1(arr):
return arr[arr[:,2] > 0.95][:,:2]
input_matrix = np.array([[[1, 2, 0.99], [11, 22, 0.80], [111, 222, 0.96]]])
>> input_matrix
[[[ 1. 2. 0.99]
[ 11. 22. 0.8 ]
[111. 222. 0.96]]]
>> np.array([fun1(i) for i in input_matrix])
array([[[ 1., 2.],
[111., 222.]]])