有没有可能在流水线中间用一个恒定的转换来乘以批次?一些类似的东西
constant_non_trainable_matrix = numpy.array([...]) # shape (n,n)
input = tf.keras.layers.InputLayer(shape = (n,))
dense_1 = tf.keras.layers.Dense((n,))(input)
transform = MultiplyWithMatrix(constant_non_trainable_matrix)(dense_1)
output = tf.keras.layers.Dense((n,))(transform)
model = tf.keras.models.Model(inputs = input, outputs = output)发布于 2019-08-05 21:00:41
您可以使用Lambda层和backend.dot()来实现此目的:
from keras import layers
from keras import backend as K
# ...
transformed = layers.Lambda(lambda x: K.dot(x, mat))(dense_1)您还需要使用后端函数(例如K.constant()、K.variable()等)来构造mat张量。
https://stackoverflow.com/questions/57357298
复制相似问题