演示 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”方法為層建立權重。

  • 模型已生成。

更新於:2021年1月18日

222 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告