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

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

從熊貓數據幀在Keras中加載一批圖像

從熊貓數據幀在Keras中加載一批圖像

牛魔王的故事 2021-05-05 13:23:30
我有一個帶有兩列的pandas數據框,其中一列具有圖像的路徑,另一列具有字符串類標簽。我還編寫了以下函數,這些函數從數據幀加載圖像,對其進行規范化并將類標簽轉換為一鍵矢量。def prepare_data(df):    data_X, data_y = df.values[:,0], df.values[:,1]    # Load images    data_X = np.array([np.array(imread(fname)) for fname in data_X])    # Normalize input    data_X = data_X / 255 - 0.5    # Prepare labels    data_y = np.array([label2int[label] for label in data_y])    data_y = to_categorical(data_y)    return data_X, data_y我想將此數據幀提供給Keras CNN,但整個數據集太大而無法立即加載到內存中。這個站點上的其他答案告訴我,為此,我應該使用Keras ImageDataGenerator,但是老實說,我不理解如何從文檔中做到這一點。將延遲加載的批次中的數據饋送到模型的最簡單方法是什么?如果它是ImageDataGenerator,如何創建一個ImageDataGenerator來對Dataframe進行初始化,并將批處理通過我的函數傳遞,以創建適當的numpy數組?以及如何使用ImageDataGenerator擬合模型?
查看完整描述

2 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

我是Keras的新手,所以請服食我的鹽。我認為您應該使用Keras ImageDataGenerator,尤其是該flow_from_dataframe選項,因為您說您擁有Pandas數據框。Flow_from_dataframe讀取數據框的cols以獲取文件名和標簽。


以下是一個示例片段。在網上查找教程。


train_datagen = ImageDataGenerator(horizontal_flip=True,

                                   vertical_flip=False,

                                   rescale=1/255.0)


train_generator = train_datagen.flow_from_dataframe(     

    dataframe=trainDataframe,  

    directory=imageDir,

    x_col="file", # name of col in data frame that contains file names

    y_col=y_col_list, # name of col with labels

    has_ext=True, 

    batch_size=batch_size,

    shuffle=True,

    save_to_dir=saveDir,

    target_size=(img_width,img_height),

    color_mode='grayscale',

    class_mode='categorical', # for classification task

    interpolation='bilinear')


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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