Как создать слой в 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)

Ответы (0 шт):