如何使用TensorFlow和重新編譯後的預訓練模型來視覺化資料?
可以使用TensorFlow和預訓練模型以及‘matplotlib’庫來視覺化資料。 ‘imshow’方法用於在控制檯上顯示資料。
閱讀更多: 什麼是TensorFlow以及Keras如何與TensorFlow一起建立神經網路?
包含至少一層卷積層的神經網路稱為卷積神經網路。我們可以使用卷積神經網路來構建學習模型。
我們將瞭解如何藉助來自預訓練網路的遷移學習來對貓和狗的影像進行分類。影像分類遷移學習背後的直覺是,如果一個模型在大型通用資料集上進行訓練,則該模型可以有效地用作視覺世界的通用模型。它已經學習了特徵對映,這意味著使用者不必從頭開始在大型資料集上訓練大型模型。
閱讀更多: 如何預訓練自定義模型?
我們正在使用Google Colaboratory執行以下程式碼。Google Colab或Colaboratory有助於透過瀏覽器執行Python程式碼,無需任何配置,並可免費訪問GPU(圖形處理單元)。Colaboratory構建在Jupyter Notebook之上。
示例
print("Visualizing the data") plt.figure(figsize=(10, 10)) for i in range(9): ax = plt.subplot(3, 3, i + 1) plt.imshow(image_batch[i].astype("uint8")) plt.title(class_names[predictions[i]]) plt.axis("off")
程式碼來源 −https://www.tensorflow.org/tutorials/images/transfer_learning
輸出
解釋
當使用小型資料集時,可以在同一領域中針對大型資料集訓練的模型學習特徵。
這可以透過例項化預訓練模型並在其頂部新增一個全連線分類器來實現。
預訓練模型被“凍結”,並且僅在訓練期間更新分類器的權重。
卷積基將提取與每個影像關聯的所有特徵。
為了提高效能,可以微調預訓練模型的頂層。
這樣做是為了使模型學習特定於該資料集的高階特徵。
當訓練資料集很大並且與預訓練模型所訓練的原始資料集相似時,推薦使用此技術。
廣告