Skip to content

More internalization of non-public Microsoft.ML.Data #2453

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 7, 2019
3 changes: 2 additions & 1 deletion src/Microsoft.ML.Data/Commands/ScoreCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ internal interface IDataScorerTransform : IDataTransform, ITransformTemplate
[BestFriend]
internal delegate void SignatureDataScorer(IDataView data, ISchemaBoundMapper mapper, RoleMappedSchema trainSchema);

public delegate void SignatureBindableMapper(IPredictor predictor);
[BestFriend]
internal delegate void SignatureBindableMapper(IPredictor predictor);

internal sealed class ScoreCommand : DataCommand.ImplBase<ScoreCommand.Arguments>
{
Expand Down
4 changes: 2 additions & 2 deletions src/Microsoft.ML.Data/DataLoadSave/Binary/CompressionKind.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ namespace Microsoft.ML.Data.IO
/// A code indicating the kind of compression. It is supposed that each kind of compression is totally
/// sufficient to describe how a given stream should be decompressed.
/// </summary>
public enum CompressionKind : byte
internal enum CompressionKind : byte
{
None = 0, // No compression at all.
Deflate = 1, // DEFLATE algorithm as in zlib's headerless/tailless compression.
Default = Deflate
}

public static class CompressionCodecExtension
internal static class CompressionCodecExtension
{
/// <summary>
/// Generate an appropriate wrapping compressing stream for the codec. This
Expand Down
2 changes: 1 addition & 1 deletion src/Microsoft.ML.Data/DataLoadSave/Binary/Header.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
namespace Microsoft.ML.Data.IO
{
[StructLayout(LayoutKind.Explicit, Size = HeaderSize)]
public struct Header
internal struct Header
{
/// <summary>
/// The fixed header size. This should not be changed even in future versions of the format.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace Microsoft.ML.Numeric
// parameters, parameter order, etc.
using Float = System.Single;

public static partial class VectorUtils
internal static partial class VectorUtils
{
/// <summary>
/// Returns the L2 norm squared of the vector (sum of squares of the components).
Expand Down
3 changes: 2 additions & 1 deletion src/Microsoft.ML.Data/Depricated/Vector/VectorUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ namespace Microsoft.ML.Numeric
/// as a constant, it might have the name <c>a</c> or <c>b</c> or <c>src</c>, but in a situation
/// where the vector structure might be changed the parameter might have the name <c>dst</c>.
/// </summary>
public static partial class VectorUtils
[BestFriend]
internal static partial class VectorUtils
{
public static Float DotProduct(Float[] a, Float[] b)
{
Expand Down
6 changes: 4 additions & 2 deletions src/Microsoft.ML.Data/Evaluators/AnomalyDetectionEvaluator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@

namespace Microsoft.ML.Data
{
public sealed class AnomalyDetectionEvaluator : EvaluatorBase<AnomalyDetectionEvaluator.Aggregator>
[BestFriend]
internal sealed class AnomalyDetectionEvaluator : EvaluatorBase<AnomalyDetectionEvaluator.Aggregator>
{
public sealed class Arguments
{
Expand Down Expand Up @@ -577,7 +578,8 @@ public void Finish()
}
}

public sealed class AnomalyDetectionMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class AnomalyDetectionMamlEvaluator : MamlEvaluatorBase
{
public sealed class Arguments : ArgumentsBase
{
Expand Down
2 changes: 1 addition & 1 deletion src/Microsoft.ML.Data/Evaluators/AucAggregator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace Microsoft.ML.Data
{
public abstract partial class EvaluatorBase<TAgg>
internal abstract partial class EvaluatorBase<TAgg>
{
internal abstract class AucAggregatorBase
{
Expand Down
8 changes: 5 additions & 3 deletions src/Microsoft.ML.Data/Evaluators/BinaryClassifierEvaluator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@

namespace Microsoft.ML.Data
{
public sealed class BinaryClassifierEvaluator : RowToRowEvaluatorBase<BinaryClassifierEvaluator.Aggregator>
[BestFriend]
internal sealed class BinaryClassifierEvaluator : RowToRowEvaluatorBase<BinaryClassifierEvaluator.Aggregator>
{
public sealed class Arguments
{
Expand Down Expand Up @@ -866,7 +867,7 @@ public BinaryClassificationMetrics Evaluate(IDataView data, string label, string
}
}

public sealed class BinaryPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class BinaryPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "BinaryPerInstance";
private static VersionInfo GetVersionInfo()
Expand Down Expand Up @@ -1116,7 +1117,8 @@ private void CheckInputColumnTypes(Schema schema)
}
}

public sealed class BinaryClassifierMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class BinaryClassifierMamlEvaluator : MamlEvaluatorBase
{
public class Arguments : ArgumentsBase
{
Expand Down
8 changes: 5 additions & 3 deletions src/Microsoft.ML.Data/Evaluators/ClusteringEvaluator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ namespace Microsoft.ML.Data
{
using Conditional = System.Diagnostics.ConditionalAttribute;

public sealed class ClusteringEvaluator : RowToRowEvaluatorBase<ClusteringEvaluator.Aggregator>
[BestFriend]
internal sealed class ClusteringEvaluator : RowToRowEvaluatorBase<ClusteringEvaluator.Aggregator>
{
public sealed class Arguments
{
Expand Down Expand Up @@ -561,7 +562,7 @@ private void AssertValid(bool assertGetters)
}
}

public sealed class ClusteringPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class ClusteringPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "ClusteringPerInstance";
private static VersionInfo GetVersionInfo()
Expand Down Expand Up @@ -758,7 +759,8 @@ private void CheckInputColumnTypes(Schema schema)
}
}

public sealed class ClusteringMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class ClusteringMamlEvaluator : MamlEvaluatorBase
{
public class Arguments : ArgumentsBase
{
Expand Down
9 changes: 6 additions & 3 deletions src/Microsoft.ML.Data/Evaluators/EvaluatorBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ namespace Microsoft.ML.Data
/// <see cref="GetPerInstanceMetricsCore"/>. Note that the input <see cref="RoleMappedData"/> is assumed to contain all the column
/// roles needed for evaluation, including the score column.
/// </summary>
public abstract partial class EvaluatorBase<TAgg> : IEvaluator
[BestFriend]
internal abstract partial class EvaluatorBase<TAgg> : IEvaluator
where TAgg : EvaluatorBase<TAgg>.AggregatorBase
{
protected readonly IHost Host;
Expand Down Expand Up @@ -446,7 +447,8 @@ public override IEnumerable<TAgg> GetAll()
}
}

public abstract class RowToRowEvaluatorBase<TAgg> : EvaluatorBase<TAgg>
[BestFriend]
internal abstract class RowToRowEvaluatorBase<TAgg> : EvaluatorBase<TAgg>
where TAgg : EvaluatorBase<TAgg>.AggregatorBase
{
[BestFriend]
Expand All @@ -468,7 +470,8 @@ internal override IDataTransform GetPerInstanceMetricsCore(RoleMappedData data)
/// <summary>
/// This is a helper class for creating the per-instance IDV.
/// </summary>
public abstract class PerInstanceEvaluatorBase : IRowMapper
[BestFriend]
internal abstract class PerInstanceEvaluatorBase : IRowMapper
{
protected readonly IHost Host;
protected readonly string ScoreCol;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@

namespace Microsoft.ML.Data
{
public sealed class MultiClassClassifierEvaluator : RowToRowEvaluatorBase<MultiClassClassifierEvaluator.Aggregator>
[BestFriend]
internal sealed class MultiClassClassifierEvaluator : RowToRowEvaluatorBase<MultiClassClassifierEvaluator.Aggregator>
{
public sealed class Arguments
{
Expand Down Expand Up @@ -534,7 +535,7 @@ public MultiClassClassifierMetrics Evaluate(IDataView data, string label, string

}

public sealed class MultiClassPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class MultiClassPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "MulticlassPerInstance";
private static VersionInfo GetVersionInfo()
Expand Down Expand Up @@ -822,7 +823,8 @@ private void CheckInputColumnTypes(Schema schema)
}
}

public sealed class MultiClassMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class MultiClassMamlEvaluator : MamlEvaluatorBase
{
public class Arguments : ArgumentsBase
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@

namespace Microsoft.ML.Data
{
public sealed class MultiOutputRegressionEvaluator : RegressionLossEvaluatorBase<MultiOutputRegressionEvaluator.Aggregator>
[BestFriend]
internal sealed class MultiOutputRegressionEvaluator : RegressionLossEvaluatorBase<MultiOutputRegressionEvaluator.Aggregator>
{
public sealed class Arguments : ArgumentsBase
{
Expand Down Expand Up @@ -370,7 +371,7 @@ public void GetSlotNames(ref VBuffer<ReadOnlyMemory<char>> slotNames)
}
}

public sealed class MultiOutputRegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class MultiOutputRegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "MultiRegPerInstance";

Expand Down Expand Up @@ -609,7 +610,8 @@ private ValueGetter<VBuffer<ReadOnlyMemory<char>>> CreateSlotNamesGetter(Schema
}
}

public sealed class MultiOutputRegressionMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class MultiOutputRegressionMamlEvaluator : MamlEvaluatorBase
{
public sealed class Arguments : ArgumentsBase
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

namespace Microsoft.ML.Data
{
public sealed class QuantileRegressionEvaluator :
[BestFriend]
internal sealed class QuantileRegressionEvaluator :
RegressionEvaluatorBase<QuantileRegressionEvaluator.Aggregator, VBuffer<Float>, VBuffer<Double>>
{
public sealed class Arguments : ArgumentsBase
Expand Down Expand Up @@ -257,7 +258,7 @@ public override void AddColumn(ArrayDataViewBuilder dvBldr, string metricName, p
}
}

public sealed class QuantileRegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class QuantileRegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "QuantileRegPerInstance";
private static VersionInfo GetVersionInfo()
Expand Down Expand Up @@ -457,7 +458,8 @@ private void CheckInputColumnTypes(Schema schema)
}
}

public sealed class QuantileRegressionMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class QuantileRegressionMamlEvaluator : MamlEvaluatorBase
{
public sealed class Arguments : ArgumentsBase
{
Expand Down
6 changes: 4 additions & 2 deletions src/Microsoft.ML.Data/Evaluators/RankerEvaluator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@

namespace Microsoft.ML.Data
{
public sealed class RankerEvaluator : EvaluatorBase<RankerEvaluator.Aggregator>
[BestFriend]
internal sealed class RankerEvaluator : EvaluatorBase<RankerEvaluator.Aggregator>
{
public sealed class Arguments
{
Expand Down Expand Up @@ -836,7 +837,8 @@ public RowCursorState(int truncationLevel)
}
}

public sealed class RankerMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class RankerMamlEvaluator : MamlEvaluatorBase
{
public sealed class Arguments : ArgumentsBase
{
Expand Down
8 changes: 5 additions & 3 deletions src/Microsoft.ML.Data/Evaluators/RegressionEvaluator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@

namespace Microsoft.ML.Data
{
public sealed class RegressionEvaluator :
[BestFriend]
internal sealed class RegressionEvaluator :
RegressionEvaluatorBase<RegressionEvaluator.Aggregator, Float, Double>
{
public sealed class Arguments : ArgumentsBase
Expand Down Expand Up @@ -189,7 +190,7 @@ public RegressionMetrics Evaluate(IDataView data, string label, string score)
}
}

public sealed class RegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
internal sealed class RegressionPerInstanceEvaluator : PerInstanceEvaluatorBase
{
public const string LoaderSignature = "RegressionPerInstance";
private static VersionInfo GetVersionInfo()
Expand Down Expand Up @@ -327,7 +328,8 @@ private void CheckInputColumnTypes(Schema schema)
}
}

public sealed class RegressionMamlEvaluator : MamlEvaluatorBase
[BestFriend]
internal sealed class RegressionMamlEvaluator : MamlEvaluatorBase
{
public sealed class Arguments : ArgumentsBase
{
Expand Down
6 changes: 4 additions & 2 deletions src/Microsoft.ML.Data/Evaluators/RegressionEvaluatorBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@

namespace Microsoft.ML.Data
{
public abstract class RegressionLossEvaluatorBase<TAgg> : RowToRowEvaluatorBase<TAgg>
[BestFriend]
internal abstract class RegressionLossEvaluatorBase<TAgg> : RowToRowEvaluatorBase<TAgg>
where TAgg : EvaluatorBase<TAgg>.AggregatorBase
{
public abstract class ArgumentsBase
Expand All @@ -35,7 +36,8 @@ protected RegressionLossEvaluatorBase(ArgumentsBase args, IHostEnvironment env,
}
}

public abstract class RegressionEvaluatorBase<TAgg, TScore, TMetrics> : RegressionLossEvaluatorBase<TAgg>
[BestFriend]
internal abstract class RegressionEvaluatorBase<TAgg, TScore, TMetrics> : RegressionLossEvaluatorBase<TAgg>
where TAgg : RegressionEvaluatorBase<TAgg, TScore, TMetrics>.RegressionAggregatorBase
{
[BestFriend]
Expand Down
3 changes: 2 additions & 1 deletion src/Microsoft.ML.Data/Scorers/BinaryClassifierScorer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@

namespace Microsoft.ML.Data
{
public sealed class BinaryClassifierScorer : PredictedLabelScorerBase, ITransformCanSaveOnnx
[BestFriend]
internal sealed class BinaryClassifierScorer : PredictedLabelScorerBase, ITransformCanSaveOnnx
{
public sealed class Arguments : ThresholdArgumentsBase
{
Expand Down
2 changes: 1 addition & 1 deletion src/Microsoft.ML.Data/Scorers/ClusteringScorer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

namespace Microsoft.ML.Data
{
public sealed class ClusteringScorer : PredictedLabelScorerBase
internal sealed class ClusteringScorer : PredictedLabelScorerBase
{
public sealed class Arguments : ScorerArgumentsBase
{
Expand Down
3 changes: 2 additions & 1 deletion src/Microsoft.ML.Data/Scorers/GenericScorer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ namespace Microsoft.ML.Data
/// score set id metadata.
/// </summary>

public sealed class GenericScorer : RowToRowScorerBase, ITransformCanSavePfa, ITransformCanSaveOnnx
[BestFriend]
internal sealed class GenericScorer : RowToRowScorerBase, ITransformCanSavePfa, ITransformCanSaveOnnx
{
public const string LoadName = "GenericScorer";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

namespace Microsoft.ML.Data
{
public sealed class MultiClassClassifierScorer : PredictedLabelScorerBase
internal sealed class MultiClassClassifierScorer : PredictedLabelScorerBase
{
// REVIEW: consider outputting probabilities when multi-class classifiers distinguish
// between scores and probabilities (using IDistributionPredictor)
Expand Down
2 changes: 1 addition & 1 deletion src/Microsoft.ML.Data/Scorers/PredictedLabelScorerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace Microsoft.ML.Data
/// Class for scorers that compute on additional "PredictedLabel" column from the score column.
/// Currently, this scorer is used for binary classification, multi-class classification, and clustering.
/// </summary>
public abstract class PredictedLabelScorerBase : RowToRowScorerBase, ITransformCanSavePfa, ITransformCanSaveOnnx
internal abstract class PredictedLabelScorerBase : RowToRowScorerBase, ITransformCanSavePfa, ITransformCanSaveOnnx
{
public abstract class ThresholdArgumentsBase : ScorerArgumentsBase
{
Expand Down
Loading