import sys
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x_data = [1.0, 2.0, 3.0]
y_data = [2.0, 4.0, 6.0]
w = 1.0
def forward(x):
return x * w
def loss(x, y):
y_pred = forward(x)
return (y_pred - y) ** 2
def gradient(x, y):
return 2 * x * (x * w - y)
print('Predict (before training), 4, forward(x))
for epoch in range(100):
for x, y in zip(x_data, y_data):
grad = gradient(x, y)
w -= 0.01 * grad
print('\tgrad:' , x, y, grad)
l = loss(x, y)
print("progress:", epoch, "w=", w, "loss=", l)
print('Predict (after taining)', 4, forward(4))
PyTorch深度学习实践》第三节课堂代码二
最新推荐文章于 2024-09-06 22:58:09 发布
该代码示例展示了如何用Python进行简单的线性回归训练。通过导入numpy和matplotlib库,定义权重、输入数据x_data和目标数据y_data。然后,定义了前向传播函数forward、损失函数loss和梯度计算函数gradient。在训练过程中,使用梯度下降法更新权重w,并打印每个迭代步的梯度、权重和损失。最后,训练完成后预测新的输入值4的输出。
摘要由CSDN通过智能技术生成