We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
using SiaNet; using SiaNet.Common; using SiaNet.Model; using SiaNet.Model.Layers; using SiaNet.Model.Optimizers;
GlobalParameters.Device = CNTK.DeviceDescriptor.CPUDevice;
Logging.OnWriteLog += Logging_OnWriteLog;
Sequential model = new Sequential();
model.OnEpochEnd += Model_OnEpochEnd; model.OnTrainingEnd += Model_OnTrainingEnd;
DataFrame frame = new DataFrame(); Downloader.DownloadSample(SampleDataset.HousingRegression); var samplePath = Downloader.GetSamplePath(SampleDataset.HousingRegression); frame.LoadFromCsv(samplePath.Train); var xy = frame.SplitXY(14, new[] { 1, 13 }); traintest = xy.SplitTrainTest(0.25);
model = new Sequential(); model.Add(new Dense(13, 12, OptActivations.ReLU)); model.Add(new Dense(13, OptActivations.ReLU)); model.Add(new Dense(1));
model.Compile(OptOptimizers.Adam, OptLosses.MeanSquaredError, OptMetrics.MAE, Regulizers.RegL2(0.01)); model.Train(traintest.Train, 500, 32, traintest.Test);
private static void Model_OnTrainingEnd(Dictionary<string, List<double>> trainingResult) { var mean = trainingResult[OptMetrics.MAE].Mean(); var std = trainingResult[OptMetrics.MAE].Std(); Console.WriteLine("Training completed. Mean: {0}, Std: {1}", mean, std); }
private static void Model_OnEpochEnd(int epoch, uint samplesSeen, double loss, Dictionary<string, double> metrics) { Console.WriteLine(string.Format("Epoch: {0}, Loss: {1}, Accuracy: {2}", epoch, loss, metrics["val_mae"])); }