diff --git a/src/Microsoft.ML.Core/ComponentModel/ComponentCatalog.cs b/src/Microsoft.ML.Core/ComponentModel/ComponentCatalog.cs index 25b7b9d3a7..04c20b9c31 100644 --- a/src/Microsoft.ML.Core/ComponentModel/ComponentCatalog.cs +++ b/src/Microsoft.ML.Core/ComponentModel/ComponentCatalog.cs @@ -336,29 +336,29 @@ private static bool ShouldSkipPath(string path) string name = Path.GetFileName(path).ToLowerInvariant(); switch (name) { - case "cqo.dll": - case "fasttreenative.dll": - case "libiomp5md.dll": - case "libvw.dll": - case "matrixinterf.dll": - case "Microsoft.ML.neuralnetworks.gpucuda.dll": - case "MklImports.dll": - case "microsoft.research.controls.decisiontrees.dll": - case "Microsoft.ML.neuralnetworks.sse.dll": - case "neuraltreeevaluator.dll": - case "optimizationbuilderdotnet.dll": - case "parallelcommunicator.dll": - case "Microsoft.ML.Runtime.RunTests.dll": - case "scopecompiler.dll": - case "tbb.dll": - case "Internallearnscope.dll": - case "unmanagedlib.dll": - case "vcclient.dll": - case "libxgboost.dll": - case "zedgraph.dll": - case "__scopecodegen__.dll": - case "cosmosClientApi.dll": - return true; + case "cqo.dll": + case "fasttreenative.dll": + case "libiomp5md.dll": + case "libvw.dll": + case "matrixinterf.dll": + case "Microsoft.ML.neuralnetworks.gpucuda.dll": + case "MklImports.dll": + case "microsoft.research.controls.decisiontrees.dll": + case "Microsoft.ML.neuralnetworks.sse.dll": + case "neuraltreeevaluator.dll": + case "optimizationbuilderdotnet.dll": + case "parallelcommunicator.dll": + case "Microsoft.ML.Runtime.RunTests.dll": + case "scopecompiler.dll": + case "tbb.dll": + case "Internallearnscope.dll": + case "unmanagedlib.dll": + case "vcclient.dll": + case "libxgboost.dll": + case "zedgraph.dll": + case "__scopecodegen__.dll": + case "cosmosClientApi.dll": + return true; } foreach (var s in FilePrefixesToAvoid) @@ -567,14 +567,14 @@ private static MethodInfo FindInstanceGetter(Type instType, Type loaderType) private static MethodInfo FindCreateMethod(Type instType, Type loaderType, Type[] parmTypes) { - var meth = loaderType.GetMethod("Create", parmTypes ?? Type.EmptyTypes); + var meth = loaderType.GetMethod("Create", BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy, null, parmTypes ?? Type.EmptyTypes, null); if (meth == null) return null; if (meth.DeclaringType != loaderType) return null; if (meth.ReturnType != instType) return null; - if (!meth.IsPublic || !meth.IsStatic) + if (!meth.IsStatic) return null; return meth; } diff --git a/src/Microsoft.ML.Data/Transforms/CopyColumnsTransform.cs b/src/Microsoft.ML.Data/Transforms/CopyColumnsTransform.cs index 63debdc710..478d509c24 100644 --- a/src/Microsoft.ML.Data/Transforms/CopyColumnsTransform.cs +++ b/src/Microsoft.ML.Data/Transforms/CopyColumnsTransform.cs @@ -129,7 +129,8 @@ public sealed class Arguments : TransformInputBase public Column[] Column; } - public static IDataView Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + // Factory method for SignatureLoadDataTransform. + private static IDataView Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(ctx, nameof(ctx)); @@ -139,7 +140,8 @@ public static IDataView Create(IHostEnvironment env, ModelLoadContext ctx, IData return transformer.Transform(input); } - public static CopyColumnsTransform Create(IHostEnvironment env, ModelLoadContext ctx) + // Factory method for SignatureLoadModel. + private static CopyColumnsTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(ctx, nameof(ctx)); @@ -225,7 +227,8 @@ private static VersionInfo GetVersionInfo() loaderSignature: LoaderSignature); } - public static CopyColumnsRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema schema) + // Factory method for SignatureLoadRowMapper. + private static CopyColumnsRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema schema) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(ctx, nameof(ctx)); diff --git a/src/Microsoft.ML.Data/Transforms/KeyToValueTransform.cs b/src/Microsoft.ML.Data/Transforms/KeyToValueTransform.cs index fd51d650fb..de8463a804 100644 --- a/src/Microsoft.ML.Data/Transforms/KeyToValueTransform.cs +++ b/src/Microsoft.ML.Data/Transforms/KeyToValueTransform.cs @@ -112,7 +112,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV /// /// Factory method for SignatureLoadModel. /// - public static KeyToValueTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static KeyToValueTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(nameof(KeyToValueTransform)); @@ -129,13 +129,13 @@ private KeyToValueTransform(IHost host, ModelLoadContext ctx) /// /// Factory method for SignatureLoadDataTransform. /// - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); /// /// Factory method for SignatureLoadRowMapper. /// - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); public override void Save(ModelSaveContext ctx) diff --git a/src/Microsoft.ML.Data/Transforms/KeyToVectorTransform.cs b/src/Microsoft.ML.Data/Transforms/KeyToVectorTransform.cs index efa519e05e..70afe195b0 100644 --- a/src/Microsoft.ML.Data/Transforms/KeyToVectorTransform.cs +++ b/src/Microsoft.ML.Data/Transforms/KeyToVectorTransform.cs @@ -163,7 +163,7 @@ public override void Save(ModelSaveContext ctx) } // Factory method for SignatureLoadModel. - public static KeyToVectorTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static KeyToVectorTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -204,7 +204,7 @@ public static IDataTransform Create(IHostEnvironment env, IDataView input, param new KeyToVectorTransform(env, columns).MakeDataTransform(input); // Factory method for SignatureDataTransform. - public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataView input) + private static IDataTransform Create(IHostEnvironment env, Arguments args, IDataView input) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(args, nameof(args)); @@ -227,11 +227,11 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); protected override IRowMapper MakeRowMapper(ISchema schema) => new Mapper(this, schema); diff --git a/src/Microsoft.ML.Data/Transforms/Normalizer.cs b/src/Microsoft.ML.Data/Transforms/Normalizer.cs index b757d2e7f8..8f7c25166b 100644 --- a/src/Microsoft.ML.Data/Transforms/Normalizer.cs +++ b/src/Microsoft.ML.Data/Transforms/Normalizer.cs @@ -405,7 +405,7 @@ public static NormalizerTransformer Create(IHostEnvironment env, ModelLoadContex } // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); public override void Save(ModelSaveContext ctx) diff --git a/src/Microsoft.ML.Data/Transforms/TermTransform.cs b/src/Microsoft.ML.Data/Transforms/TermTransform.cs index 348c3b6e5a..eac79f41bf 100644 --- a/src/Microsoft.ML.Data/Transforms/TermTransform.cs +++ b/src/Microsoft.ML.Data/Transforms/TermTransform.cs @@ -330,7 +330,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV } // Factory method for SignatureLoadModel. - public static TermTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static TermTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -385,11 +385,11 @@ private TermTransform(IHost host, ModelLoadContext ctx) } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); /// diff --git a/src/Microsoft.ML.ImageAnalytics/ImageGrayscaleTransform.cs b/src/Microsoft.ML.ImageAnalytics/ImageGrayscaleTransform.cs index 0f944c517d..5744fe384d 100644 --- a/src/Microsoft.ML.ImageAnalytics/ImageGrayscaleTransform.cs +++ b/src/Microsoft.ML.ImageAnalytics/ImageGrayscaleTransform.cs @@ -98,7 +98,8 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV .MakeDataTransform(input); } - public static ImageGrayscaleTransform Create(IHostEnvironment env, ModelLoadContext ctx) + // Factory method for SignatureLoadModel. + private static ImageGrayscaleTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -113,11 +114,11 @@ private ImageGrayscaleTransform(IHost host, ModelLoadContext ctx) } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); public override void Save(ModelSaveContext ctx) diff --git a/src/Microsoft.ML.ImageAnalytics/ImageLoaderTransform.cs b/src/Microsoft.ML.ImageAnalytics/ImageLoaderTransform.cs index fc5965c7a5..b012d59d34 100644 --- a/src/Microsoft.ML.ImageAnalytics/ImageLoaderTransform.cs +++ b/src/Microsoft.ML.ImageAnalytics/ImageLoaderTransform.cs @@ -84,7 +84,8 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV .MakeDataTransform(data); } - public static ImageLoaderTransform Create(IHostEnvironment env, ModelLoadContext ctx) + // Factory method for SignatureLoadModel. + private static ImageLoaderTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(ctx, nameof(ctx)); @@ -104,11 +105,11 @@ private ImageLoaderTransform(IHost host, ModelLoadContext ctx) } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); protected override void CheckInputColumn(ISchema inputSchema, int col, int srcCol) diff --git a/src/Microsoft.ML.ImageAnalytics/ImagePixelExtractorTransform.cs b/src/Microsoft.ML.ImageAnalytics/ImagePixelExtractorTransform.cs index fd340c2e46..1e563fbc2c 100644 --- a/src/Microsoft.ML.ImageAnalytics/ImagePixelExtractorTransform.cs +++ b/src/Microsoft.ML.ImageAnalytics/ImagePixelExtractorTransform.cs @@ -344,7 +344,8 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV return new RowToRowMapperTransform(env, input, transformer.MakeRowMapper(input.Schema)); } - public static ImagePixelExtractorTransform Create(IHostEnvironment env, ModelLoadContext ctx) + // Factory method for SignatureLoadModel. + private static ImagePixelExtractorTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -369,11 +370,11 @@ private ImagePixelExtractorTransform(IHost host, ModelLoadContext ctx) } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); public override void Save(ModelSaveContext ctx) diff --git a/src/Microsoft.ML.ImageAnalytics/ImageResizerTransform.cs b/src/Microsoft.ML.ImageAnalytics/ImageResizerTransform.cs index feb79140f8..1755430cf3 100644 --- a/src/Microsoft.ML.ImageAnalytics/ImageResizerTransform.cs +++ b/src/Microsoft.ML.ImageAnalytics/ImageResizerTransform.cs @@ -206,7 +206,8 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV return new ImageResizerTransform(env, cols).MakeDataTransform(input); } - public static ImageResizerTransform Create(IHostEnvironment env, ModelLoadContext ctx) + // Factory method for SignatureLoadModel. + private static ImageResizerTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -245,11 +246,11 @@ private ImageResizerTransform(IHost host, ModelLoadContext ctx) } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); public override void Save(ModelSaveContext ctx) @@ -295,7 +296,7 @@ private sealed class Mapper : MapperBase private readonly ImageResizerTransform _parent; public Mapper(ImageResizerTransform parent, ISchema inputSchema) - :base(parent.Host.Register(nameof(Mapper)), parent, inputSchema) + : base(parent.Host.Register(nameof(Mapper)), parent, inputSchema) { _parent = parent; } diff --git a/src/Microsoft.ML.TensorFlow/TensorflowTransform.cs b/src/Microsoft.ML.TensorFlow/TensorflowTransform.cs index b3522254f9..578a9d5778 100644 --- a/src/Microsoft.ML.TensorFlow/TensorflowTransform.cs +++ b/src/Microsoft.ML.TensorFlow/TensorflowTransform.cs @@ -106,7 +106,7 @@ public static IDataTransform Create(IHostEnvironment env, IDataView input, strin } // Factory method for SignatureLoadModel. - public static TensorFlowTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static TensorFlowTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(ctx, nameof(ctx)); @@ -142,7 +142,7 @@ public static TensorFlowTransform Create(IHostEnvironment env, ModelLoadContext } // Factory method for SignatureDataTransform. - public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataView input) + private static IDataTransform Create(IHostEnvironment env, Arguments args, IDataView input) { Contracts.CheckValue(env, nameof(env)); env.CheckValue(args, nameof(args)); @@ -153,11 +153,11 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); private TFSession LoadTFSession(byte[] modelBytes) diff --git a/src/Microsoft.ML.Transforms/KeyToBinaryVectorTransform.cs b/src/Microsoft.ML.Transforms/KeyToBinaryVectorTransform.cs index 52a49b1563..ab33f5761f 100644 --- a/src/Microsoft.ML.Transforms/KeyToBinaryVectorTransform.cs +++ b/src/Microsoft.ML.Transforms/KeyToBinaryVectorTransform.cs @@ -107,7 +107,7 @@ public override void Save(ModelSaveContext ctx) } // Factory method for SignatureLoadModel. - public static KeyToBinaryVectorTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static KeyToBinaryVectorTransform Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(RegistrationName); @@ -150,11 +150,11 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV } // Factory method for SignatureLoadDataTransform. - public static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) => Create(env, ctx).MakeDataTransform(input); // Factory method for SignatureLoadRowMapper. - public static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) + private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(inputSchema); protected override IRowMapper MakeRowMapper(ISchema schema) => new Mapper(this, schema);