具有常量矩阵的点流水线数据
Dot pipeline data with constant matrix
是否可以通过常量转换在管道中间乘以批次?类似于
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)
您可以使用 Lambda
层和 backend.dot()
来实现:
from keras import layers
from keras import backend as K
# ...
transformed = layers.Lambda(lambda x: K.dot(x, mat))(dense_1)
您还需要使用后端函数构造 mat
张量(例如 K.constant()
、K.variable()
等)。
是否可以通过常量转换在管道中间乘以批次?类似于
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)
您可以使用 Lambda
层和 backend.dot()
来实现:
from keras import layers
from keras import backend as K
# ...
transformed = layers.Lambda(lambda x: K.dot(x, mat))(dense_1)
您还需要使用后端函数构造 mat
张量(例如 K.constant()
、K.variable()
等)。