@@ -74,7 +74,8 @@ public void TestLearn()
7474 [ Fact ( Skip = "Need CoreTLC specific baseline update" ) ]
7575 public void TestTextDatasetLearn ( )
7676 {
77- using ( var env = new ConsoleEnvironment ( ) )
77+ using ( var env = new ConsoleEnvironment ( )
78+ . AddStandardComponents ( ) ) // AutoInference uses ComponentCatalog to find all learners
7879 {
7980 string pathData = GetDataPath ( @"../UnitTest/tweets_labeled_10k_test_validation.tsv" ) ;
8081 int batchSize = 5 ;
@@ -133,29 +134,43 @@ public void TestPipelineNodeCloning()
133134 }
134135 }
135136
136- /* [Fact]
137+ [ Fact ]
137138 public void TestHyperparameterFreezing ( )
138139 {
139140 string pathData = GetDataPath ( "adult.train" ) ;
140141 int numOfSampleRows = 1000 ;
141142 int batchSize = 1 ;
142143 int numIterations = 10 ;
143144 int numTransformLevels = 3 ;
144- using (var env = new ConsoleEnvironment())
145+ using ( var env = new ConsoleEnvironment ( )
146+ . AddStandardComponents ( ) ) // AutoInference uses ComponentCatalog to find all learners
145147 {
146148 SupportedMetric metric = PipelineSweeperSupportedMetrics . GetSupportedMetric ( PipelineSweeperSupportedMetrics . Metrics . Auc ) ;
147149
150+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 1" ) ;
151+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 1" ) ;
152+ Log ( "ERIC: " + FullTestName + " 1" ) ;
153+
148154 // Using the simple, uniform random sampling (with replacement) brain
149- PipelineOptimizerBase autoMlBrain = new UniformRandomEngine(Env );
155+ PipelineOptimizerBase autoMlBrain = new UniformRandomEngine ( env ) ;
150156
151157 // Run initial experiments
152- var amls = AutoInference.InferPipelines(Env , autoMlBrain, pathData, "", out var _, numTransformLevels, batchSize,
158+ var amls = AutoInference . InferPipelines ( env , autoMlBrain , pathData , "" , out var _ , numTransformLevels , batchSize ,
153159 metric , out var bestPipeline , numOfSampleRows , new IterationTerminator ( numIterations ) ,
154160 MacroUtils . TrainerKinds . SignatureBinaryClassifierTrainer ) ;
155161
162+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 2" ) ;
163+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 2" ) ;
164+ Log ( "ERIC: " + FullTestName + " 2" ) ;
165+
156166 // Clear results
157167 amls . ClearEvaluatedPipelines ( ) ;
158168
169+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + "3" ) ;
170+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 3" ) ;
171+ Log ( "ERIC: " + FullTestName + " 3" ) ;
172+
173+
159174 // Get space, remove transforms and all but one learner, freeze hyperparameters on learner.
160175 var space = amls . GetSearchSpace ( ) ;
161176 var transforms = space . Item1 . Where ( t =>
@@ -164,22 +179,40 @@ public void TestHyperparameterFreezing()
164179 var hyperParam = learners [ 0 ] . PipelineNode . SweepParams . First ( ) ;
165180 var frozenParamValue = hyperParam . RawValue ;
166181 hyperParam . Frozen = true ;
182+
183+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 4" ) ;
184+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 4" ) ;
185+ Log ( "ERIC: " + FullTestName + " 4" ) ;
186+
167187 amls . UpdateSearchSpace ( learners , transforms ) ;
168188
189+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 5" ) ;
190+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 5" ) ;
191+ Log ( "ERIC: " + FullTestName + " 5" ) ;
192+
193+
169194 // Allow for one more iteration
170195 amls . UpdateTerminator ( new IterationTerminator ( numIterations + 1 ) ) ;
171196
197+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 6" ) ;
198+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 6" ) ;
199+ Log ( "ERIC: " + FullTestName + " 6" ) ;
200+
172201 // Do learning. Only retained learner should be left in all pipelines.
173202 bestPipeline = amls . InferPipelines ( numTransformLevels , batchSize , numOfSampleRows ) ;
174203
204+ System . Diagnostics . Debug . WriteLine ( "ERIC: " + FullTestName + " 7" ) ;
205+ System . Console . WriteLine ( "ERIC: " + FullTestName + " 7" ) ;
206+ Log ( "ERIC: " + FullTestName + " 7" ) ;
207+
175208 // Make sure all pipelines have retained learner
176209 Assert . True ( amls . GetAllEvaluatedPipelines ( ) . All ( p => p . Learner . LearnerName == learners [ 0 ] . LearnerName ) ) ;
177210
178211 // Make sure hyperparameter value did not change
179212 Assert . NotNull ( bestPipeline ) ;
180213 Assert . Equal ( bestPipeline . Learner . PipelineNode . SweepParams . First ( ) . RawValue , frozenParamValue ) ;
181214 }
182- }*/
215+ }
183216
184217 [ Fact ( Skip = "Dataset not available." ) ]
185218 public void TestRegressionPipelineWithMinimizingMetric ( )
@@ -189,15 +222,16 @@ public void TestRegressionPipelineWithMinimizingMetric()
189222 int batchSize = 5 ;
190223 int numIterations = 10 ;
191224 int numTransformLevels = 1 ;
192- using ( var env = new ConsoleEnvironment ( ) )
225+ using ( var env = new ConsoleEnvironment ( )
226+ . AddStandardComponents ( ) ) // AutoInference uses ComponentCatalog to find all learners
193227 {
194228 SupportedMetric metric = PipelineSweeperSupportedMetrics . GetSupportedMetric ( PipelineSweeperSupportedMetrics . Metrics . AccuracyMicro ) ;
195229
196230 // Using the simple, uniform random sampling (with replacement) brain
197- PipelineOptimizerBase autoMlBrain = new UniformRandomEngine ( Env ) ;
231+ PipelineOptimizerBase autoMlBrain = new UniformRandomEngine ( env ) ;
198232
199233 // Run initial experiments
200- var amls = AutoInference . InferPipelines ( Env , autoMlBrain , pathData , "" , out var _ , numTransformLevels , batchSize ,
234+ var amls = AutoInference . InferPipelines ( env , autoMlBrain , pathData , "" , out var _ , numTransformLevels , batchSize ,
201235 metric , out var bestPipeline , numOfSampleRows , new IterationTerminator ( numIterations ) ,
202236 MacroUtils . TrainerKinds . SignatureRegressorTrainer ) ;
203237
@@ -223,15 +257,16 @@ public void TestLearnerConstrainingByName()
223257 int numIterations = 1 ;
224258 int numTransformLevels = 2 ;
225259 var retainedLearnerNames = new [ ] { $ "LogisticRegressionBinaryClassifier", $ "FastTreeBinaryClassifier" } ;
226- using ( var env = new ConsoleEnvironment ( ) )
260+ using ( var env = new ConsoleEnvironment ( )
261+ . AddStandardComponents ( ) ) // AutoInference uses ComponentCatalog to find all learners
227262 {
228263 SupportedMetric metric = PipelineSweeperSupportedMetrics . GetSupportedMetric ( PipelineSweeperSupportedMetrics . Metrics . Auc ) ;
229264
230265 // Using the simple, uniform random sampling (with replacement) brain.
231- PipelineOptimizerBase autoMlBrain = new UniformRandomEngine ( Env ) ;
266+ PipelineOptimizerBase autoMlBrain = new UniformRandomEngine ( env ) ;
232267
233268 // Run initial experiment.
234- var amls = AutoInference . InferPipelines ( Env , autoMlBrain , pathData , "" , out var _ ,
269+ var amls = AutoInference . InferPipelines ( env , autoMlBrain , pathData , "" , out var _ ,
235270 numTransformLevels , batchSize , metric , out var _ , numOfSampleRows ,
236271 new IterationTerminator ( numIterations ) , MacroUtils . TrainerKinds . SignatureBinaryClassifierTrainer ) ;
237272
0 commit comments