import torch
x_data=[1.0,2.0,3.0]
y_data=[2.0,4.0,6.0]
w=1.0
def forward(x):
return w*x;
def cost(xs,ys):
cost=0
for x,y in zip(xs,ys):
cost+=(w*x-y)**2
return cost/len(xs)
def gradient(xs,ys):
grad=0
for x,y in zip(xs,ys):
grad+=2*x*(w*x-y)
return grad/len(xs)
for epoch in range(100):
cost_val=cost(x_data,y_data)
grad_val=gradient(x_data,y_data)
w-=0.01*grad_val
print('EPOCH',epoch,'w:',w,'cost',cost_val)