Skip to content

Commit 87f0c4b

Browse files
committed
WIP Propose Sweeps
1 parent 9cf7460 commit 87f0c4b

File tree

4 files changed

+61
-1
lines changed

4 files changed

+61
-1
lines changed

Microsoft.ML.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Maml", "src\Mi
106106
EndProject
107107
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Console", "src\Microsoft.ML.Console\Microsoft.ML.Console.csproj", "{362A98CF-FBF7-4EBB-A11B-990BBF845B15}"
108108
EndProject
109+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Sweeper.Tests", "test\Microsoft.ML.Sweeper.Tests\Microsoft.ML.Sweeper.Tests.csproj", "{3DEB504D-7A07-48CE-91A2-8047461CB3D4}"
110+
EndProject
109111
Global
110112
GlobalSection(SolutionConfigurationPlatforms) = preSolution
111113
Debug|Any CPU = Debug|Any CPU
@@ -208,6 +210,10 @@ Global
208210
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.Build.0 = Debug|Any CPU
209211
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.ActiveCfg = Release|Any CPU
210212
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.Build.0 = Release|Any CPU
213+
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
214+
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
215+
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
216+
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.Build.0 = Release|Any CPU
211217
EndGlobalSection
212218
GlobalSection(SolutionProperties) = preSolution
213219
HideSolutionNode = FALSE
@@ -243,6 +249,7 @@ Global
243249
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
244250
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
245251
{362A98CF-FBF7-4EBB-A11B-990BBF845B15} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
252+
{3DEB504D-7A07-48CE-91A2-8047461CB3D4} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
246253
EndGlobalSection
247254
GlobalSection(ExtensibilityGlobals) = postSolution
248255
SolutionGuid = {41165AF1-35BB-4832-A189-73060F82B01D}

src/Microsoft.ML.Sweeper/Algorithms/Grid.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ protected SweeperBase(ArgumentsBase args, IHostEnvironment env, IValueGenerator[
6464
SweepParameters = sweepParameters;
6565
}
6666

67-
public virtual ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable<IRunResult> previousRuns)
67+
public virtual ParameterSet[] ProposeSweeps(int maxSweeps, IEnumerable<IRunResult> previousRuns = null)
6868
{
6969
var prevParamSets = previousRuns?.Select(r => r.ParameterSet).ToList() ?? new List<ParameterSet>();
7070
var result = new List<ParameterSet>();
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netcoreapp2.0</TargetFramework>
5+
6+
<IsPackable>false</IsPackable>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
11+
<PackageReference Include="xunit" Version="2.3.1" />
12+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
13+
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
14+
</ItemGroup>
15+
16+
<ItemGroup>
17+
<ProjectReference Include="..\..\src\Microsoft.ML.Sweeper\Microsoft.ML.Sweeper.csproj" />
18+
<ProjectReference Include="..\Microsoft.ML.TestFramework\Microsoft.ML.TestFramework.csproj" />
19+
</ItemGroup>
20+
21+
</Project>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using Microsoft.ML.Runtime;
2+
using Microsoft.ML.Runtime.CommandLine;
3+
using Microsoft.ML.Runtime.Data;
4+
using Microsoft.ML.Runtime.RunTests;
5+
using Microsoft.ML.Runtime.Sweeper;
6+
using System;
7+
using System.IO;
8+
using Xunit;
9+
10+
namespace Microsoft.ML.Sweeper.Tests
11+
{
12+
public class SweeperTest
13+
{
14+
[Fact]
15+
public void SweeperReturnsDistinctValues()
16+
{
17+
var args = new DiscreteParamArguments();
18+
args.Name = "Amazing";
19+
args.Values = new string[] { "one" };
20+
var valueGenerator = new DiscreteValueGenerator(args);
21+
using (var writer = new StreamWriter(new MemoryStream()))
22+
using (var env = new TlcEnvironment(42, outWriter: writer, errWriter: writer))
23+
{
24+
var sweeper = new UniformRandomSweeper(env, new SweeperBase.ArgumentsBase(), new[] { valueGenerator });
25+
var results = sweeper.ProposeSweeps(2);
26+
Assert.NotNull(results);
27+
int length = results.Length;
28+
Assert.Equal(1, length);
29+
}
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)