當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.keras.experimental.LinearModel用法及代碼示例


回歸和分類問題的線性模型。

繼承自: Model Layer Module

用法

tf.keras.experimental.LinearModel(
    units=1, activation=None, use_bias=True, kernel_initializer='zeros',
    bias_initializer='zeros', kernel_regularizer=None,
    bias_regularizer=None, **kwargs
)

參數

  • units 正整數,沒有批量大小的輸出維度。
  • activation 要使用的激活函數。如果您不指定任何內容,則不會應用激活。
  • use_bias 是否計算此模型的偏差/截距。如果設置為 False,則不會在計算中使用偏差/截距,例如,數據已經居中。
  • kernel_initializer kernel 權重矩陣的初始化程序。
  • bias_initializer 偏置向量的初始化器。
  • kernel_regularizer 核向量的正則化器。
  • bias_regularizer 偏置向量的正則化器。
  • **kwargs 傳遞給 BaseLayer 的關鍵字參數。在裏麵.

屬性

  • distribute_strategy 該模型是在 tf.distribute.Strategy 下創建的。
  • layers
  • metrics_names 返回所有輸出的模型顯示標簽。

    注意:metrics_names 僅在 keras.Model 已根據實際數據進行訓練/評估後可用。

    inputs = tf.keras.layers.Input(shape=(3,))
    outputs = tf.keras.layers.Dense(2)(inputs)
    model = tf.keras.models.Model(inputs=inputs, outputs=outputs)
    model.compile(optimizer="Adam", loss="mse", metrics=["mae"])
    model.metrics_names
    []
    x = np.random.random((2, 3))
    y = np.random.randint(0, 2, (2, 2))
    model.fit(x, y)
    model.metrics_names
    ['loss', 'mae']
    inputs = tf.keras.layers.Input(shape=(3,))
    d = tf.keras.layers.Dense(2, name='out')
    output_1 = d(inputs)
    output_2 = d(inputs)
    model = tf.keras.models.Model(
       inputs=inputs, outputs=[output_1, output_2])
    model.compile(optimizer="Adam", loss="mse", metrics=["mae", "acc"])
    model.fit(x, (y, y))
    model.metrics_names
    ['loss', 'out_loss', 'out_1_loss', 'out_mae', 'out_acc', 'out_1_mae',
    'out_1_acc']
  • run_eagerly 指示模型是否應立即運行的可設置屬性。

    即刻地運行意味著您的模型將像 Python 代碼一樣逐步運行。您的模型可能會運行得更慢,但通過單步調用各個層調用,您應該可以更輕鬆地對其進行調試。

    默認情況下,我們將嘗試將您的模型編譯為靜態圖以提供最佳執行性能。

該模型近似於以下函數:

其中 是偏差, 是每個特征的權重。

例子:

model = LinearModel()
model.compile(optimizer='sgd', loss='mse')
model.fit(x, y, epochs=epochs)

該模型也接受稀疏浮點輸入:

例子:

model = LinearModel()
opt = tf.keras.optimizers.Adam()
loss_fn = tf.keras.losses.MeanSquaredError()
with tf.GradientTape() as tape:
  output = model(sparse_input)
  loss = tf.reduce_mean(loss_fn(target, output))
grads = tape.gradient(loss, model.weights)
opt.apply_gradients(zip(grads, model.weights))

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.experimental.LinearModel。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。