簡體   English   中英

在keras中創建自定義生成器以進行預測

[英]Making a custom generator in keras for prediction

我正在為約100萬張圖像的大型數據庫做預測。 對於每個圖像,我都有一些代碼,可以將圖像切成約200個較小的圖像,並將它們作為一個numpy數組傳遞給keras,以進行預測。

我想避免不必要的讀寫操作,所以我不想保存所有這些較小的圖像並使用flow_from_directory。 取而代之的是,我希望讀入圖像,將其與現有代碼一起切碎,並將較小的圖像作為批處理全部傳遞到我的網絡中,然后對許多圖像重復此過程。

這是Keras可以處理的嗎? 如果是這樣,我懷疑我需要創建自己的自定義生成器,但是我不確定如何執行此操作,因此找不到任何好的示例。 有沒有人提供有關如何實現自定義生成器的示例?

嘗試這樣的事情:

dpath='path to test folder'
ids=os.listdir(dpath+"test/")
for id in ids:
    x_batch=[]
    img = cv2.imread(dpath+'test/{}.jpg'.format(id))  #jpg if image in jpg format
    img = cv2.resize(img, (224, 224), interpolation = cv2.INTER_CUBIC) #if resize is needed

    chopped_image= your code that chops image
        x_batch.append(chopped_image)

    x_batch = np.array(x_batch, np.float32) 
    preds=(model.predict_on_batch(x_batch))
    if first==1:
        predsA=preds.copy()
        first=0
    else:
        predsA=np.append(predsA,preds,axis=0)     

暫無
暫無

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

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