我目前有数据以R ^ n + m输出,我想添加一层将输出矢量“投影”到R ^ m,即:
(x_1,...,x_m+n) -> (x_n+1,...,x_m+n).
鉴于我一直都知道n,我怎么能写一个自定义的tensorflow层呢?
我假设它是某种类型的Lambda层...
答案 0 :(得分:1)
鉴于您的向量长度为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.]]