我目前正在以R ^ n + m输出数据,我想添加一层将输出矢量“投影”到R ^ m,即:
(x_1,...,x_m+n) -> (x_n+1,...,x_m+n).
鉴于我一直都知道n,我该如何编写一个自定义的tensorflow层来做到这一点,没有什么可训练的?
我假设这是某种类型的Lambda图层...
我希望这是您要的,给定长度为7的向量= n + m,并且m为3(切片最后3个元素)。
输入
[[ 0. 1. 2. 3. 4. 5. 6.]
[ 7. 8. 9. 10. 11. 12. 13.]]
样本代码
m = 3
test = Lambda(lambda x: x[:, -m:])
in1 = Input(shape=(7,))
out = test(in1)
# test
M = Model(inputs=[in1],outputs=[out])
M.compile(keras.optimizers.Adam(),loss='mse')
print(M.predict(np.arange(14,dtype=np.float32).reshape(2,7)))
输出
[[ 4. 5. 6.]
[11. 12. 13.]]