如何使用 Python 和 Keras 利用預訓練模型?


Tensorflow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用以實現演算法、深度學習應用程式等等。它用於研究和生產目的。

Keras 在希臘語中意為“角”。Keras 是作為 ONEIROS 專案(開放式神經電子智慧機器人作業系統)研究的一部分開發的。Keras 是一個深度學習 API,用 Python 編寫。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。

它執行在 Tensorflow 框架之上。它旨在幫助快速進行實驗。它提供了開發和封裝機器學習解決方案所需的必要抽象和構建塊。

它具有高度可擴充套件性,並具有跨平臺功能。這意味著 Keras 可以執行在 TPU 或 GPU 叢集上。Keras 模型也可以匯出到 Web 瀏覽器或手機上執行。

Keras 已經存在於 Tensorflow 包中。可以使用以下程式碼行訪問它。

import tensorflow
from tensorflow import keras

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

示例

print("A convolutional model with pre-trained weights is loaded")
base_model = keras.applications.Xception(
   weights='imagenet',
   include_top=False,
   pooling='avg')
print("This model is freezed")
base_model.trainable = False
print("A sequential model is used to add a trainable classifier on top of the base")
model = keras.Sequential([
   base_model,
   layers.Dense(1000),
])
print("Compile the model")
print("Fit the model to the test data")
model.compile(...)
model.fit(...)

程式碼來源 - https://www.tensorflow.org/guide/keras/sequential_model

輸出

A convolutional model with pre-trained weights is loaded
Downloading data from https://storage.googleapis.com/tensorflow/kerasapplications/xception/xception_weights_tf_dim_ordering_tf_kernels_notop.h583689472/83683744 [==============================] - 1s 0us/step
This model is freezed
A sequential model is used to add a trainable classifier on top of the base
Compile the model
Fit the model to the test data

解釋

  • 可以使用順序模型堆疊,並藉助預訓練模型來初始化分類層。

  • 構建此模型後,對其進行編譯。

  • 編譯完成後,可以將此模型擬合到訓練資料。

更新於: 2021年1月18日

155 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告