我想将相同的 dropout 应用于两个相同形状的输入张量。一种方法是加入输入,应用 dropout,然后再次拆分张量。这样,每次迭代中的每个输入都会删除相同的特征。
代码似乎工作正常,模型正在训练。谁能确认我所做的正是我所期望的?我不知道比较张量的方法,否则我可以将 dropout 更改为 0 并将输出与输入进行比较。
#input1 (10, 6) input2 (10,6)
input_list = [input1, input2]
#Join inputs and form (20x6) tensor
input_concat = keras.layers.concatenate(input_list, axis=1)
input_dropout = Dropout(0.5)(input_concat)
reshaped_input = keras.layers.Reshape((10, 6, 2))(input_dropout)
input_1 = keras.layers.Lambda(lambda x:x[:,:,:,0])(reshaped_input)
input_2 = keras.layers.Lambda(lambda x:x[:,:,:,1])(reshaped_input)