import tensorflow as tf
class MyDenseLayer(tf.keras.layers.Layer):
def __init__(self, num_outputs):
super(MyDenseLayer, self).__init__()
self.num_outputs = num_outputs
def build(self, input_shape):
self.kernel = self.add_weight("kernel",
shape=[int(input_shape[-1]),
self.num_outputs])
def call(self, input):
return tf.matmul(input, self.kernel)
введите описание изображения здесь
как я могу реализовать слой пропущенного значения. если -1 означает отсутствие. когда ввод отсутствует, вес будет w1, когда он не пропущен, вес будет w2. например,
input[0] = [1, -1, 0.5]
for i, val in input[0]:
if val == -1:
weight[i] = w1[i]
else:
weight[i] = w2[i]
return weight
output = tf.multiply(weight, input)