static void Main(string[] args) { var xt = new Maml<TemplateData>(t => html => html.Set( div => div.Set( new { attribute_name = "value", stuff = "cool", number = 2 }, p => p.Set(string.Format("Item 1 = {0}", t.TheString)), p => p.Set(new { data = "some stuff" }, "Item \" 2"), ul => ul.Set(Enumerable.Range(1, t.TheNumber).Select( i => (Action<Maml<TemplateData>>) (li => li.Set(string.Format("list item {0}", i)))) ) ), div => div.Set((CData)"this is some cdata"), script => script.Set(new { src = "http://www.test.com/test.js", type = "text/javascript" }) ) ); Console.WriteLine( xt.ToString( new TemplateData { TheNumber = 5, TheString = "Hello" }, true ) ); Console.WriteLine(); Console.WriteLine( xt.ToString( new TemplateData { TheNumber = 2, TheString = "BLAH BLAH" } ) ); Console.ReadLine(); }
public void Test_Ranking_MSLRWeb10K_RawNumericFeatures_FastTreeRanking() { // This benchmark is profiling bulk scoring speed and not training speed. string cmd = @"Test data=" + _mslrWeb10k_Test + " in=" + _modelPath_MSLR; using (var environment = EnvironmentFactory.CreateRankingEnvironment <RankerEvaluator, TextLoader, HashTransformer, FastTreeRankingTrainer>()) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void Test_Multiclass_WikiDetox_BigramsAndTrichar_OVAAveragedPerceptron() { // This benchmark is profiling bulk scoring speed and not training speed. string modelpath = Path.Combine(Directory.GetCurrentDirectory(), @"WikiModel.fold000.zip"); string cmd = @"Test data=" + _dataPath_Wiki + " in=" + modelpath; var environment = EnvironmentFactory.CreateClassificationEnvironment <TextLoader, OneHotEncodingTransformer, AveragedPerceptronTrainer>(); Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); }
public void Test_Ranking_MSLRWeb10K_RawNumericFeatures_FastTreeRanking() { // This benchmark is profiling bulk scoring speed and not training speed. string cmd = @"Test data=" + _mslrWeb10k_Test + " in=" + _modelPath_MSLR; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void SetupScoringSpeedTests() { SetupTrainingSpeedTests(); _modelPath_Wiki = Path.Combine(Directory.GetCurrentDirectory(), @"WikiModel.zip"); string cmd = @"CV k=5 data=" + _dataPath_Wiki + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+} xf=Convert{col=logged_in type=R4} xf=CategoricalTransform{col=ns} xf=TextTransform{col=FeaturesText:comment wordExtractor=NGramExtractorTransform{ngram=2}} xf=Concat{col=Features:FeaturesText,logged_in,ns} tr=OVA{p=AveragedPerceptron{iter=10}} out={" + _modelPath_Wiki + "}"; using (var tlc = new TlcEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(tlc, cmd, alwaysPrintStacktrace: false); } }
public void Test_Multiclass_WikiDetox_BigramsAndTrichar_OVAAveragedPerceptron() { // This benchmark is profiling bulk scoring speed and not training speed. string modelpath = Path.Combine(Directory.GetCurrentDirectory(), @"WikiModel.fold000.zip"); string cmd = @"Test data=" + _dataPath_Wiki + " in=" + modelpath; using (var tlc = new TlcEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(tlc, cmd, alwaysPrintStacktrace: false); } }
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline void TestCommandLine() { if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { return; } var env = new MLContext(); var x = Maml.Main(new[] { @"showschema loader=Text{col=data_0:R4:0-150527} xf=Onnx{InputColumns={data_0} OutputColumns={softmaxout_1} model={squeezenet/00000001/model.onnx}}" }); Assert.Equal(0, x); }
public void TestCSGeneratorHelp() { var cmd = "? CSGenerator"; using (var std = new Scikit.ML.DocHelperMlExt.StdCapture()) { Maml.MainAll(cmd); if (std.StdOut.Length == 0) { Assert.Inconclusive("Not accurate on a remote machine."); } } }
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline void TestCommandLine() { if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { return; } using (var env = new ConsoleEnvironment()) { var x = Maml.Main(new[] { @"showschema loader=Text{col=data_0:R4:0-150527} xf=Onnx{InputColumn=data_0 OutputColumn=softmaxout_1 model={squeezenet/00000001/model.onnx}}" }); Assert.Equal(0, x); } }
public void TrainTest_Ranking_MSLRWeb10K_RawNumericFeatures_FastTreeRanking() { string cmd = @"TrainTest test=" + _mslrWeb10k_Validate + " eval=RankingEvaluator{t=10}" + " data=" + _mslrWeb10k_Train + " loader=TextLoader{col=Label:R4:0 col=GroupId:TX:1 col=Features:R4:2-138}" + " xf=HashTransform{col=GroupId} xf=NAHandleTransform{col=Features}" + " tr=FastTreeRanking{}"; var environment = EnvironmentFactory.CreateRankingEnvironment <RankerEvaluator, TextLoader, HashingTransformer, FastTreeRankingTrainer>(); Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); }
public void CV_Multiclass_WikiDetox_BigramsAndTrichar_LightGBMMulticlass() { string cmd = @"CV k=5 data=" + _dataPath_Wiki + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+}" + " xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment wordExtractor=NGramExtractorTransform{ngram=2}}" + " xf=Concat{col=Features:FeaturesText,logged_in,ns}" + " tr=LightGBMMulticlass{iter=10}"; var environment = EnvironmentFactory.CreateClassificationEnvironment <TextLoader, OneHotEncodingTransformer, LightGbmMulticlassTrainer>(); Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); }
public void CV_Multiclass_WikiDetox_BigramsAndTrichar_LightGBMMulticlass() { string cmd = @"CV k=5 data=" + _dataPath_Wiki + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+}" + " xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment wordExtractor=NGramExtractorTransform{ngram=2}}" + " xf=Concat{col=Features:FeaturesText,logged_in,ns} tr=LightGBMMulticlass{}"; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void TrainTest_Ranking_MSLRWeb10K_RawNumericFeatures_FastTreeRanking() { string cmd = @"TrainTest test=" + _mslrWeb10k_Validate + " eval=RankingEvaluator{t=10}" + " data=" + _mslrWeb10k_Train + " loader=TextLoader{col=Label:R4:0 col=GroupId:TX:1 col=Features:R4:2-138}" + " xf=HashTransform{col=GroupId} xf=NAHandleTransform{col=Features}" + " tr=FastTreeRanking{}"; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void CV_Multiclass_WikiDetox_WordEmbeddings_SDCAMC() { string cmd = @"CV k=5 data=" + _dataPath_Wiki + " tr=SDCAMC" + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+}" + " xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment tokens=+ wordExtractor={} charExtractor={}}" + " xf=WordEmbeddingsTransform{col=FeaturesWordEmbedding:FeaturesText_TransformedText model=FastTextWikipedia300D}" + " xf=Concat{col=Features:FeaturesWordEmbedding,logged_in,ns}"; var environment = EnvironmentFactory.CreateClassificationEnvironment <TextLoader, OneHotEncodingTransformer, SdcaMultiClassTrainer>(); Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); }
public void CV_Multiclass_WikiDetox_WordEmbeddings_SDCAMC() { string cmd = @"CV k=5 data=" + _dataPath_Wiki + " tr=SDCAMC" + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+}" + " xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment tokens=+ wordExtractor={} charExtractor={}}" + " xf=WordEmbeddingsTransform{col=FeaturesWordEmbedding:FeaturesText_TransformedText model=FastTextWikipedia300D}" + " xf=Concat{col=Features:FeaturesWordEmbedding,logged_in,ns}"; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void CV_Multiclass_WikiDetox_WordEmbeddings_OVAAveragedPerceptron() { string cmd = @"CV k=5 data=" + _dataPath_Wiki + " tr=OVA{p=AveragedPerceptron{iter=10}}" + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+}" + " xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment tokens=+ wordExtractor=NGramExtractorTransform{ngram=2}}" + " xf=WordEmbeddingsTransform{col=FeaturesWordEmbedding:FeaturesText_TransformedText model=FastTextWikipedia300D}" + " xf=Concat{col=Features:FeaturesText,FeaturesWordEmbedding,logged_in,ns}"; using (var environment = EnvironmentFactory.CreateClassificationEnvironment <TextLoader, CategoricalTransform, AveragedPerceptronTrainer>()) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void TestCSGenerator() { var methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; var basePath = FileHelper.GetOutputFile("CSharpApiExt.cs", methodName); var cmd = $"? generator=cs{{csFilename={basePath} exclude=System.CodeDom.dll}}"; using (var std = new StdCapture()) { Maml.Main(new[] { cmd }); Assert.IsTrue(std.StdOut.Length > 0); Assert.IsTrue(std.StdErr.Length == 0); Assert.IsFalse(std.StdOut.ToLower().Contains("usage")); } var text = File.ReadAllText(basePath); // TODO: this tests fails because when ML.net is used // as a nuget, buget binaries and custom binaries // are not in the same folder. The command looks into // its folder and fetches every DLL to look into exposed // learner and transforms. XGBoostWrapper is in another folder and does not // appear it. //Assert.IsTrue(text.ToLower().Contains("xgb")); }
public void SetupScoringSpeedTests() { _dataPath_Wiki = Path.GetFullPath(TestDatasets.WikiDetox.trainFilename); if (!File.Exists(_dataPath_Wiki)) { throw new FileNotFoundException(string.Format(Errors.DatasetNotFound, _dataPath_Wiki)); } _modelPath_Wiki = Path.Combine(Directory.GetCurrentDirectory(), @"WikiModel.zip"); string cmd = @"CV k=5 data=" + _dataPath_Wiki + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+} xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment wordExtractor=NGramExtractorTransform{ngram=2}}" + " xf=Concat{col=Features:FeaturesText,logged_in,ns}" + " tr=OVA{p=AveragedPerceptron{iter=10}}" + " out={" + _modelPath_Wiki + "}"; var environment = EnvironmentFactory.CreateClassificationEnvironment <TextLoader, OneHotEncodingTransformer, AveragedPerceptronTrainer>(); Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); }
public void SetupScoringSpeedTests() { _mslrWeb10k_Test = Path.GetFullPath(TestDatasets.MSLRWeb.testFilename); _mslrWeb10k_Validate = Path.GetFullPath(TestDatasets.MSLRWeb.validFilename); _mslrWeb10k_Train = Path.GetFullPath(TestDatasets.MSLRWeb.trainFilename); if (!File.Exists(_mslrWeb10k_Test)) { throw new FileNotFoundException(string.Format(Errors.DatasetNotFound, _mslrWeb10k_Test)); } if (!File.Exists(_mslrWeb10k_Validate)) { throw new FileNotFoundException(string.Format(Errors.DatasetNotFound, _mslrWeb10k_Validate)); } if (!File.Exists(_mslrWeb10k_Train)) { throw new FileNotFoundException(string.Format(Errors.DatasetNotFound, _mslrWeb10k_Train)); } _modelPath_MSLR = Path.Combine(Directory.GetCurrentDirectory(), @"FastTreeRankingModel.zip"); string cmd = @"TrainTest test=" + _mslrWeb10k_Validate + " eval=RankingEvaluator{t=10}" + " data=" + _mslrWeb10k_Train + " loader=TextLoader{col=Label:R4:0 col=GroupId:TX:1 col=Features:R4:2-138}" + " xf=HashTransform{col=GroupId}" + " xf=NAHandleTransform{col=Features}" + " tr=FastTreeRanking{}" + " out={" + _modelPath_MSLR + "}"; using (var environment = EnvironmentFactory.CreateRankingEnvironment <RankerEvaluator, TextLoader, HashTransformer, FastTreeRankingTrainer>()) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void SetupScoringSpeedTests() { _mslrWeb10k_Test = Path.GetFullPath(TestDatasets.MSLRWeb.testFilename); _mslrWeb10k_Validate = Path.GetFullPath(TestDatasets.MSLRWeb.validFilename); _mslrWeb10k_Train = Path.GetFullPath(TestDatasets.MSLRWeb.trainFilename); if (!File.Exists(_mslrWeb10k_Test)) { throw new FileNotFoundException(string.Format(Helpers.DatasetNotFound, _mslrWeb10k_Test)); } if (!File.Exists(_mslrWeb10k_Validate)) { throw new FileNotFoundException(string.Format(Helpers.DatasetNotFound, _mslrWeb10k_Validate)); } if (!File.Exists(_mslrWeb10k_Train)) { throw new FileNotFoundException(string.Format(Helpers.DatasetNotFound, _mslrWeb10k_Train)); } _modelPath_MSLR = Path.Combine(Directory.GetCurrentDirectory(), @"FastTreeRankingModel.zip"); string cmd = @"TrainTest test=" + _mslrWeb10k_Validate + " eval=RankingEvaluator{t=10}" + " data=" + _mslrWeb10k_Train + " loader=TextLoader{col=Label:R4:0 col=GroupId:TX:1 col=Features:R4:2-138}" + " xf=HashTransform{col=GroupId}" + " xf=NAHandleTransform{col=Features}" + " tr=FastTreeRanking{}" + " out={" + _modelPath_MSLR + "}"; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void SetupScoringSpeedTests() { _dataPath_Wiki = Path.GetFullPath(TestDatasets.WikiDetox.trainFilename); if (!File.Exists(_dataPath_Wiki)) { throw new FileNotFoundException(string.Format(Helpers.DatasetNotFound, _dataPath_Wiki)); } _modelPath_Wiki = Path.Combine(Directory.GetCurrentDirectory(), @"WikiModel.zip"); string cmd = @"CV k=5 data=" + _dataPath_Wiki + " loader=TextLoader{quote=- sparse=- col=Label:R4:0 col=rev_id:TX:1 col=comment:TX:2 col=logged_in:BL:4 col=ns:TX:5 col=sample:TX:6 col=split:TX:7 col=year:R4:3 header=+} xf=Convert{col=logged_in type=R4}" + " xf=CategoricalTransform{col=ns}" + " xf=TextTransform{col=FeaturesText:comment wordExtractor=NGramExtractorTransform{ngram=2}}" + " xf=Concat{col=Features:FeaturesText,logged_in,ns}" + " tr=OVA{p=AveragedPerceptron{iter=10}}" + " out={" + _modelPath_Wiki + "}"; using (var environment = new ConsoleEnvironment(verbose: false, sensitivity: MessageSensitivity.None, outWriter: EmptyWriter.Instance)) { Maml.MainCore(environment, cmd, alwaysPrintStacktrace: false); } }
public void TestCommandLine() { Assert.Equal(0, Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0-100} xf=Rff{col=B:A dim=4 useSin+ kernel=LaplacianRandom} in=f:\2.txt" })); }
public void TestLdaCommandLine() { Assert.Equal(Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0-10} xf=lda{col=B:A} in=f:\2.txt" }), (int)0); }
void TestCommandLine() { var x = Maml.Main(new[] { @"showschema loader=Text{col=data_0:R4:0-150527} xf=Onnx{InputColumns={data_0} OutputColumns={softmaxout_1} model={squeezenet/00000001/model.onnx}}" }); Assert.Equal(0, x); }
public void TestGcnNormCommandLine() { Assert.Equal(Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0-10} xf=GcnTransform{col=B:A} in=f:\2.txt" }), (int)0); }
public void TestCommandLine() { Assert.Equal(0, Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0} xf=Term{col=B:A} xf=KeyToBinary{col=C:B} in=f:\2.txt" })); }
public void TestCommandLine() { Assert.Equal(0, Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0} xf=Term{col=B:A} xf=KeyToVector{col=C:B col={name=D source=B bag+}} in=f:\2.txt" })); }
public void TestCommandLine() { Assert.Equal(Maml.Main(new[] { @"showschema loader=Text{col=A:TX:0} xf=Convert{col=B:A type=R4} in=f:\2.txt" }), (int)0); }
public void TestCommandLine() { Assert.Equal(Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0} xf=NAReplace{col=C:A} in=f:\2.txt" }), (int)0); }
public void TestCommandLine() { Assert.Equal(0, Maml.Main(new[] { @"showschema loader=Text{col=A:R4:0} xf=Cat{col=B:A} in=f:\2.txt" })); }
/// <summary> /// Invoke MAML with specified arguments without output baseline. /// This method is used in unit tests when the output is not baselined. /// If the output is to be baselined and compared, the other overload should be used. /// </summary> protected int MainForTest(string args) { return(Maml.MainCore(ML, args, false)); }