tensorflow создает собственный слой, который меняет вес в соответствии с входным значением - PullRequest
0 голосов
/ 04 августа 2020
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...