如何使用Tensorflow視覺化資料集中的增強資料?


可以使用Tensorflow和Python以及'matplotlib'庫來視覺化增強資料。透過迭代影像並使用'imshow'方法進行繪製。

閱讀更多: 什麼是TensorFlow以及Keras如何與TensorFlow一起建立神經網路?

我們將使用Keras Sequential API,它有助於構建一個用於處理層級堆疊的順序模型,其中每一層都只有一個輸入張量和一個輸出張量。

包含至少一層卷積層的神經網路被稱為卷積神經網路。我們可以使用卷積神經網路來構建學習模型。

我們正在使用Google Colaboratory來執行以下程式碼。Google Colab或Colaboratory幫助在瀏覽器上執行Python程式碼,無需任何配置,並可免費訪問GPU(圖形處理單元)。Colaboratory構建在Jupyter Notebook之上。

當訓練樣本數量較少時,模型會從訓練樣本中的噪聲或不需要的細節中學習。這會對模型在新樣本上的效能產生負面影響。

由於過擬合,模型將無法在新資料集上很好地泛化。避免過擬合的方法有很多。我們將使用資料增強來克服過擬合。

資料增強透過使用隨機變換(這些變換會產生看起來可信的影像)來增強現有樣本,從而生成額外的訓練資料。

這有助於使模型接觸到更多的資料方面,從而幫助模型更好地泛化。以下是一個示例

示例

print("Visualizing the augmented examples")
plt.figure(figsize=(10, 10))
for images, _ in train_ds.take(1):
   for i in range(9):
      augmented_images = data_augmentation(images)
      ax = plt.subplot(3, 3, i + 1)
   plt.imshow(augmented_images[0].numpy().astype("uint8"))
plt.axis("off")

程式碼來源 -https://www.tensorflow.org/tutorials/images/classification

輸出

Visualizing the augmented examples

解釋

  • 以上程式碼有助於視覺化一些增強示例。

  • 這是透過對同一影像多次應用資料增強來完成的。

  • 迭代資料/影像,並在控制檯上顯示一些樣本影像。

更新於: 2021年2月22日

184 次檢視

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.