1. 程式人生 > >keras數據預處理

keras數據預處理

amp 我們 return color 表示圖 行數 num 數據預處理 個數

數據預處理

  • 在使用 TensorFlow 作為後端的時候,在 Keras 中,CNN 的輸入是一個4維數組(也被稱作4維張量),它的各維度尺寸為 (nb_samples, rows, columns, channels)。其中 nb_samples 表示圖像(或者樣本)的總數,rows, columns, 和 channels 分別表示圖像的行數、列數和通道數。
  • 下方的 path_to_tensor 函數實現如下將彩色圖像的字符串型的文件路徑作為輸入,返回一個4維張量,作為 Keras CNN 輸入。因為我們的輸入圖像是彩色圖像,因此它們具有三個通道( channels3)。
    1. 該函數首先讀取一張圖像,然後將其縮放為 224×224 的圖像。
    2. 隨後,該圖像被調整為具有4個維度的張量。
    3. 對於任一輸入圖像,最後返回的張量的維度是:(1, 224, 224, 3)
  • paths_to_tensor 函數將圖像路徑的字符串組成的 numpy 數組作為輸入,並返回一個4維張量,各維度尺寸為 (nb_samples, 224, 224, 3)。 在這裏,nb_samples是提供的圖像路徑的數據中的樣本數量或圖像數量。你也可以將 nb_samples 理解為數據集中3維張量的個數(每個3維張量表示一個不同的圖像。
    from keras.preprocessing import image                  
    from tqdm import
    tqdm def path_to_tensor(img_path): # 用PIL加載RGB圖像為PIL.Image.Image類型 img = image.load_img(img_path, target_size=(224, 224)) # 將PIL.Image.Image類型轉化為格式為(224, 224, 3)的3維張量 x = image.img_to_array(img) # 將3維張量轉化為格式為(1, 224, 224, 3)的4維張量並返回 return np.expand_dims(x, axis=0) def paths_to_tensor(img_paths): list_of_tensors
    = [path_to_tensor(img_path) for img_path in tqdm(img_paths)] return np.vstack(list_of_tensors)

keras數據預處理