具有可变索引的切片张量与Keras中的Lambda层

loading...


3

给定一个3D输入张量(比如说(8,32,100))我试图在Keras中实现一个Lambda图层来选择这样一个输入向量的切片 .

如果我总是想要相同的切片(例如,位于第二维中位置2和4之间的所有输入),我认为这将起作用:

Lambda(lambda x: x[:,2:4,:], output_shape=(3,100,), name="lambda_layer")(input)

但就我而言,对于每个训练样本,我都有兴趣访问不同的切片然后将它们连接到Dense层 . 我在这些行下面尝试了这个选项,但我不能将标量(i和j)提供给模型,因为它们将被视为元组(并且定义 shape=(1) 无效) .

i = Input(shape=(1,), dtype="int32") j = Input(shape=(1,), dtype="int32") Lambda(lambda x: x[:,i:j,:], output_shape=(3,100,), name="lambda_layer")([input,i,j])

1回答

loading...

评论

暂时没有评论!