Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import torch
- y = torch.tensor(data[4 * sr : 4 * sr + 1000])
- x = torch.linspace(0.0, 1.0, steps=len(y))
- w = torch.rand(100, requires_grad=True)
- phi = torch.rand(100, requires_grad=True)
- for t in range(200):
- y_pred = sum(w[i] * torch.sin((x + phi[i]) * i) for i in range(len(w)))
- loss = torch.mean((y_pred - y) ** 2)
- loss.backward()
- w.data = w.data - 0.05 * w.grad.data
- phi.data = phi.data - 0.05 * phi.grad.data
- w.grad.data.zero_()
- phi.grad.data.zero_()
- if t % 10 == 0:
- plt.plot(y_pred.data.numpy())
- plt.plot(y.numpy())
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement