我已經微調了一個SSD-Mobilenetv2,火車配置固定大小為300x300,使用tensorflow異議檢測API構建,并以TF Saved_Model格式保存。 問題是:
- 在推理程序中,它如何能夠接受任何形狀的輸入影像(而不僅僅是300x300),而不需要進行任何預處理,首先將它們的大小調整為300x300,然后將它們傳遞給模型?
- 這是否因為saved_model默認在推理程序中調整大小?(如果是,在進行卷積操作之前,它是否也會對它們進行歸一化處理)(我是saved_model格式的新手,但我認為這不是因為saved_model,但這怎么可能--因為我認為SSD-Mobilenet包括需要固定輸入尺寸的FC層)或者該架構是否使用AdaptivePooling在b/w實作這一目標?
uj5u.com熱心網友回復:
當你做預測時,你必須使用與模型訓練時相同大小的影像。因此,如果你把300 X 300的影像轉換成224 X 224,你必須對你要預測的影像做同樣的處理。MobileNet也希望像素在-1到 1的范圍內,函式tf.keras.applications.mobilenet_v2.preprocess_input執行該操作。你需要對你想預測的影像進行類似的像素縮放。你可以使用上述函式,也可以使用下面的等效函式。另外,如果模型是在RGB上訓練的,請確保你要預測的影像是RGB。
def scale(image) 。
return image/127.5-1。
uj5u.com熱心網友回復:
Mobilenet V1(paper)接受224x224x3的輸入。Mobilenet V2的新增內容主要是在層與層之間的線性瓶頸和快捷/跳轉連接,所以我認為架構的輸入尺寸沒有改變(Google AI博客關于MobileNetV2的帖子)。
(這是基于我的個人經驗)。我幾乎可以肯定的是,調整大小只是保持原始長寬比的影像的縮放,并對其進行零填充。或者,他們可以直接縮放并改變長寬比,但這似乎不太可能。他們肯定沒有使用類似自適應池的東西來調整大小。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/328141.html
標籤:
