簡體   English   中英

使用Tensorflow和Inception V3預訓練模型訓練高清圖像

[英]Train High Definition images with Tensorflow and inception V3 pre trained model

我正在對要轉換為圖像的PDF文檔進行圖像分類。 我正在使用tensorflow inception v3預訓練模型,並嘗試按照tensorflow tuto用我自己的類別重新訓練最后一層。 我每個類別只有1000個訓練圖像,只有4個類別。 通過200k次迭代,我可以達到成功分類的90%,這雖然不錯,但仍然需要一些工作: 在此處輸入圖片說明

這里的問題是,這種預先訓練的模型僅需要300 * 300p的圖像作為輸入。 顯然,它與我試圖在文檔中識別的功能所涉及的字符搞混了。

可以更改模型輸入層,以便為他提供更好的分辨率的圖像嗎?

使用自制且更簡單的模型可以獲得更好的結果嗎?

如果是這樣,我應該從哪里開始建立這種圖像分類的模型?

如果要使用與預訓練模型不同的圖像分辨率,則應僅使用卷積塊,並具有一組與新大小有關的完全連接的塊。 使用像Keras這樣的高級庫將使它變得容易得多。 以下是在Keras中如何執行此操作的示例。

import keras
from keras.layers import Flatten,Dense,GlobalAveragePooling2D
from keras.models import Model
from keras.applications.inception_v3 import InceptionV3

base_model = InceptionV3(include_top=False,input_shape=(600,600,3),weights='imagenet')
x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(1024,activation='relu')(x)
#Add as many dense layers / Fully Connected layers required
pred = Dense(10,activation='softmax')(x)
model = Model(base_model.input,pred)

for l in model.layers[:-3]:
    l.trainable=False

input_top = False只會給您卷積塊。 您可以使用input_shape=(600,600,3)設置所需的形狀。 您可以在模型中添加幾個密集塊/完全連接的塊/層。最后一層應包含所需數量的類別.10代表類數。通過這種方法,您可以使用與卷積層相關的所有權重預先訓練的模型,只訓練最后的密集層。

暫無
暫無

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

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