当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。