如果你只是想对流经该层的数据做个变换,而这个变换本身没有什么需要学习的参数,那么直接用Lambda Layer是最合适的了。
导入的方法是
from keras.layers.core import Lambda
Lambda函数接受两个参数,第一个是输入张量对输出张量的映射函数,第二个是输入的shape对输出的shape的映射函数。
x = Lambda(resize_images)([x, feats])
(x是输入,feats是输出尺寸)
resize_images是给Lambda的,初始化一个类,[ ]里的两个变量也是给Lambda的,但是导入到resize_images这个函数中
def resize_images(args):
x = args[0]
y = args[1]
// x就是输入的x,y是feats
return tf.image.resize_images(x, (K.int_shape(y)[1], K.int_shape(y)[2]), align_corners=True)