public void TestOptimizer() { IFunction network = new ModuleList( N.Linear(2, 10), N.ReLU(), N.Linear(10, 1) ); // Optimizer sgd = new SGD(network, 0.01); Optimizer sgd = new MomentumSGD(network); Random rand = new Random(); // Tensor[] data = this._TestData(1000); for (int i = 0; i < 100; i++) { Tensor[] data = this._TestData(100); // Tensor X = network.Forward( // data[0] // ); Tensor X = network.Forward( data[0] ); Tensor loss = F.MSELoss(X, data[1]); // Console.WriteLine($"{i}step:{loss.Data[0]}"); Console.WriteLine($"{loss.Data[0]}"); loss.Backward(); sgd.Update(); } }