def test_MomentumSDG(self): x = np.random.rand(100, 1) y = np.sin(2 * np.pi * x) + np.random.rand(100, 1) hidden_size = 10 model = MLP((hidden_size, 1)) optimizer = optimizers.MomentumSGD(lr) optimizer.setup(model) for i in range(max_iters): y_pred = model(x) loss = F.mean_squared_error(y, y_pred) model.cleargrads() loss.backward() optimizer.update() assert True
from dezero.models import MLP import dezero # np.random.seed(0) # x = np.random.rand(100, 1) # y = np.sin(2*np.pi*x)+np.random.rand(100, 1) lr = 1.0 batch_size = 100 max_epoch = 5 hidden_size = 1000 train_set = dezero.datasets.MNIST(train=True) train_loader = DataLoader(train_set, batch_size) model = MLP((hidden_size, 10)) optimizer = optimizers.MomentumSGD(lr) optimizer.setup(model) if dezero.cuda.gpu_enable: train_loader.to_gpu() model.to_gpu() for epoch in range(max_epoch): start = time.time() sum_loss = 0 for x, t in train_loader: y = model(x) loss = F.softmax_cross_entropy(y, t) model.cleargrads()
import numpy as np from dezero import Variable, optimizers, layers as L, functions as F from dezero.models import MLP np.random.seed(0) x = np.random.randn(100, 1) y = np.sin(2 * np.pi * x) + np.random.rand(100, 1) lr = 0.2 max_iter = 10000 hidden_size = 10 model = MLP((hidden_size, 1)) # optimizer = optimizers.SGD(lr).setup(model) optimizer = optimizers.MomentumSGD(lr).setup(model) for i in range(max_iter): y_pred = model(x) loss = F.mean_squared_error(y, y_pred) model.cleargrads() loss.backward() optimizer.update() if i % 1000 == 0: print("loss", loss)