Skip to content

Commit 29371f4

Browse files
author
Rogan Carr
committed
Addressing PR comments.
1 parent c963a34 commit 29371f4

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

test/Microsoft.ML.Functional.Tests/Common.cs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,27 @@ public static void AssertMetricsStatistics(RegressionMetricsStatistics metrics)
269269
}
270270

271271
/// <summary>
272-
/// Verify that a numerical array has no NaNs or infinities.
272+
/// Verify that a float array has no NaNs or infinities.
273273
/// </summary>
274274
/// <param name="array">An array of doubles.</param>
275-
public static void AssertFiniteNumbers(double[] array, int ignoreElementAt = -1)
275+
public static void AssertFiniteNumbers(IList<float> array, int ignoreElementAt = -1)
276276
{
277-
for (int i = 0; i < array.Length; i++)
277+
for (int i = 0; i < array.Count; i++)
278+
{
279+
if (i == ignoreElementAt)
280+
continue;
281+
Assert.False(float.IsNaN(array[i]));
282+
Assert.True(float.IsFinite(array[i]));
283+
}
284+
}
285+
286+
/// <summary>
287+
/// Verify that a double array has no NaNs or infinities.
288+
/// </summary>
289+
/// <param name="array">An array of doubles.</param>
290+
public static void AssertFiniteNumbers(IList<double> array, int ignoreElementAt = -1)
291+
{
292+
for (int i = 0; i < array.Count; i++)
278293
{
279294
if (i == ignoreElementAt)
280295
continue;

test/Microsoft.ML.Functional.Tests/IntrospectiveTraining.cs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44

55
using System;
66
using System.Collections.Generic;
7+
using System.Collections.Immutable;
78
using System.Linq;
8-
using Microsoft.ML.Calibrators;
9+
//using System.Linq;
910
using Microsoft.ML.Data;
1011
using Microsoft.ML.Functional.Tests.Datasets;
1112
using Microsoft.ML.RunTests;
@@ -20,7 +21,7 @@ namespace Microsoft.ML.Functional.Tests
2021
{
2122
public class IntrospectiveTraining : BaseTestClass
2223
{
23-
public IntrospectiveTraining(ITestOutputHelper output): base(output)
24+
public IntrospectiveTraining(ITestOutputHelper output) : base(output)
2425
{
2526
}
2627

@@ -259,10 +260,26 @@ void IntrospectNormalization()
259260
var model = pipeline.Fit(data);
260261

261262
// Extract the normalizer from the trained pipeline.
262-
// TODO #2854: Extract the normalizer parameters.
263263
var normalizer = model.LastTransformer;
264-
}
265264

265+
// Extract the normalizer parameters.
266+
// TODO #2854: Normalizer parameters are easy to find via intellisense.
267+
int i = 0;
268+
bool found = false;
269+
foreach (var column in normalizer.Columns)
270+
{
271+
if (column.Name == "Features")
272+
{
273+
found = true;
274+
var featuresNormalizer = normalizer.Columns[i].ModelParameters as NormalizingTransformer.AffineNormalizerModelParameters<ImmutableArray<float>>;
275+
Assert.NotNull(featuresNormalizer);
276+
Common.AssertFiniteNumbers(featuresNormalizer.Offset);
277+
Common.AssertFiniteNumbers(featuresNormalizer.Scale);
278+
}
279+
i++;
280+
}
281+
Assert.True(found);
282+
}
266283
/// <summary>
267284
/// Introspective Training: I can inspect a pipeline to determine which transformers were included.
268285
/// </summary>

0 commit comments

Comments
 (0)