Я хочу написать собственный слой в Keras, который изменяет как входные, так и соответствующие выходные метки сети.
Можно ли изменить выходные метки?
Я уже написал пользовательский слой, который меняет ввод. Теперь мне нужно соответствующим образом изменить выходные метки сети. Я понятия не имею, как этого добиться.
Вот пример того, что я имею / хочу:
from keras import layers
import numpy as np
class MyLayer(layers.Layer):
def call(self, x):
a = np.random.randint(0, 5)
new_x = x + a
new_y = y + a # <-- how can I do this?
return new_x
Можно ли вообще изменить выходные метки во время тренировки?
Ожидаемый результат будет следующим:
- Допустим следующий тренировочный набор:
X = [[1, 2, 3], [4, 5, 6]]
Y = [1, 2]
- Во время обучения вход и метки могут быть изменены, чтобы быть похожими (с разными
a
в каждой эпохе
a = 2
X = [[3, 4, 5], [6, 7, 8]]
Y = [3, 4]