演示 Python 中“tf.keras.layers.Dense”的基本實現
Tensorflow 是谷歌提供的機器學習框架。它是一個開源框架,與 Python 結合使用,可以實現演算法、深度學習應用程式等等。它用於研究和生產目的。
可以使用以下程式碼行在 Windows 上安裝“tensorflow”包:
pip install tensorflow
張量是 TensorFlow 中使用的資料結構。它有助於連線流圖中的邊。此流圖稱為“資料流圖”。張量只不過是多維陣列或列表。
Keras 是一個用 Python 編寫的深度學習 API。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。它執行在 TensorFlow 框架之上。它是為了幫助快速進行實驗而構建的。它提供了開發和封裝機器學習解決方案所必需的基本抽象和構建塊。
Keras 已經存在於 TensorFlow 包中。可以使用以下程式碼行訪問它。
import tensorflow from tensorflow import keras
Keras 函式式 API 有助於建立比使用順序 API 建立的模型更靈活的模型。函式式 API 可以處理具有非線性拓撲的模型,可以共享層,並可以處理多個輸入和輸出。深度學習模型通常是一個包含多個層的有向無環圖 (DAG)。函式式 API 有助於構建層圖。
我們正在使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 有助於透過瀏覽器執行 Python 程式碼,無需任何配置,並可免費訪問 GPU(圖形處理單元)。Colaboratory 是基於 Jupyter Notebook 構建的。以下是程式碼片段:
示例
class CustomDense(layers.Layer): def __init__(self, units=32): super(CustomDense, self).__init__() self.units = units def build(self, input_shape): self.w = self.add_weight( shape=(input_shape[-1], self.units), initializer="random_normal", trainable=True, ) self.b = self.add_weight( shape=(self.units,), initializer="random_normal", trainable=True ) def call(self, inputs): return tf.matmul(inputs, self.w) + self.b inputs = keras.Input((4,)) outputs = CustomDense(10)(inputs) print("Keras model is being generated") model = keras.Model(inputs, outputs)
程式碼來源 - https://www.tensorflow.org/guide/keras/functional
輸出
Keras model is being generated
解釋
Keras 帶有多個內建層,其中一些包括“Conv1D”、“Conv2D”、“Conv2DTranspose”等等。
“call”方法指定由層執行的計算。
“build”方法為層建立權重。
模型已生成。