簡體   English   中英

keras 和 tf.keras 中的 ResNet 模型對同一圖像給出不同的輸出

[英]ResNet model in keras and tf.keras give different output for the same image

對於給定的圖像,我正在提取 ResNet 特征,即在所有 conv 層和全局最大池化之后,每個圖像給出 2048 長度的向量。

早些時候,我使用keras==2.3.1和后端tensorflow==1.13.1 現在,自從 keras 與 tensorflow 合並后,我已經轉移到tensorflow==2.0.0 我用tf.keras而不是keras替換了我的代碼。

但是現在提取的特征和之前提取的特征不一樣了。 ResNet 是一個獨立於 tensorflow/keras 甚至 pytorch 的模型。 它的功能是預定義的。 為什么會出現這種差異? 是否有任何參數可以調整以獲得相同的功能?

編輯1 :添加代碼

from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input
resnet_model = ResNet50(include_top=False)

模型本身不斷更新,並使用具有更好結果的權重。 是發布文件夾,您可以在其中查看不同權重文件的發布。 鏈接的文件夾用於 keras,它很可能也被 tf.keras 使用。 您面臨的問題可能是因為庫的版本而不是調用模型的方法。

例如, 在這里您可以找到 keras_applications 代碼並檢查指向版本 v0.2 的權重路徑(鏈接是 keras,但對於 tensorflow.keras 也是如此)。

較舊的庫版本具有較舊的鏈接,更新庫也會更新路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM