2 回答

TA贡献1936条经验 获得超6个赞
您需要将裁剪操作放在一个函数中,然后在Lambda图层中使用该函数:
def my_cropping(a):
cropping_list = []
n_patches = 256/32
for x in range(256//32):
for y in range(256//32):
cropping_list += [
K.expand_dims(
Cropping2D((( x * 32, 256 - (x+1) * 32), ( y * 32, 256 - (y+1) * 32)))(a)
, axis=1)
]
return cropping_list
要使用它:
cropping_list = Lambda(my_cropping)(a)

TA贡献1873条经验 获得超9个赞
我遇到了同样的问题,它确实通过在 @today 提议的张量周围包裹一个 Lambda 层来解决。
感谢您的提示,它为我指明了正确的方向。我想将向量变成对角矩阵
我想将矢量与正方形图像连接起来,并通过在diag矩阵中旋转矢量来实现。它适用于以下代码段:
def diagonalize(vector):
diagonalized = tf.matrix_diag(vector) # make diagonal matrix from vector
out_singlechan = tf.expand_dims(diagonalized, -1) # append 1 channel to get compatible to the multichannel image dim
return out_singlechan
lstm_out = Lambda(diagonalize, output_shape=(self.img_shape[0],self.img_shape[1],1))(lstm_out)
添加回答
举报