tensorflow实现单变量线性回归模型
时间: 2023-10-09 11:11:32 浏览: 98
下面是使用tensorflow实现单变量线性回归模型的代码示例:
```python
import tensorflow as tf
import numpy as np
# 定义训练数据
x_train = np.array([1, 2, 3, 4, 5, 6])
y_train = np.array([3, 5, 7, 9, 11, 13])
# 定义模型参数
W = tf.Variable(0.0)
b = tf.Variable(0.0)
# 定义损失函数和优化器
learning_rate = 0.01
optimizer = tf.optimizers.SGD(learning_rate)
def loss_fn(y_true, y_pred):
return tf.reduce_mean(tf.square(y_true - y_pred))
# 定义训练过程
def train_step(x, y):
with tf.GradientTape() as tape:
y_pred = W * x + b
loss = loss_fn(y, y_pred)
gradients = tape.gradient(loss, [W, b])
optimizer.apply_gradients(zip(gradients, [W, b]))
# 进行训练
epochs = 1000
for epoch in range(epochs):
for x, y in zip(x_train, y_train):
train_step(x, y)
# 输出最终结果
print("W = ", W.numpy())
print("b = ", b.numpy())
```
在上述代码中,定义了训练数据 `x_train` 和 `y_train`,模型参数 `W` 和 `b`,损失函数 `loss_fn` 和优化器 `optimizer`。
在训练过程中,使用 `GradientTape` 记录损失函数对模型参数的梯度,并通过优化器更新模型参数。
最后输出训练得到的模型参数 `W` 和 `b`。
阅读全文