Как создать слой в keras, который для рассчета каждого выхода итерирует по всем входам?
Я пишу нейронку для диплома и в ней появилась такая задача: На вход слоя поступает набор координат, а на выходе нужен тензор такой же размерности, каждый элемент которого считается примерно следующим образом:
def resulting_H_x(coordinates):
potentials= [0 for i in range(len(coordinates))]
for i in range(len(coordinates)):
for j in range(len(coordinates)):
if i != j:
potentials[i] += F(coordinates[i] - coordinates[j])
return potentials
Но как я понял в tensorflow нельзя итерировать по элементам тензора (во всяком случае не так просто). Под F здесь подразумевается математическая функция.
На данный момент мои попытки выглядят так:
class H_x_Layer(tf.keras.layers.Layer):
def __init__(self):
super().__init__()
def call(self, inputs):
return resulting_H_x(inputs)