亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Keras 中編寫用于圖像預處理的自定義函數

在 Keras 中編寫用于圖像預處理的自定義函數

呼啦一陣風 2021-12-09 18:27:12
我是一名初學者,正在使用該keras_flow_from_dataframe課程訓練有關糖尿病視網膜病變的圖像數據集。但是我的模型一直欠擬合。因此,我嘗試使用 OpenCV 的自適應閾值實現,通過編寫要在我的圖像數據生成器類中傳遞的自定義預處理函數來進行預處理。當我在 Keras 之外使用它時,該函數運行良好,但是當我將它添加到我的圖像數據生成器類并適合我的模型時,它會bad argument type for built-in operation在我的第一個紀元開始之前返回一個類型錯誤。這是預處理代碼:def preprocess(im):    im = cv2.imread(im, 1)    im= cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)    im=cv2.resize(im, (300,300))    im.resize(300, 300, 1)    block_size = 73     constant = 2    # ADAPTIVE GAUSSIAN THRESHOLDING    thr2 = cv2.adaptiveThreshold(im, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, block_size, constant)    return thr2當我用數據幀中的圖像測試它時,它在 Keras 之外運行良好,但是當我將它添加到我的圖像數據生成器類時,它會引發錯誤。train_datagen = ImageDataGenerator(    rotation_range=30,    width_shift_range=0.4,    height_shift_range=0.4,    shear_range=0.3,    zoom_range=0.3,    horizontal_flip = True,    fill_mode='nearest',    preprocessing_function = preprocess)valid_datagen = ImageDataGenerator(preprocessing_function = preprocess)然后我從數據幀加載我的數據集:from keras.preprocessing.image import ImageDataGeneratortraingen = train_datagen.flow_from_dataframe(x_train, x_col='path', y_col='level',class_mode='other',                                              target_size=(300,300), color_mode='grayscale', batch_size=16)validgen = valid_datagen.flow_from_dataframe(valid, x_col='path', y_col='level',class_mode='other',                                            target_size=(300,300), color_mode='grayscale', batch_size=16)然后我使用 擬合模型model.fit_generator,然后拋出類型錯誤:bad argument type for built-in operation。
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

我遇到了像你這樣的問題,我的老師通過將它指向 tf preprocess_function 的文檔來幫助我,它說preprocess_function參數是一個圖像,你可以閱讀更多關于這個的信息。

這就是為什么它會在cv2.imread(image). 您應該刪除該行,因為im它是生成器為您提供的圖像。不需要加載它,因為它已經加載了

我的一個很好用,希望你的也很好。


查看完整回答
反對 回復 2021-12-09
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我認為問題在于 Keras 解析 openCV 輸出,因為當我使用另一個庫執行名為 ImgAUg 的處理時,它運行良好。這是鏈接。https://pypi.org/project/imgaug/。

所以我只是用庫編寫了一個預處理函數的腳本,然后我將它傳遞給了 keras imageDataGenerator 類。它運行良好,并沒有向我拋出任何錯誤。


查看完整回答
反對 回復 2021-12-09
  • 2 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號