python - 具有常数矩阵的点流水线数据
问题描述
是否可以将管道中间的批次与恒定转换相乘?类似的东西
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()
。
推荐阅读
- rust - 复合特征不起作用:没有为 `[name]` 实现特征`std::io::Read`
- swift - NSImageView 被剪掉
- c# - Asp.Net Core 3.1 - 单击按钮时按 GUID 值删除和重命名 jstree 节点?
- javascript - 如何使用 getDerivedStateFromProps 使用 React setState 方法?
- python - 获取池 apply_async 返回太慢
- python - Groupby 计数值 isin - pandas
- c++ - 如何使用#include 编译 C++ 应用程序
在使用 G++ 的 Windows (MinGW - W64) 中? - reactjs - 在 react native 中添加自定义字体
- mysql - MySQL DELETE 查询影响比 SELECT 查询更多的行
- rust - 为什么 Rust 抱怨不使用这些类型实例的函数中类型的生命周期?