我有一個預訓練的 VGG16 網絡,并使用遷移學習修改了 PASCAL VOC 2012 數據集的網絡?,F在,我想從修改后的 VGG16 網絡中獲取每一層的輸出,并在每一層上應用卷積,然后將它們上采樣到相同的大小并添加它們。這是為了識別圖像中的重要區域。我已經從每一層獲取了輸出output = [layer.output for layer in model.layers]現在我想要類似的東西hypercolumns = []for op in output: #apply convolution on this output layer #upsample it to the size of the input image #store this in hypercolumns list最后,在對所有層進行上采樣后,我將從列表中添加它們以獲得單個矩陣。現在,我對如何在不創建模型和進行上采樣的情況下應用卷積感到困惑。keras有沒有辦法。
1 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
有幾種方法可以實現這一點,其中一些在 Keras FAQ中列出。我不知道那里列出的兩種主要方式之間有任何顯著差異,因此請嘗試兩種方式,看看有什么用。這是您可以執行的操作的示例:
input = model.layers[0].input
for op in output:
intermediate_function = K.function([input], [output])
layer_output = intermediate_function([YOUR_INPUT_DATA_HERE])[0]
# do the upsampling and stuff here
添加回答
舉報
0/150
提交
取消