[英]Try adding a Flatten layer on ResNet50(notop) and get an error
[英]Keras resnet50 get_layer() 'no such layer' error
所以我正在使用以下代碼加載 keras Resnet50 模型:
backbone = resnet50.ResNet50(include_top=False, weights=None, input_tensor=None, pooling=None, classes=1000)
我需要在github(line 75)上的 resnet50 代碼中獲得一個名為“ bn5c_branch2c ”的批量標准化層。
運行backbone.get_layer('bn5c_branch2c')
給我一個ValueError: No such layer: bn5c_branch2c。
使用以下方法打印層的名稱:
for layer in backbone.layers:
print(layer.name)
我發現確實沒有任何層以這個名稱命名,而是將它們命名為“ conv5_block1_3_bn ”。 但是,在 resnet50 的代碼中,名稱明確輸入為“ bn5c_branch2c ”。 我無法理解這是如何發生的,以及如何通過代碼中分配的名稱提取圖層。 任何幫助都會很棒。 謝謝。
張量流 - 2.3.1 keras - 2.4.3 操作系統 - Ubuntu 20.04.1 LTS
bn5c_branch2c層適用於 Tensorflow 1.13.1。
from tensorflow.keras.applications import resnet50
from tensorflow.keras import layers
from tensorflow.keras.layers import Concatenate, Conv2D, UpSampling2D, BatchNormalization, Add, Lambda
from tensorflow.keras.models import Model
backbone = resnet50.ResNet50(include_top=False,
weights=None,
input_tensor=None,
pooling=None,
classes=1000)
C5 = backbone.get_layer('bn5c_branch2c').output
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.