pytorch实战--2Linear model

import numpy as np
import matplotlib.pyplot as plt

#data
x_data=[1.0, 2.0, 3.0]
y_data=[2.0, 4.0, 6.0]

#model
def forward(x):
    return x * w

#loss
def loss(x, y):
    return (y-forward(x))**2

w_list=[]
mse_list=[]
grad_list=[]
for w in np.arange(0.0, 4.0, 0.1):
    print('w={}'.format(w))
    l_sum=0
    for x,y in zip(x_data,y_data):
        y_pred=forward(x)
        loss_val=loss(x,y)
        l_sum+=loss_val
        print('\t',x,y,y_pred,loss_val)
    l_sum/=len(x_data)
    print('MSE={}'.format(l_sum))
    w_list.append(w)
    mse_list.append(l_sum)
w=0


plt.plot(w_list,mse_list)
plt.xlabel('w')
plt.ylabel('Loss')
plt.show()

版权声明:本文为weixin_43963453原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。